Configurações avançadas para blocos de notas do Jupyter e MSTICPy no Microsoft Sentinel

Este artigo descreve as configurações avançadas para trabalhar com blocos de notas do Jupyter e o MSTICPy no Microsoft Sentinel.

Para obter mais informações, veja Utilizar blocos de notas do Jupyter para investigar ameaças de segurança e Introdução aos blocos de notas do Jupyter e ao MSTICPy no Microsoft Sentinel.

Pré-requisitos

Este artigo é uma continuação de Introdução aos blocos de notas do Jupyter e ao MSTICPy no Microsoft Sentinel. Recomendamos que execute o tutorial antes de continuar com os procedimentos avançados descritos neste artigo.

Especificar parâmetros de autenticação para apIs de Azure e Microsoft Sentinel

Este procedimento descreve como configurar parâmetros de autenticação para Microsoft Sentinel e outros recursos da API Azure no ficheiro msticpyconfig.yaml.

Para adicionar Azure autenticação e Microsoft Sentinel definições da API no editor de definições do MSTICPy:

  1. Avance para a célula seguinte, com o seguinte código, e execute-o:

    mpedit.set_tab("Data Providers")
    mpedit
    
  2. No separador Fornecedores de Dados , selecione AzureCLI>Adicionar.

  3. Selecione os métodos de autenticação a utilizar:

    • Embora possa utilizar um conjunto diferente de métodos das predefinições, esta utilização não é uma configuração típica. Para obter mais informações, veja o bloco de notas Introdução Guide For Azure Sentinel ML Notebooks (Guia do Introdução para Azure Sentinel Blocos de Notas do ML).
    • A menos que pretenda utilizar a autenticação env (variável de ambiente), deixe os campos clientId, tenantId e clientSecret vazios.
    • Embora não seja recomendado, o MSTICPy também suporta a utilização de IDs e segredos da aplicação cliente para a sua autenticação. Nestes casos, defina os campos clientId, tenantId e clientSecret diretamente no separador Fornecedores de Dados .
  4. Selecione Guardar Ficheiro para guardar as alterações.

Definir fornecedores de consultas de carregamento automático

Defina os fornecedores de consultas que pretende que o MSTICPy carregue automaticamente quando executar a nbinit.init_notebook função.

Quando cria frequentemente novos blocos de notas, o carregamento automático de fornecedores de consultas pode poupar-lhe tempo ao garantir que os fornecedores necessários são carregados antes de outros componentes, como funções dinâmicas e blocos de notas.

Para adicionar fornecedores de consultas de carregamento automático:

  1. Avance para a célula seguinte, com o seguinte código, e execute-o:

    mpedit.set_tab("Autoload QueryProvs")
    mpedit
    
  2. No separador Autoload QueryProv :

    • Para Microsoft Sentinel fornecedores, especifique o nome do fornecedor e o nome da área de trabalho a que pretende ligar.
    • Para outros fornecedores de consultas, especifique apenas o nome do fornecedor.

    Cada fornecedor também tem os seguintes valores opcionais:

    • Ligação automática: Esta opção é definida como Verdadeiro por predefinição e o MSTICPy tenta autenticar-se no fornecedor imediatamente após o carregamento. O MSTICPy pressupõe que configurou credenciais para o fornecedor nas suas definições.

    • Alias: Quando o MSTICPy carrega um fornecedor, atribui o fornecedor a um nome de variável python. Por predefinição, o nome da variável é qryworkspace_name para fornecedores de Microsoft Sentinel e qryprovider_name para outros fornecedores.

      Por exemplo, se carregar um fornecedor de consultas para a área de trabalho ContosoSOC , este fornecedor de consultas é criado no seu ambiente de bloco de notas com o nome qry_ContosoSOC. Adicione um alias se quiser utilizar algo mais curto ou mais fácil de escrever e memorizar. O nome da variável do fornecedor é qry_<alias>, em <alias> que é substituído pelo nome do alias que forneceu.

      Os fornecedores carregados por este mecanismo também são adicionados ao atributo MSTICPy current_providers , que é utilizado, por exemplo, no seguinte código:

      import msticpy
      msticpy.current_providers
      
  3. Selecione Guardar Definições para guardar as alterações.

