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

Este artigo descreve como configurar parâmetros de autenticação para APIs do Azure e Microsoft Sentinel, definir fornecedores de consultas automáticas e componentes MSTICPy, gerir versões do kernel Python e definir variáveis de ambiente para o seu ficheiro de configuração msticpyconfig.yaml ao trabalhar com notebooks Jupyter e MSTICPy em 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 aborda tarefas avançadas de configuração MSTICPy, incluindo definição de parâmetros de autenticação, definição de provedores e componentes de consulta autoload, troca de kernels Python e configuração de variáveis de ambiente para o seu ficheiro msticpyconfig.yaml. Antes de começar, complete os passos em Como começar com os notebooks Jupyter e MSTICPy no Microsoft Sentinel.

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

Configure parâmetros de autenticação para o Microsoft Sentinel e outros recursos da API do Azure no seu ficheiro msticpyconfig.yaml usando os seguintes passos.

Para adicionar a autenticação do Azure e as definições da API do Microsoft Sentinel 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, consulte o notebook Guia de Introdução aos Notebooks de ML do Azure Sentinel.
    • A menos que queiras usar autenticação por variáveis de ambiente (env), deixa 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 provedores de consulta com carregamento automático

Pode configurar o MSTICPy para carregar automaticamente fornecedores de consultas específicos quando executa 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 com 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 ambiente do seu notebook 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 que <alias> é substituído pelo nome alternativo que indicou.

      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

Pode definir componentes adicionais que o MSTICPy carrega automaticamente 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 de tabela dinâmica

Os componentes carregam na ordem indicada porque o componente Pivot precisa de consulta e outros fornecedores carregados para encontrar as funções pivot que associa às entidades. Para obter mais informações, veja a documentação do MSTICPy. Para obter mais informações, consulte o notebook Guia de Introdução aos Notebooks de ML do Azure Sentinel.

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 quaisquer valores de 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 definições predefinidas do AzureCLI e estabeleça ligação utilizando 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.

Este problema de instalação pode acontecer quando o !pip install pkg comando instala corretamente no primeiro ambiente, mas depois não instala corretamente no segundo. A falha na instalação no segundo ambiente significa que o ambiente não pode importar ou usar o pacote.

Recomendamos que não utilize !pip install... para instalar pacotes nos blocos de notas do Azure 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 nos blocos de notas do Azure 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 estiveres a correr os notebooks noutro ambiente, define uma variável de ambiente que aponte para a localização do teu ficheiro de configuração usando os seguintes passos.

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.

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

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

    Utilizadores do Azure ML: Se armazenar o seu ficheiro de configuração na sua 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 a 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.

Selecione um dos separadores seguintes para definir a variável do ambiente MSTICPYCONFIG no Windows, Linux ou Azure Machine Learning.

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, precisa de reiniciar o seu servidor Jupyter para que o servidor apanhe 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
- Infosec Jupyterbook
- Guia do notebook Linux Host Explorer
- Porquê utilizar o Jupyter para investigações de segurança
- Investigações de Segurança com o Microsoft Sentinel & Blocos de Notas
- Documentação do Pandas
- Documentação do Bokeh