Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
本文介绍了在 Microsoft Sentinel 中使用 Jupyter Notebook 和 MSTICPy 时会用到的高级配置。
有关详细信息,请参阅 使用 Jupyter 笔记本搜寻安全威胁 ,并在 Microsoft Sentinel 中开始使用 Jupyter 笔记本和 MSTICPy。
本文是“在 Microsoft Sentinel 中使用 Jupyter 笔记本和 MSTICPy 入门”的续篇。 建议先执行本教程,然后再继续学习本文中所述的高级过程。
本过程介绍如何在 msticpyconfig.yaml 文件中为 Microsoft Sentinel 和其他 Azure API 资源配置身份验证参数。
若要在 MSTICPy 设置编辑器中添加 Azure 身份验证和 Microsoft Sentinel API 设置:
转到包含以下代码的下一个单元,并运行该单元:
mpedit.set_tab("Data Providers") mpedit
在“数据提供程序”选项卡中,选择“AzureCLI”“添加”。
选择要使用的身份验证方法:
- 虽然可以使用与默认值不同的方法集,但此用法不是典型的配置。 有关详细信息,请参阅 Azure Sentinel ML Notebooks 笔记本的入门指南。
- 除非要使用 env(环境变量)身份验证,否则请将“clientId”、“tenantId”和“clientSecret”字段保留为空。
- MSTICPy 还支持使用客户端应用 ID 和机密进行身份验证,但不建议你这样做。 在此类情况下,请直接在“数据提供程序”选项卡中定义“clientId”、“tenantId”和“clientSecret”字段。
选择“保存文件”以保存更改。
定义任何要在运行nbinit.init_notebook
函数时由 MSTICPy 自动加载的查询提供程序。
当频繁创作新的笔记本时,自动加载查询提供程序可以确保在加载其他组件(例如 Pivot 函数和 Notebooklets)之前加载所需的提供程序,从而节省时间。
若要添加自动加载的查询提供程序:
转到下一个单元格,使用并运行以下代码:
mpedit.set_tab("Autoload QueryProvs") mpedit
在“自动加载 QueryProv”选项卡中:
- 对于 Microsoft Sentinel 提供程序,需指定要连接到的提供程序名称和工作区名称。
- 对于其他查询提供程序,仅指定提供程序名称。
每个提供程序还具有以下可选值:
自动连接:默认情况下,此选项定义为“True”,MSTICPy 会尝试在加载提供程序后立即对其进行身份验证。 MSTICPy 假设你已在设置中为提供程序配置凭据。
别名:当 MSTICPy 加载提供程序时,它会为提供程序分配 Python 变量名。 默认情况下,Microsoft Sentinel 提供程序的变量名为 qryworkspace_name,其他提供程序的变量名为 qryprovider_name 。
例如,如果加载 ContosoSOC 工作区的查询提供程序,则会在笔记本环境中创建此查询提供程序,名称
qry_ContosoSOC
为 。 如果要使用更短或更容易键入和记住的内容,请添加别名。 提供程序变量名称为qry_<alias>
,其中<alias>
将替换为所提供的别名。采用此机制加载的提供程序还会添加到 MSTICPy 的
current_providers
属性中,例如,以下代码中将会使用该属性:import msticpy msticpy.current_providers
选择“保存设置”以保存更改。
本过程介绍如何定义运行 nbinit.init_notebook
函数时 MSTICPy 自动加载的其他组件。
支持的组件按以下顺序包括:
- TILookup:要使用的 TI 提供程序库
- GeoIP: 您需要使用的 GeoIP 服务商
- AzureData:用于查询有关 Azure 资源的详细信息的模块
- AzureSentinelAPI: 用于查询 Microsoft Sentinel API 的模块
- Notebooklets:msticnb 包中的 Notebooklets
- Pivot:Pivot 函数
组件按此顺序进行加载,因为 Pivot 组件需要加载查询和其他提供程序才能查找其附加到实体的 Pivot 函数。 有关详细信息,请参阅 MSTICPy 文档。 有关详细信息,请参阅 Azure Sentinel ML Notebooks 笔记本的入门指南。
定义自动加载的 MSTICPy 组件:
转到包含以下代码的下一个单元,并运行该单元:
mpedit.set_tab("Autoload Components") mpedit
在“自动加载组件”选项卡中,定义任何所需参数值。 例如:
GeoIpLookup。 输入要使用的 GeoIP 提供程序的名称,“GeoLiteLookup”或“IPStack”。
AzureData 和 AzureSentinelAPI 组件。 定义以下值:
- auth_methods:替代 AzureCLI 的默认设置,并使用所选的方法进行连接。
- Auto-connect:设置为 false,以在不连接的情况下加载。
有关详细信息,请参阅为 Azure 和 Microsoft Sentinel API 指定身份验证参数。
Notebooklets。 Notebooklets 组件具有单个参数块:AzureSentinel。
使用以下语法指定 Microsoft Sentinel 工作区:
workspace:\<workspace name>
。 工作区名称必须是“Microsoft Sentinel”选项卡中定义的工作区之一。如果要添加更多要发送到
notebooklets init
函数的参数,请将这些参数指定为以换行符分隔的键值对。 例如:workspace:<workspace name> providers=["LocalData","geolitelookup"]
有关详细信息,请参阅 MSTICNB (MSTIC Notebooklets) 文档。
某些组件(例如 TILookup 和 Pivot)不需要任何参数。
选择“保存设置”以保存更改。
如果要在 Python 3.65 和 3.8 内核之间切换,你可能会发现 MSTICPy 和其他包未按预期安装。
当 !pip install pkg
命令在第一个环境中正确安装,但在第二个环境中安装不正确时,可能会发生这种情况。 这会导致第二个环境无法导入或使用包。
我们建议您不要使用 !pip install...
在 Azure 机器学习笔记本中安装程序包。 改用以下选项之一:
在笔记本中使用 %pip line magic。 运行:
%pip install --upgrade msticpy
从终端安装:
在 Azure 机器学习笔记本中打开终端并运行以下命令:
conda activate azureml_py38 pip install --upgrade msticpy
关闭终端并重启内核。
如果在 Azure 机器学习中运行,并且 msticpyconfig.yaml 文件位于用户文件夹的根目录中,则 MSTICPy 会自动找到这些设置。 但是,如果要在另一个环境中运行笔记本,请按照本节中的说明设置指向配置文件位置的环境变量。
通过在环境变量中定义 msticpyconfig.yaml 文件的路径,可以将文件存储在已知位置,并确保始终加载相同的设置。
如果要将不同的设置用于不同的笔记本,请使用多个配置文件和多个环境变量。
确定 msticpyconfig.yaml 文件的位置,例如,位于 ~/.msticpyconfig.yaml 或 %userprofile%/msticpyconfig.yaml 中。
Azure ML 用户:如果将配置文件存储在 Azure 机器学习用户文件夹中,MSTICPy
init_notebook
函数(在初始化单元中运行)会自动查找和使用该文件,并且无需设置 MSTICPYCONFIG 环境变量。但是,如果此文件中还存储了机密,则建议将配置文件存储在计算本地驱动器中。 只有创建计算的人员才能访问计算内部存储,而共享存储可供有权访问 Azure 机器学习工作区的任何人访问。
有关详细信息,请参阅什么是 Azure 机器学习计算实例?。
如果需要,请将 msticpyconfig.yaml 文件复制到所选位置。
将 MSTICPYCONFIG 环境变量设置为指向该位置。
使用以下过程之一来定义 MSTICPYCONFIG 环境变量。
本过程介绍如何更新 .bashrc 文件,以在 Linux 系统上设置 MSTICPYCONFIG 环境变量。
根据需要将 msticpyconfig.yaml 文件移动到计算实例。
打开 Azure 机器学习终端,例如从 Microsoft Sentinel Notebooks 页。
验证是否可以访问 msticpyconfig.yaml 文件。
在 Azure 机器学习终端中,当前目录应该是在计算 Linux 系统中装载的 Azure 机器学习文件存储主目录。 提示与以下示例类似:
azureuser@alicecontoso-azml7:~/cloudfiles/code/Users/alicecontoso$
通过输入 ,列出主目录中的所有文件,包括 msticpyconfig.yaml 文件。
若要将 msticpyconfig.yaml 文件移动到计算文件存储,请输入:
mv msticpyconfig.yaml ~
使用以下过程之一编辑环境变量的 .bashrc 文件:
命令 步骤 vim 1.运行: vim ~/.bashrc
2.按 SHIFT+G > End,转到文件末尾。 3. 输入“a”并按 Enter,创建新行。
4.添加环境变量,然后按 ESC 返回到命令模式。
5.输入 :wq,保存文件。Nano 1.运行: nano ~/.bashrc
1.按 ALT+/ 或 OPTION+/,转到文件末尾。
1.添加环境变量,然后保存文件。 按 CTRL+X,然后按 Y。添加以下环境变量之一:
- 如果移动了 msticpyconfig.yaml 文件,请运行
export MSTICPYCONFIG=~/msticpyconfig.yaml
。 - 如果未移动 msticpyconfig.yaml 文件,请运行
export MSTICPYCONFIG=~/cloudfiles/code/Users/<YOURNAME>/msticpyconfig.yaml
。
- 如果移动了 msticpyconfig.yaml 文件,请运行
Nota
对于 Linux 和 Windows 选项,需要重启 Jupyter 服务器才能选取定义的环境变量。
有关详细信息,请参阅:
使用者 | 更多参考资料 |
---|---|
MSTICPy | - MSTICPy 包配置 - MSTICPy 设置编辑器 - 配置笔记本环境。 - MPSettingsEditor 笔记本。 注意:Azure-Sentinel-Notebooks GitHub 存储库还包含 msticpyconfig.yaml 模板文件,其中包含注释掉的部分,可能会对你了解设置有所帮助。 |
Microsoft Sentinel 和 Jupyter Notebook | - 创建第一个 Microsoft Sentinel 笔记本(博客系列) - Jupyter Notebook 简介 - MSTICPy 文档 - Microsoft Sentinel Notebook 文档 - Infosec Jupyterbook - Linux 主机资源管理器 Notebook 演练 - 为什么使用 Jupyter 进行安全调查 - 使用 Microsoft Sentinel 和 Notebook 进行安全调查 - Pandas 文档 - Bokeh 文档 |