Definir componentes MSTICPy carregados automaticamente

Este procedimento descreve como definir outros componentes que são carregados automaticamente pelo MSTICPy quando executa a nbinit.init_notebook função.

Os componentes suportados incluem, pela seguinte ordem:

  1. TILookup: A biblioteca de fornecedores de TI que pretende utilizar
  2. GeoIP: O fornecedor GeoIP que pretende utilizar
  3. AzureData: O módulo que utiliza para consultar detalhes sobre Azure recursos
  4. AzureSentinelAPI: O módulo que utiliza para consultar a API de Microsoft Sentinel
  5. Notebooklets: Notebooklets do pacote msticnb
  6. Tabela dinâmica: Funções dinâmicas

Os componentes são carregados por esta ordem porque o componente Pivot precisa de consulta e outros fornecedores carregados para encontrar as funções dinâmicas que anexa às entidades. Para obter mais informações, veja a documentação do MSTICPy. Para obter mais informações, veja o bloco de notas Introdução Guide For Azure Sentinel ML Notebooks (Guia do Introdução para Azure Sentinel Blocos de Notas do ML).

Para definir componentes MSTICPy carregados automaticamente:

  1. Avance para a célula seguinte, com o seguinte código, e execute-o:

    mpedit.set_tab("Autoload Components")
    mpedit
    
  2. No separador Componentes de Carregamento Automático, defina os valores dos parâmetros conforme necessário. Por exemplo:

    • GeoIpLookup. Introduza o nome do fornecedor GeoIP que pretende utilizar, GeoLiteLookup ou IPStack.

    • Componentes AzureData e AzureSentinelAPI. Defina os seguintes valores:

      • auth_methods: Substitua as predefinições do AzureCLI e ligue-se com os métodos selecionados.
      • Ligação automática: Defina como falso para carregar sem ligar.

      Para obter mais informações, veja Especificar parâmetros de autenticação para apIs Azure e Microsoft Sentinel.

    • Notebooklets. O componente Notebooklets tem um único bloco de parâmetros: AzureSentinel.

      Especifique a área de trabalho Microsoft Sentinel com a seguinte sintaxe: workspace:\<workspace name>. O nome da área de trabalho tem de ser uma das áreas de trabalho definidas no separador Microsoft Sentinel.

      Se quiser adicionar mais parâmetros para enviar para a notebooklets init função, especifique-os como pares chave:valor, separados por novas linhas. Por exemplo:

      workspace:<workspace name>
      providers=["LocalData","geolitelookup"]
      

      Para obter mais informações, veja a documentação do MSTICNB (MSTIC Notebooklets).

    Alguns componentes, como o TILookup e o Pivot, não necessitam de parâmetros.

  3. Selecione Guardar Definições para guardar as alterações.

Alternar entre kernels python 3.6 e 3.8

Se estiver a alternar entre kernels python 3.65 e 3.8, poderá descobrir que o MSTICPy e outros pacotes não são instalados conforme esperado.

Isto pode acontecer quando o !pip install pkg comando é instalado corretamente no primeiro ambiente, mas depois não é instalado corretamente no segundo. Isto cria uma situação em que o segundo ambiente não pode importar ou utilizar o pacote.

Recomendamos que não utilize !pip install... para instalar pacotes no Azure blocos de notas do Machine Learning. Em vez disso, utilize uma das seguintes opções:

  • Utilize a magia da linha %pip num bloco de notas. Executar:

    
    %pip install --upgrade msticpy
    
  • Instalar a partir de um terminal:

    1. Abra um terminal no Azure blocos de notas do Machine Learning e execute os seguintes comandos:

      conda activate azureml_py38
      pip install --upgrade msticpy
      
    2. Feche o terminal e reinicie o kernel.

