Configurações avançadas para notebooks Jupyter e MSTICPy no Microsoft Sentinel
Este artigo descreve configurações avançadas para trabalhar com notebooks Jupyter e MSTICPy no Microsoft Sentinel.
Para obter mais informações, consulte Usar blocos de anotações Jupyter para caçar ameaças à segurança e Tutorial: Introdução aos blocos de anotações Jupyter e MSTICPy no Microsoft Sentinel.
Pré-requisitos
Este artigo é uma continuação do Tutorial: Introdução aos notebooks Jupyter e MSTICPy no Microsoft Sentinel. Recomendamos que você execute o tutorial antes de continuar com os procedimentos avançados descritos abaixo.
Especificar parâmetros de autenticação para APIs do Azure e do Microsoft Sentinel
Este procedimento descreve como configurar parâmetros de autenticação para o Microsoft Sentinel e outros recursos da API do Azure em seu arquivo msticpyconfig.yaml .
Para adicionar a autenticação do Azure e as configurações da API do Microsoft Sentinel no editor de configurações do MSTICPy:
Prossiga para a próxima célula, com o seguinte código, e execute-a:
mpedit.set_tab("Data Providers") mpedit
Na guia Provedores de Dados, selecione Adicionar AzureCLI.>
Selecione os métodos de autenticação a serem usados:
- Embora você possa usar um conjunto diferente de métodos dos padrões do Azure, esse uso não é uma configuração típica.
- A menos que você queira usar a autenticação env (variável de ambiente), deixe os campos clientId, tenantiId e clientSecret vazios.
- Embora não seja recomendado, o MSTICPy também suporta o uso de IDs e segredos do aplicativo cliente para sua autenticação. Nesses casos, defina os campos clientId, tenantId e clientSecret diretamente na guia Provedores de Dados.
Selecione Salvar arquivo para salvar as alterações.
Definir provedores de consulta de carregamento automático
Defina todos os provedores de consulta que você deseja que o MSTICPy carregue automaticamente quando executar a nbinit.init_notebook
função.
Quando você cria novos blocos de anotações com frequência, os provedores de consulta de carregamento automático podem economizar tempo, garantindo que os provedores necessários sejam carregados antes de outros componentes, como funções de pivô e blocos de anotações.
Para adicionar provedores de consulta de carregamento automático:
Prossiga para a próxima célula, com o seguinte código, e execute-a:
mpedit.set_tab("Autoload QueryProvs") mpedit
Na guia Autoload QueryProv:
- Para provedores do Microsoft Sentinel, especifique o nome do provedor e o nome do espaço de trabalho ao qual você deseja se conectar.
- Para outros provedores de consulta, especifique apenas o nome do provedor.
Cada provedor também tem os seguintes valores opcionais:
Conexão automática: essa opção é definida como True por padrão, e o MSTICPy tenta autenticar no provedor imediatamente após o carregamento. MSTICPy pressupõe que você configurou credenciais para o provedor em suas configurações.
Alias: Quando o MSTICPy carrega um provedor, ele atribui o provedor a um nome de variável Python. Por padrão, o nome da variável é qryworkspace_name para provedores do Microsoft Sentinel e qryprovider_name para outros provedores.
Por exemplo, se você carregar um provedor de consulta para o espaço de trabalho ContosoSOC, esse provedor de consulta será criado em seu ambiente de bloco de anotações com o nome
qry_ContosoSOC
. Adicione um alias se quiser usar algo mais curto ou mais fácil de digitar e lembrar. O nome da variável do provedor seráqry_<alias>
, onde<alias>
é substituído pelo nome do alias fornecido.Os provedores carregados por esse mecanismo também são adicionados ao atributo MSTICPy
current_providers
, que é usado, por exemplo, no código a seguir:import msticpy msticpy.current_providers
Selecione Salvar configurações para salvar as alterações.
Definir componentes MSTICPy carregados automaticamente
Este procedimento descreve como definir outros componentes que são carregados automaticamente pelo MSTICPy quando você executa a nbinit.init_notebook
função.
Os componentes suportados incluem, na seguinte ordem:
- TILookup: A biblioteca do provedor de TI
- GeoIP: O provedor GeoIP que você deseja usar
- AzureData: o módulo que você usa para consultar detalhes sobre os recursos do Azure
- AzureSentinelAPI: O módulo que você usa para consultar a API do Microsoft Sentinel
- Notebooklets: Notebooklets do pacote msticnb
- Pivô: funções de pivô
Nota
Os componentes são carregados nessa ordem porque o componente Pivot precisa de consulta e outros provedores carregados para localizar as funções de pivô que ele anexa às entidades. Para obter mais informações, consulte a documentação do MSTICPy.
Para definir componentes MSTICPy carregados automaticamente:
Prossiga para a próxima célula, com o seguinte código, e execute-a:
mpedit.set_tab("Autoload Components") mpedit
Na guia Componentes de carregamento automático, defina quaisquer valores de parâmetro conforme necessário. Por exemplo:
GeoIpLookup. Introduza o nome do fornecedor GeoIP que pretende utilizar, GeoLiteLookup ou IPStack. Para obter mais informações, consulte Adicionar configurações do provedor GeoIP.
Componentes AzureData e AzureSentinelAPI. Defina os seguintes valores:
- auth_methods: Substitua as configurações padrão para AzureCLI e conecte-se usando os métodos selecionados.
- Conexão automática: defina como false para carregar sem conectar.
Para obter mais informações, consulte Especificar parâmetros de autenticação para APIs do Azure e do Microsoft Sentinel.
Cadernos. O componente Notebooklets tem um único bloco de parâmetro: AzureSentinel.
Especifique seu espaço de trabalho do Microsoft Sentinel usando a seguinte sintaxe:
workspace:\<workspace name>
. O nome do espaço de trabalho deve ser um dos espaços de trabalho definidos na guia Microsoft Sentinel .Se você quiser adicionar mais parâmetros para enviar à
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, consulte a documentação do MSTICNB (MSTIC Notebooklets).
Alguns componentes, como TILookup e Pivot, não requerem parâmetros.
Selecione Salvar configurações para salvar as alterações.
Alternar entre kernels Python 3.6 e 3.8
Se você estiver alternando entre kernels Python 3.65 e 3.8, você pode achar que o MSTICPy e outros pacotes não são instalados conforme o esperado.
Isso pode acontecer quando o !pip install pkg
comando será instalado corretamente no primeiro ambiente, mas depois não será instalado corretamente no segundo. Isso cria uma situação em que o segundo ambiente não pode importar ou usar o pacote.
Recomendamos que você não use !pip install...
para instalar pacotes em blocos de anotações do Azure ML. Em vez disso, use uma das seguintes opções:
Use a mágica da linha %pip dentro de um bloco de anotações. Executar:
%pip install --upgrade msticpy
Instale a partir de um terminal:
Abra um terminal nos blocos de anotações do Azure ML e execute os seguintes comandos:
conda activate azureml_py38 pip install --upgrade msticpy
Feche o terminal e reinicie o kernel.
Definir uma variável de ambiente para seu arquivo msticpyconfig.yaml
Se você estiver executando no Azure ML e tiver seu arquivo msticpyconfig.yaml na raiz da sua pasta de usuário, o MSTICPy encontrará automaticamente essas configurações. No entanto, se você estiver executando os blocos de anotações em outro ambiente, siga as instruções nesta seção para definir uma variável de ambiente que aponte para o local do arquivo de configuração.
Definir o caminho para o arquivo msticpyconfig.yaml em uma variável de ambiente permite que você armazene o arquivo em um local conhecido e certifique-se de carregar sempre as mesmas configurações.
Use vários arquivos de configuração, com várias variáveis de ambiente, se quiser usar configurações diferentes para blocos de anotações diferentes.
Decida um local para seu arquivo msticpyconfig.yaml, como em ~/.msticpyconfig.yaml ou %userprofile%/msticpyconfig.yaml.
Usuários do Azure ML: se você armazenar seu arquivo de configuração na pasta de usuário do Azure ML, a função MSTICPy
init_notebook
(executada na célula de inicialização) localizará e usará automaticamente o arquivo e não será necessário definir uma variável de ambiente MSTICPYCONFIG .No entanto, se você também tiver segredos armazenados no arquivo, recomendamos armazenar o arquivo de configuração na unidade local de computação. O armazenamento interno de computação é acessível apenas para a pessoa que criou a computação, enquanto o armazenamento compartilhado é acessível para qualquer pessoa com acesso ao seu espaço de trabalho do Azure ML.
Para obter mais informações, consulte O que é uma instância de computação do Azure Machine Learning?.
Se necessário, copie o arquivo msticpyconfig.yaml para o local selecionado.
Defina a variável de ambiente MSTICPYCONFIG para apontar para esse local.
Use um dos procedimentos a seguir para definir a variável de ambiente MSTICPYCONFIG .
Por exemplo, para definir a variável de ambiente MSTICPYCONFIG em sistemas Windows:
Mova o arquivo msticpyconfig.yaml para a instância Compute conforme necessário.
Abra a caixa de diálogo Propriedades do sistema na guia Avançado.
Selecione Variáveis de Ambiente... para abrir a caixa de diálogo Variáveis de Ambiente.
Na área Variáveis do sistema, selecione Novo..., e defina os valores da seguinte maneira:
- Nome da variável: Definir como
MSTICPYCONFIG
- Valor da variável: insira o caminho para o arquivo msticpyconfig.yaml
- Nome da variável: Definir como
Nota
Para as opções Linux e Windows, você precisará reiniciar o servidor Jupyter para que ele pegue a variável de ambiente que você definiu.
Próximos passos
Para obter mais informações, consulte:
Subject | Mais referências |
---|---|
MSTICPy | - Configuração do pacote MSTICPy - Editor de configurações MSTICPy - Configurar o ambiente do seu bloco de notas. - Caderno MPSettingsEditor. Nota: O repositório GitHub Azure-Sentinel-Notebooks também contém um arquivo msticpyconfig.yaml de modelo com seções comentadas, que podem ajudá-lo a entender as configurações. |
Notebooks Microsoft Sentinel e Jupyter | - Crie seu primeiro notebook Microsoft Sentinel (série de blogs) - Cadernos Jupyter: uma introdução - Documentação MSTICPy - Documentação do Microsoft Sentinel Notebooks - O Infosec Jupyterbook - Passo a passo do Linux Host Explorer Notebook - Por que usar o Jupyter para investigações de segurança - Investigações de segurança com o Microsoft Sentinel & Notebooks - Documentação Pandas - Documentação Bokeh |