檢視次數:
建議掃瞄 會識別 入侵防護完整性監控日誌檢查 規則,您應該將其指派給或從電腦或政策中移除。應用程式介面 (API) 提供對這些保護模組在電腦和政策層級的建議掃瞄結果的訪問,透過以下類別:
  • 電腦入侵防護分配建議API
  • ComputerIntegrityMonitoringAssignmentsRecommendationsApi
  • ComputerLogInspectionAssignmentsRecommendationsApi
  • PolicyIntrusionPreventionAssignmentsRecommendationsApi
  • PolicyIntegrityMonitoringAssignmentsRecommendationsApi
  • PolicyLogInspectionAssignmentsRecommendationsApi
這些類別的方法和函數返回的物件包含最新的建議和掃瞄資訊。以下的 JSON 代表返回物件的資料結構:
{
    "assignedRuleIDs": [],
    "recommendationScanStatus": "valid",
    "lastRecommendationScanDate": "1562702362438",
    "recommendedToAssignRuleIDs": [],
    "recommendedToUnassignRuleIDs": []
}
當執行 增強建議掃瞄 時,以下 API 類別會對 recommendedToAssignRuleIDsrecommendedToUnassignRuleIDs 返回空值:
  • 政策入侵防護分配建議API
  • 政策完整性監控分配建議API
  • 政策日誌檢查分配建議API
當建議掃瞄執行時,它會為入侵防護、完整性監控和日誌檢查安全模組確定建議。因此,ComputerIntrusionPreventionAssignmentsRecommendationsApiComputerIntegrityMonitoringAssignmentsRecommendationsApiComputerLogInspectionAssignmentsRecommendationsApi 的方法和功能會返回相同的日期和最後一次掃瞄的狀態值。
例如,獲取您環境中所有電腦的列表(您只需要 ID,因此將 expand 參數設置為 none 以返回最少的信息):
expand = api.Expand(api.Expand.none)
computers_api = api.ComputersApi(api.ApiClient(configuration))
computers = computers_api.list_computers(api_version, expand=expand.list(), overrides=False)
對每台電腦防護,獲取應用的規則和建議的掃瞄結果:
computer_ips_assignments_recommendations_api = (
    api.ComputerIntrusionPreventionRuleAssignmentsRecommendationsApi(api.ApiClient(configuration)))
intrusion_prevention_assignments = (
    computer_ips_assignments_recommendations_api.list_intrusion_prevention_rule_ids_on_computer(
        computer.id,
        api_version,
        overrides=False)
最後,提取上次掃瞄的日期。請注意,當沒有執行建議掃瞄時,該屬性為None
reco_scan_info = list()
if intrusion_prevention_assignments.last_recommendation_scan_date is not None:
    d = datetime.datetime.utcfromtimestamp(intrusion_prevention_assignments.last_recommendation_scan_date/1000)
    reco_scan_info.append(d.strftime('%Y-%m-%d %H:%M:%S'))
else:
    reco_scan_info.append("No scan on record")
要使用 API 執行建議掃瞄,請使用排程任務。另請參閱 API 參考中的 列出入侵防護規則 ID 操作。

確定建議掃瞄上次執行的時間 上層主題

獲取最後一次 建議掃瞄 的日期,以確認您的電腦最近是否已被掃瞄。電腦可能未被掃瞄,例如,如果在建議掃瞄運行時它處於離線狀態。您可以運行一個腳本,以發現每台電腦上次掃瞄的時間。根據結果,您可以立即運行建議掃瞄。
請使用以下一般步驟來獲取一台或多台電腦的最後建議掃瞄日期:

步驟

  1. 建立一個 ComputersApi 物件以獲取要檢查的電腦 ID。
  2. 建立一個 ComputerIntrusionPreventionAssignmentsRecommendationsApi 物件,並使用它來列出入侵防護規則分配和建議。
  3. 從返回的 IntrusionPreventionAssignments 物件中獲取上次掃瞄的日期。

範例:獲取所有電腦的最後建議掃瞄日期 上層主題

以下範例會檢索所有電腦防護的列表,並確定最後一次推薦掃瞄的日期和狀態。這些資訊連同電腦防護主機名稱將以逗號分隔值 (CSV) 格式返回,可作為試算表打開。
# Include minimal information in the returned Computer objects
expand = api.Expand(api.Expand.none)

# Get the list of computers and iterate over it
computers_api = api.ComputersApi(api.ApiClient(configuration))
computers = computers_api.list_computers(api_version, expand=expand.list(), overrides=False)

computer_ips_assignments_recommendations_api = (
    api.ComputerIntrusionPreventionRuleAssignmentsRecommendationsApi(api.ApiClient(configuration)))

for computer in computers.computers:
    # Get the recommendation scan information
    intrusion_prevention_assignments = (
        computer_ips_assignments_recommendations_api.list_intrusion_prevention_rule_ids_on_computer(
            computer.id,
            api_version,
            overrides=False))
    reco_scan_info = list()

    # Computer name
    reco_scan_info.append(computer.host_name)

    # Scan date
    if intrusion_prevention_assignments.last_recommendation_scan_date is not None:
        d = datetime.datetime.utcfromtimestamp(intrusion_prevention_assignments.last_recommendation_scan_date/1000)
        reco_scan_info.append(d.strftime('%Y-%m-%d %H:%M:%S'))
    else:
        reco_scan_info.append("No scan on record")

    # Scan status
    reco_scan_info.append(intrusion_prevention_assignments.recommendation_scan_status)

    # Add to the CSV string
    csv += format_for_csv(reco_scan_info)

return csv

套用建議 上層主題

API 提供對 建議掃瞄 結果的訪問,適用於電腦的完整性監控、入侵防護和日誌檢查。使用 ComputerIntrusionPreventionAssignmentsRecommendationsApi 物件來獲取電腦的 IntrusionPreventionAssignments 物件。IntrusionPreventionAssignments 物件包含並提供對該電腦建議的訪問:
  • 建議指派和未指派的入侵防護規則
  • 掃瞄狀態
  • 上次掃瞄發生時間
在您獲取規則建議後,您可以將它們應用到電腦防護政策,如將入侵防護規則新增到電腦防護政策範例所示。
當電腦防護尚未執行建議掃瞄時,ComputerIntrusionPreventionAssignmentsRecommendationsApi 將對於規則 ID 和最後一次掃瞄事件返回 null
提供了與完整性監控和日誌檢查相似的類別:
  • 完整性監控
    • 電腦完整性監控任務建議API
    • 完整性監控指派
  • 日誌檢查
    • 電腦日誌檢查任務建議API
    • 日誌檢查分配
以下範例獲取電腦防護的入侵防護建議。
ip_recommendations_api = api.ComputerIntrusionPreventionRuleAssignmentsRecommendationsApi(api.ApiClient(configuration))
ip_assignments = None

ip_assignments = ip_recommendations_api.list_intrusion_prevention_rule_ids_on_computer(computer_id, api_version, overrides=False)
return ip_assignments.recommended_to_assign_rule_ids
另請參閱 API 參考中的 列出入侵防護規則 ID 操作。 有關 API 認證的資訊,請參閱 使用 伺服器與工作負載保護 認證