Definir uma variável de ambiente para o ficheiro msticpyconfig.yaml

Se estiver a executar no Azure Machine Learning e tiver o seu ficheiro msticpyconfig.yaml na raiz da sua pasta de utilizador, o MSTICPy localiza automaticamente estas definições. No entanto, se estiver a executar os blocos de notas noutro ambiente, siga as instruções nesta secção para definir uma variável de ambiente que aponte para a localização do ficheiro de configuração.

Definir o caminho para o ficheiro msticpyconfig.yaml numa variável de ambiente permite-lhe armazenar o ficheiro numa localização conhecida e certificar-se de que carrega sempre as mesmas definições.

Utilize vários ficheiros de configuração, com múltiplas variáveis de ambiente, se quiser utilizar definições diferentes para blocos de notas diferentes.

  1. Decida uma localização para o ficheiro msticpyconfig.yaml , como em ~/.msticpyconfig.yaml ou %userprofile%/msticpyconfig.yaml.

    Azure utilizadores de ML: se armazenar o ficheiro de configuração na pasta de utilizador do Azure Machine Learning, a função MSTICPy init_notebook (executada na célula de inicialização) localiza e utiliza automaticamente o ficheiro e não precisa de definir uma variável de ambiente MSTICPYCONFIG.

    No entanto, se também tiver segredos armazenados no ficheiro, recomendamos que armazene o ficheiro de configuração na unidade local de computação. O armazenamento interno de computação é acessível apenas à pessoa que criou a computação, enquanto o armazenamento partilhado é acessível a qualquer pessoa com acesso à sua área de trabalho Azure Machine Learning.

    Para obter mais informações, veja O que é uma instância de computação do Azure Machine Learning?.

  2. Se necessário, copie o ficheiro msticpyconfig.yaml para a localização selecionada.

  3. Defina a variável de ambiente MSTICPYCONFIG para apontar para essa localização.

Utilize um dos seguintes procedimentos para definir a variável de ambiente MSTICPYCONFIG .

Por exemplo, para definir a variável de ambiente MSTICPYCONFIG em sistemas Windows:

  1. Mova o ficheiro msticpyconfig.yaml para a instância de Computação, conforme necessário.

  2. Abra a caixa de diálogo Propriedades do Sistema no separador Avançadas .

  3. Selecione Variáveis de Ambiente... para abrir a caixa de diálogo Variáveis de Ambiente .

  4. Na área Variáveis do sistema , selecione Novo...e defina os valores da seguinte forma:

    • Nome da variável: Definir como MSTICPYCONFIG
    • Valor variável: introduza o caminho para o ficheiro msticpyconfig.yaml

Nota

Para as opções Linux e Windows, tem de reiniciar o servidor Jupyter para que este recolha a variável de ambiente que definiu.

Passos seguintes

Para mais informações, consulte:

Assunto Mais referências
MSTICPy - Configuração do Pacote MSTICPy
- Editor de Definições do MSTICPy
- Configurar o Ambiente do Bloco de Notas.
- Bloco de notas MPSettingsEditor.

Nota: o repositório do GitHub Azure-Sentinel-Notebooks também contém um ficheiro msticpyconfig.yaml de modelo com secções comentadas, o que pode ajudá-lo a compreender as definições.
Microsoft Sentinel e blocos de notas do Jupyter - Criar o seu primeiro bloco de notas Microsoft Sentinel (série de blogues)
- Jupyter Notebooks: Uma Introdução
- Documentação do MSTICPy
- Documentação do Microsoft Sentinel Notebooks
- O Infosec Jupyterbook
- Instruções do Bloco de Notas do Explorador de Anfitriões do Linux
- Porquê utilizar o Jupyter para investigações de segurança
- Investigações de Segurança com Blocos de Notas Microsoft Sentinel &
- Documentação do Pandas
- Documentação do Bokeh