View a markdown version of this page

進階組態 - Amazon Inspector

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

進階組態

本節說明 Inspector VM Scanner 的進階組態選項。

設定本機輸出

Inspector VM Scanner 提供下列選項來設定如何寫入本機輸出:

  • --send-results 必須設定為 telemetrydisabled。如果您通過 disabled,則 Inspector VM Scanner 會繼續而不傳送 SBOM。

提示

--state-dir 搭配 使用--send-results disabled,在本機儲存 SBOM。

  • --log-dir 設定寫入日誌的位置。根據預設,日誌會寫入 stdout。

  • --log-level 設定日誌的精細程度。根據預設,這是 INFO。

  • --log-retention 設定保留日誌的天數。如果在 --log-retention 中找到早於 的日誌檔案--log-dir,則會將其刪除。根據預設,這是 7 天。

  • --debug 設定偵錯層級記錄,並強制目前執行的專用日誌檔案 (而不是嘗試每天維護一個日誌檔案)。

  • --state-dir 設定寫入 SBOMs的位置。根據預設,不會儲存 SBOMs。

  • --metric-dir 設定指標日誌的寫入位置。根據預設,不會儲存指標日誌。

  • --cpu-profile 會啟用 Go 執行時間 CPU 分析器,並設定結果的寫入位置。

  • --mem-profile 會啟用 Go 執行時間記憶體分析器,並設定結果的寫入位置。

  • --config-path 指示 Inspector VM Scanner 從本機組態檔案衍生引數。如果同時在 CLI 和組態檔案中傳遞相同的引數,則會排定 CLI 值的優先順序。

    • Inspector VM Scanner 組態檔案是在 TOML 中指定,所有引數名稱都與 CLI 相同。

    • 根據預設,Inspector VM Scanner 會在 Linux 和 macOS /opt/aws/inspector/etc/config 上的 或 C:\\ProgramData\\Amazon\\Inspector\\Config\\config上尋找組態檔案Windows。檔案沒有副檔名,但使用 TOML 格式。

    • 當您指定 時--config-path,指定的路徑會優先於預設路徑。

下列範例顯示組態檔案:

# Configuration file for Inspector VM Scanner log-level = "INFO" send-results = "telemetry" cpu-profile = "cpuprofile" mem-profile = "memprofile" log-dir = "log" state-dir = "state" debug = false log-retention = 7 scan-timeout = 300 [sbom] max-scan-depth = 5 target-directory = ["~"]

設定資源用量

Inspector VM Scanner 提供下列選項來設定資源用量:

  • --scan-timeout 強制掃描器在指定的秒數後逾時。根據預設,掃描器不會逾時。

  • --nice-priority 會設定程序的nice優先順序 (適用於 Unix 系統)。根據預設,這是 3。

  • --cpu-limit 設定 CPU 用量的硬性上限 (適用於使用 的 Linux 系統cgroups)。根據預設,這是 65%。

  • --process-priority 設定 程序的優先順序 (適用於 Windows 系統)。根據預設,這是BELOW NORMAL優先順序。

注意

--cpu-limit 和 的預設值--process-priority與 Inspector SSM 外掛程式相同。

設定掃描目標

Inspector VM Scanner 利用 Inspector SBOM Generator 進行庫存收集。因此,許多 Inspector VM Scanner 的掃描涵蓋範圍選項都是直接從 SBOM 產生器取得。

根據預設,Inspector VM Scanner 不會掃描整個檔案系統。它會收集作業系統套件,並使用 Windows Windows Update (Knowledge Base) 資料來識別需要更新的系統軟體。它也會檢查常見安裝位置中是否有熱門的程式設計語言套件及其相依性。

安裝在自訂或非標準位置的軟體,例如非系統磁碟機上的資料庫或應用程式伺服器,只會在您新增時掃描。若要涵蓋此類軟體,請在 Amazon EC2 掃描設定中將其新增為自訂路徑。在增強型 EC2 掃描下,自訂路徑適用於 Linux、 Windows和 macOS執行個體,除了預設位置之外,還會掃描 和 。如需詳細資訊,請參閱 Amazon Inspector 深度檢查的自訂路徑

