Configurações avançadas para notebooks do Jupyter e MSTICPy no Microsoft Sentinel
Este artigo descreve as configurações avançadas para trabalhar com notebooks Jupyter e MSTICPy no Microsoft Sentinel.
Para obter mais informações, consulte Usar notebooks Jupyter para procurar ameaças de segurança e Tutorial: Introdução aos notebooks 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 de 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 código a seguir e execute-o:
mpedit.set_tab("Data Providers") mpedit
Na guia Provedores de dados, selecione AzureCLI>Adicionar.
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, tenantiIde clientSecret vazios.
- Embora não seja recomendado, o MSTICPy também dá suporte ao uso de IDs e segredos do aplicativo cliente para sua autenticação. Nesses casos, defina os campos clientId, tenantide clientSecret diretamente na guia Provedores de dados.
Selecione Salvar arquivo para salvar as alterações.
Definir provedores de consulta de carregamento automático
Defina os provedores de consulta que você deseja que MSTICPy carregue automaticamente ao executar a função nbinit.init_notebook
.
Quando você cria novos notebooks com frequência, os provedores de consulta de carregamento automático podem poupar tempo, garantindo que os provedores necessários sejam carregados antes de outros componentes, como funções dinâmicas e notebooklets.
Adicionar provedores de consulta de carregamento automático:
Prossiga para a próxima célula, com o código a seguir e execute-o:
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 somente 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 MSTICPy tenta se autenticar no provedor imediatamente após o carregamento. MSTICPy pressupõe que você configurou as 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 do 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 consultas para o espaço de trabalho ContosoSOC, esse provedor de consulta será criado no ambiente do seu notebook com o nome
qry_ContosoSOC
. Adicione um alias se desejar usar algo mais curto ou mais fácil de digitar e lembrar. O nome da variável do provedor seráqry_<alias>
, em que<alias>
é substituído pelo nome do alias que você forneceu.Os provedores que você carrega 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 de MSTICPy carregados automaticamente
Este procedimento descreve como definir outros componentes que são carregados automaticamente pelo MSTICPy quando você executa a função nbinit.init_notebook
.
Os componentes com suporte incluem, na seguinte ordem:
- TILookup: a biblioteca do provedor de TI
- GeoIP: o provedor de 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
- Tabela dinâmica: funções dinâmicas
Observação
Os componentes são carregados nessa ordem porque o componente dinâmico precisa de consulta e outros provedores carregados para localizar as funções dinâmicas que ele anexa às entidades. Para obter mais informações, veja a documentação de MSTICPy.
Definir componentes de MSTICPy carregados automaticamente:
Prossiga para a próxima célula, com o código a seguir e execute-o:
mpedit.set_tab("Autoload Components") mpedit
Na guia Carregar componentes automaticamente, defina quaisquer valores de parâmetro conforme necessário. Por exemplo:
GeoIpLookup. Insira o nome do provedor de GeoIP que você deseja usar, GeoLiteLookup ou IPStack. Para saber mais, vejaAdicionar configurações do provedor de 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 se conectar.
Para obter mais informações, consulte Especificar parâmetros de autenticação para APIs do Azure e do Microsoft Sentinel.
Notebooklets. 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 para a função
notebooklets init
, 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 Tabela dinâmica não exigem parâmetros.
Selecione Salvar configurações para salvar as alterações.
Alternar entre os kernels Python 3.6 e 3.8
Se você estiver alternando entre os kernels Python 3.65 e 3.8, talvez descubra que o MSTICPy e outros pacotes não são instalados conforme o esperado.
Isso pode acontecer quando o comando !pip install pkg
for instalado corretamente no primeiro ambiente, mas não for instalado corretamente no segundo. Isso cria uma situação em que o segundo ambiente não consegue importar ou usar o pacote.
Recomendamos que você não use !pip install...
para instalar pacotes nos notebooks do Azure ML. Em vez disso, você pode usar uma das seguintes opções:
Use a mágica da linha %pip em um notebook. Execute:
%pip install --upgrade msticpy
Instalar a partir de um terminal:
Abra um terminal nos notebooks do Azure ML e execute os seguintes comandos:
conda activate azureml_py38 pip install --upgrade msticpy
Feche o terminal e reinicie o kernel.
Defina uma variável de ambiente para o arquivo msticpyconfig.yaml
Se você estiver executando no Azure ML e tiver o arquivo msticpyconfig.yaml na raiz da sua pasta de usuário, o MSTICPy localizará 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 aponta 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 sempre carregar as mesmas configurações.
Use vários arquivos de configuração, com várias variáveis de ambiente, se você quiser usar configurações diferentes para diferentes notebooks.
Escolha um local para o arquivo msticpyconfig.yaml, como em ~/.msticpyconfig.yaml ou % userprofile%/msticpyconfig.yaml.
Usuários do Azure ML: se você armazenar o arquivo de configuração em sua pasta de usuário do Azure ML, a
init_notebook
função MSTICPy (executar na célula de inicialização) localizará e usará automaticamente o arquivo, e você não precisará definir uma variável de ambiente MSTICPYCONFIG.No entanto, se você também tiver segredos armazenados no arquivo, é recomendável armazenar o arquivo de configuração na unidade local de computação. O armazenamento interno de computação é acessível somente para a pessoa que criou a computação, enquanto o armazenamento compartilhado pode ser acessado por qualquer pessoa com acesso ao seu espaço de trabalho do Azure ML.
Para saber mais, confira O que é uma instância de computação no 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 de computação, 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: defina como
MSTICPYCONFIG
- Valor da variável: insira o caminho para o arquivo msticpyconfig.yaml
- Nome da variável: defina como
Observação
Para as opções do Linux e do Windows, você precisará reiniciar o servidor Jupyter para que ele pegue a variável de ambiente que você definiu.
Próximas etapas
Para obter mais informações, consulte:
Assunto | Mais referências |
---|---|
MSTICPy | - Configuração do pacote MSTICPy - Editor de Configurações MSTICPy - Configurando o ambiente do notebook. - Notebook MPSettingsEditor. Observação: o repositório do GitHub de notebooks do Azure Sentinel também contém um arquivo de modelo msticpyconfig.yaml com seções comentadas, o que pode ajudá-lo a compreender as configurações. |
Notebooks Jupyter e Microsoft Azure Sentinel | - Criar seu primeiro notebook do Microsoft Azure Sentinel (série de blogs) - Notebook Jupyter: uma introdução - Documentação do MSTICPy - Documentação de notebooks do Microsoft Azure Sentinel - Infosec do Jupyterbook - Passo a passo sobre o Notebook Host Explorer do Linux - A motivo de usar o Jupyter para investigações de segurança - Investigações de Segurança com o Microsoft Azure Sentinel e Notebooks - Documentação do Pandas - Documentação do Bokeh |