分享方式:


Microsoft Sentinel 中 Jupyter Notebook 和 MSTICPy 的進階設定

本文說明在 Microsoft Sentinel 中使用 Jupyter Notebook 和 MSTICPy 的進階設定。

如需詳細資訊,請參閱 使用 Jupyter Notebook 來尋找安全性威脅教學課程:開始使用 Microsoft Sentinel 中的 Jupyter Notebook 和 MSTICPy。

必要條件

本文是 教學課程:開始使用 Microsoft Sentinel 中的 Jupyter Notebook 和 MSTICPy。 建議您先執行教學課程,再繼續進行以下所述的進階程式。

指定 Azure 和 Microsoft Sentinel API 的驗證參數

此程式描述如何在 msticpyconfig.yaml 檔案中 設定 Microsoft Sentinel 和其他 Azure API 資源的驗證參數。

若要在 MSTICPy 設定編輯器中新增 Azure 驗證和 Microsoft Sentinel API 設定:

  1. 使用下列程式代碼繼續進行下一個儲存格,然後執行它:

    mpedit.set_tab("Data Providers")
    mpedit
    
  2. 在 [數據提供者] 索引標籤中,選取 [AzureCLI>新增]。

  3. 選取要使用的驗證方法:

    • 雖然您可以使用與 Azure 預設值不同的一組方法,但此使用方式不是一般組態。
    • 除非您想要使用 env (環境變數) 驗證,否則請將 clientIdtenantiIdclientSecret 字段保留空白。
    • 雖然不建議,但 MSTICPy 也支援使用用戶端應用程式識別碼和秘密進行驗證。 在這種情況下,請直接在 [數據提供者] 索引標籤中定義您的 clientIdtenantIdclientSecret 字段。
  4. 選取 [ 儲存盤案 ] 以儲存您的變更。

定義自動載入查詢提供者

定義您想要 MSTICPy 在執行函式時 nbinit.init_notebook 自動載入的任何查詢提供者。

當您經常撰寫新的筆記本時,自動載入查詢提供者可以藉由確保必要提供者在其他元件之前載入,例如樞紐函式和 Notebooklet,來節省時間。

