Microsoft Sentinel 中 Jupyter 筆記本和 MSTICPy 的進階設定
本文說明在 Sentinel Microsoft 中使用 Jupyter Notebook 和 MSTICPy 的進階設定。
如需詳細資訊,請參閱在 Microsoft Sentinel 中使用 Jupyter Notebook 來搜尋安全性威脅和教學課程:開始使用 Jupyter Notebook 和 MSTICPy。
必要條件
本文是 教學課程:開始使用 Microsoft Sentinel 中的 Jupyter Notebook 和 MSTICPy。 建議您先執行教學課程,再繼續進行以下所述的進階程式。
指定 Azure 和 Microsoft Sentinel API 的驗證參數
此程式描述如何在 msticpyconfig.yaml 檔案中 設定Microsoft Sentinel 和其他 Azure API 資源的驗證參數。
若要在 MSTICPy 設定編輯器中新增 Azure 驗證和Microsoft Sentinel API 設定:
前往下一個資料格,加上下列程式碼並執行:
mpedit.set_tab("Data Providers") mpedit
在 [數據提供者] 索引標籤中,選取 [AzureCLI>新增]。
選取要使用的驗證方法:
- 雖然您可以使用與 Azure 預設值不同的一組方法,但此使用方式不是一般組態。
- 除非您想要使用 env (環境變數) 驗證,否則請將 clientId、tenantId 和 clientSecret 字段保留空白。
- 雖然不建議,但 MSTICPy 也支援使用用戶端應用程式識別碼和秘密進行驗證。 在這種情況下,請直接在 [數據提供者] 索引標籤中定義您的 clientId、tenantId 和 clientSecret 字段。
選取 [ 儲存盤案 ] 以儲存您的變更。
定義自動載入查詢提供者
定義您想要 MSTICPy 在執行函式時 nbinit.init_notebook
自動載入的任何查詢提供者。
當您經常撰寫新的筆記本時,自動載入查詢提供者可以藉由確保必要提供者在其他元件之前載入,例如樞紐函式和 Notebooklet,來節省時間。
若要新增自動載入查詢提供者:
前往下一個資料格,加上下列程式碼並執行:
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
選取 [ 儲存設定 ] 以儲存變更。
定義自動載入的 MSTICPy 元件
此程式描述如何定義 MSTICPy 在執行函式時 nbinit.init_notebook
自動載入的其他元件。
支援的元件會依下列順序包含:
- TILookup:TI 提供者連結庫
- GeoIP:您想要使用的 GeoIP 提供者
- AzureData: 您用來查詢 Azure 資源詳細 數據的模組
- AzureSentinelAPI: 您用來查詢 Microsoft Sentinel API 的模組
- Notebooklet: msticnb 套件中的 Notebooklet
- 樞紐: 樞紐函數
注意
元件會依此順序載入,因為樞紐元件需要查詢和其他已載入的提供者,才能尋找附加至實體的樞紐函式。 如需詳細資訊,請參閱 MSTICPy 檔。
若要定義自動載入的 MSTICPy 元件:
前往下一個資料格,加上下列程式碼並執行:
mpedit.set_tab("Autoload Components") mpedit
在 [ 自動載入元件] 索引標籤中,視需要定義任何參數值。 例如:
GeoIpLookup。 輸入您想要使用的 GeoIP 提供者名稱,即 GeoLiteLookup 或 IPStack。 如需詳細資訊,請參閱 新增 GeoIP 提供者設定。
AzureData 和 AzureSentinelAPI 元件。 定義下列值:
- auth_methods: 覆寫 AzureCLI 的預設設定,並使用選取的方法進行連線。
- 自動連線: 設定為 false 以載入而不連接。
如需詳細資訊,請參閱 指定 Azure 和 Microsoft Sentinel API 的驗證參數。
Notebooklet。 Notebooklet 元件具有單一參數區塊:AzureSentinel。
使用下列語法指定您的Microsoft Sentinel 工作區:
workspace:\<workspace name>
。 工作區名稱必須是 Microsoft Sentinel 索引標籤中定義的其中一個工作區。如果您想要新增更多參數以傳送至函
notebooklets init
式,請將其指定為索引鍵:值組,並以換行符分隔。 例如:workspace:<workspace name> providers=["LocalData","geolitelookup"]
如需詳細資訊,請參閱 MSTICNB (MSTIC Notebooklets) 檔。
某些元件,例如 TILookup 和 Pivot, 不需要任何參數。
選取 [ 儲存設定 ] 以儲存變更。
在 Python 3.6 和 3.8 核心之間切換
如果您要在 Python 3.65 和 3.8 核心之間切換,您可能會發現 MSTICPy 和其他套件未如預期般安裝。
當命令在第一個環境中正確安裝時,可能會發生這種情況 !pip install pkg
,但在第二個環境中則不會正確安裝。 這會建立第二個環境無法匯入或使用套件的情況。
建議您不要使用 !pip install...
在 Azure ML 筆記本中安裝套件。 請改用下列其中一個選項:
在筆記本中使用 %pip 線條魔術。 請執行:
%pip install --upgrade msticpy
從終端機安裝:
在 Azure ML 筆記本中開啟終端機,然後執行下列命令:
conda activate azureml_py38 pip install --upgrade msticpy
關閉終端機並重新啟動核心。
設定 msticpyconfig.yaml 檔案的環境變數
如果您在 Azure ML 中執行,並在使用者資料夾的根目錄中有 msticpyconfig.yaml 檔案,MSTICPy 會自動找到這些設定。 不過,如果您要在另一個環境中執行筆記本,請遵循本節中的指示,設定指向組態檔位置的環境變數。
在環境變數中定義 msticpyconfig.yaml 檔案的路徑可讓您將檔案儲存在已知的位置,並確定您一律載入相同的設定。
如果您想要針對不同的筆記本使用不同的設定,請使用多個組態檔搭配多個環境變數。
決定 msticpyconfig.yaml 檔案的位置,例如 ~/.msticpyconfig.yaml 或 %userprofile%/msticpyconfig.yaml。
Azure ML 使用者:如果您將組態檔儲存在 Azure ML 使用者資料夾中,MSTICPy
init_notebook
函式(在初始化數據格中執行)會自動尋找並使用檔案,而且您不需要設定 MSTICPYCONFIG 環境變數。不過,如果您也儲存在檔案中的秘密,建議您將組態檔儲存在計算本機磁碟驅動器上。 計算內部記憶體只能供建立計算的人員存取,而共用記憶體可供任何可存取您 Azure ML 工作區的人員存取。
如需詳細資訊,請參閱什麼是 Azure 機器學習 計算實例?。
如有需要,請將 msticpyconfig.yaml 檔案複製到您選取的位置。
將 MSTICPYCONFIG 環境變數設定為指向該位置。
使用下列其中一個程式來定義 MSTICPYCONFIG 環境變數。
例如,若要在 Windows 系統上設定 MSTICPYCONFIG 環境變數:
視需要將 msticpyconfig.yaml 檔案移至計算實例。
開啟 [系統屬性] 對話框至 [進階] 索引標籤。
選取 [環境變數... ] 以開啟 [ 環境變數] 對話框。
在 [系統變數] 區域中,選取 [新增...],然後定義值,如下所示:
- 變數名稱:定義為
MSTICPYCONFIG
- 變數值:輸入 msticpyconfig.yaml 檔案的路徑
- 變數名稱:定義為
注意
針對 Linux 和 Windows 選項,您必須重新啟動 Jupyter 伺服器,才能挑選您定義的環境變數。
下一步
如需詳細資訊,請參閱
主體 | 更多參考 |
---|---|
MSTICPy | - MSTICPy 套件設定 - MSTICPy 設定編輯器 - 設定您的筆記本環境。 - MPSettingsEditor 筆記本。 注意:Azure-Sentinel-Notebooks GitHub 存放庫也包含具有批注化區段的範本 msticpyconfig.yaml 檔案,可協助您了解設定。 |
Microsoft Sentinel 和 Jupyter 筆記本 | - 建立您的第一個 Microsoft Sentinel 筆記本 (部落格系列) - Jupyter Notebooks:簡介 - MSTICPy 文件 - Microsoft Sentinel 筆記本文件 - Infosec Jupyterbook - Linux 主機總管筆記本逐步解說 - 為何使用 Jupyter 進行安全性調查 - 使用 Microsoft Sentinel 筆記本進行安全性調查 - Pandas 文件 - Bokeh 文件 |