您也可以使用本節中的進階選項,在 VM Scanner 調用期間新增每個執行個體的目錄。除了預設值之外,--target-directory還會掃描您新增的目錄。

Inspector VM Scanner 提供下列選項來設定掃描目標:

  • --max-scan-depth 設定掃描從每個掃描位置周遊的目錄層級數量上限。

  • --target-directory 除了預設值之外, 還會新增一或多個要掃描的目錄。在組態檔案中,將其指定[sbom]為陣列,例如 target-directory = ["D:\\oracle"]

  • --override-scanners 設定確切的檔案掃描器,覆寫 Inspector VM Scanner 預設值。

  • --additional-scanners 除了 Inspector VM Scanner 預設值之外, 還會設定檔案掃描程式使用 。

您可以使用下列命令列出所有可用的掃描器:

./inspector-vm-scanner sbom --list-scanners

管理定期執行

當您透過套件管理員安裝 Inspector VM Scanner 時,安裝會建立排程任務,以自動執行掃描。您可以檢視、修改或停用此排程。

Linux (系統化)

檢視服務狀態和最近的執行

systemctl status inspector-vm-scanner

檢視即時日誌

journalctl -u inspector-vm-scanner -f

檢視最近的日誌

journalctl -u inspector-vm-scanner --since "1 hour ago"

檢查目前的計時器間隔

systemctl cat inspector-vm-scanner.timer

變更掃描間隔

重要

請勿/usr/lib/systemd/system/直接在 中編輯單位檔案。套件更新會覆寫這些檔案。請systemctl edit改用 ,這會建立可承受更新的持久性覆寫。

預設間隔為每 3 小時一次。若要變更它,請執行:

sudo systemctl edit inspector-vm-scanner.timer

在開啟的編輯器中,新增下列項目 (此範例會將間隔設定為 6 小時):

[Timer] OnBootSec= OnUnitActiveSec= OnBootSec=0 OnUnitActiveSec=21600s

空白指派會在您的值生效之前清除預設值。儲存後,重新啟動計時器:

sudo systemctl daemon-reload sudo systemctl restart inspector-vm-scanner.timer

若要驗證覆寫是否生效,請執行 systemctl cat inspector-vm-scanner.timer。若要還原為預設值,請執行 sudo systemctl revert inspector-vm-scanner.timer

啟用或停用自動執行

sudo systemctl enable inspector-vm-scanner.timer # Enable automatic runs. sudo systemctl disable inspector-vm-scanner.timer # Disable automatic runs.

Windows (任務排程器)

檢視任務狀態和上次執行

Get-ScheduledTask -TaskName "Inspector VM Scanner" | Get-ScheduledTaskInfo

檢視最近的任務日誌

Get-ScheduledTaskInfo -TaskName "Inspector VM Scanner"

檢視詳細的任務歷史記錄

schtasks /query /tn "Inspector VM Scanner" /v /fo list

檢視目前的任務排程

Get-ScheduledTask -TaskName "Inspector VM Scanner" | Select-Object -ExpandProperty Triggers

更新任務排程

若要變更掃描頻率:

# Modify trigger to run daily at 2 AM $trigger = New-ScheduledTaskTrigger -Daily -At 2:00AM Set-ScheduledTask -TaskName "Inspector VM Scanner" -Trigger $trigger

啟用或停用任務

Enable-ScheduledTask -TaskName "Inspector VM Scanner" # Enable automatic runs Disable-ScheduledTask -TaskName "Inspector VM Scanner" # Disable automatic runs

macOS (已啟動)

檢視啟動的任務

sudo launchctl print system/com.amazon.inspector.vm-scanner

執行單一任務

sudo launchctl start com.amazon.inspector.vm-scanner