若要新增自動載入查詢提供者

  1. 使用下列程式代碼繼續進行下一個儲存格,然後執行它:

    mpedit.set_tab("Autoload QueryProvs")
    mpedit
    
  2. 在 [ 自動載入 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
      
  3. 選取 [儲存 設定],以儲存變更。

定義自動載入的 MSTICPy 元件

此程式描述如何定義 MSTICPy 在執行函式時 nbinit.init_notebook 自動載入的其他元件。

支援的元件會依下列順序包含:

  1. TILookup:TI 提供者連結庫
  2. GeoIP:您想要使用的 GeoIP 提供者
  3. AzureData: 您用來查詢 Azure 資源詳細 數據的模組
  4. AzureSentinelAPI: 您用來查詢 Microsoft Sentinel API 的模組
  5. Notebooklet: msticnb 套件中的 Notebooklet
  6. 樞紐: 樞紐函數

注意

元件會依此順序載入,因為樞紐元件需要查詢和其他已載入的提供者,才能尋找附加至實體的樞紐函式。 如需詳細資訊,請參閱 MSTICPy 檔

若要定義自動載入的 MSTICPy 元件

  1. 使用下列程式代碼繼續進行下一個儲存格,然後執行它:

    mpedit.set_tab("Autoload Components")
    mpedit
    
  2. 在 [ 自動載入元件] 索引標籤中,視需要定義任何參數值。 例如:

    • GeoIpLookup。 輸入您想要使用的 GeoIP 提供者名稱,即 GeoLiteLookupIPStack。 如需詳細資訊,請參閱 新增 GeoIP 提供者設定

    • AzureData 和 AzureSentinelAPI 元件。 定義下列值:

      • auth_methods: 覆寫 AzureCLI 的預設設定,並使用選取的方法進行連線。
      • 自動連線: 設定為 false 以載入而不連接。

      如需詳細資訊,請參閱 指定 Azure 和 Microsoft Sentinel API 的驗證參數。

    • NotebookletNotebooklet 元件具有單一參數區塊:AzureSentinel

      使用下列語法指定您的 Microsoft Sentinel 工作區: workspace:\<workspace name>。 工作區名稱必須是 Microsoft Sentinel 索引標籤中定義的其中一個工作區。

      如果您想要新增更多參數以傳送至函 notebooklets init 式,請將其指定為索引鍵:值組,並以換行符分隔。 例如:

      workspace:<workspace name>
      providers=["LocalData","geolitelookup"]
      

      如需詳細資訊,請參閱 MSTICNB (MSTIC Notebooklets) 檔

    某些元件,例如 TILookupPivot, 不需要任何參數。

  3. 選取 [儲存 設定],以儲存變更。

在 Python 3.6 和 3.8 核心之間切換

如果您要在 Python 3.65 和 3.8 核心之間切換,您可能會發現 MSTICPy 和其他套件未如預期般安裝。

當命令在第一個環境中正確安裝時,可能會發生這種情況 !pip install pkg ,但在第二個環境中則不會正確安裝。 這會建立第二個環境無法匯入或使用套件的情況。

建議您不要使用 !pip install... 在 Azure ML 筆記本中安裝套件。 請改用下列其中一個選項:

  • 在筆記本中使用 %pip 線條魔術。 請執行:

    
    %pip install --upgrade msticpy
    
  • 從終端機安裝:

    1. 在 Azure ML 筆記本中開啟終端機,然後執行下列命令:

      conda activate azureml_py38
      pip install --upgrade msticpy
      
    2. 關閉終端機並重新啟動核心。

設定 msticpyconfig.yaml 檔案的環境變數

如果您在 Azure ML 中執行,並在使用者資料夾的根目錄中有 msticpyconfig.yaml 檔案,MSTICPy 會自動找到這些設定。 不過,如果您要在另一個環境中執行筆記本,請遵循本節中的指示,設定指向組態檔位置的環境變數。

在環境變數中定義 msticpyconfig.yaml 檔案的路徑可讓您將檔案儲存在已知的位置,並確定您一律載入相同的設定。

如果您想要針對不同的筆記本使用不同的設定,請使用多個組態檔搭配多個環境變數。

  1. 決定 msticpyconfig.yaml 檔案的位置,例如 ~/.msticpyconfig.yaml%userprofile%/msticpyconfig.yaml

    Azure ML 使用者:如果您將組態檔儲存在 Azure ML 使用者資料夾中,MSTICPy init_notebook 函式(在初始化數據格中執行)會自動尋找並使用檔案,而且您不需要設定 MSTICPYCONFIG 環境變數。

    不過,如果您也儲存在檔案中的秘密,建議您將組態檔儲存在計算本機磁碟驅動器上。 計算內部記憶體只能供建立計算的人員存取,而共用記憶體可供任何可存取您 Azure ML 工作區的人員存取。

    如需詳細資訊,請參閱什麼是 Azure 機器學習 計算實例?

  2. 如有需要,請將 msticpyconfig.yaml 檔案複製到您選取的位置。

  3. MSTICPYCONFIG 環境變數設定為指向該位置。

使用下列其中一個程式來定義 MSTICPYCONFIG 環境變數。

例如,若要在 Windows 系統上設定 MSTICPYCONFIG 環境變數:

  1. 視需要將 msticpyconfig.yaml 檔案移至計算實例。

  2. 開啟 [系統屬性] 對話框至 [進階] 索引標籤。

  3. 選取 [環境變數... ] 以開啟 [ 環境變數] 對話框。

  4. 在 [系統變數] 區域中,選取 [新增...],然後定義值,如下所示:

    • 變數名稱:定義為 MSTICPYCONFIG
    • 變數值:輸入 msticpyconfig.yaml 檔案的路徑

注意

針對 Linux 和 Windows 選項,您必須重新啟動 Jupyter 伺服器,才能挑選您定義的環境變數。

下一步

如需詳細資訊,請參閱

主旨 更多參考
MSTICPy - MSTICPy 套件組態
- MSTICPy 設定 編輯器
- 設定筆記本環境
- MP 設定 Editor 筆記本

注意:Azure-Sentinel-Notebooks GitHub 存放庫也包含具有批注化區段的範本 msticpyconfig.yaml 檔案,可協助您了解設定。
Microsoft Sentinel 和 Jupyter 筆記本 - 建立您的第一個 Microsoft Sentinel 筆記本 (部落格系列)
- Jupyter Notebooks:簡介
- MSTICPy 檔
- Microsoft Sentinel Notebooks 文件
- The Infosec Jupyterbook
- Linux 主機總管筆記本逐步解說
- 為何使用 Jupyter 進行安全性調查
- 使用 Microsoft Sentinel 和 Notebook 進行安全性調查
- Pandas 檔
- Bokeh 檔