Verwenden Sie die API, um Informationen über den Sicherheitsstatus der Computer zu
sammeln, die Server- und Workload Protection schützt. Um beispielsweise einen monatlichen Bericht über Ihren Sicherheitsstatus
zu erstellen, sammeln Sie Informationen über Sicherheitsmodule, wie deren Betriebszustand
(ein oder aus) und ob die neuesten Regeln zugewiesen sind.
Sie können auch herausfinden, ob Sie gegen eine bestimmte Bedrohung geschützt sind.
Wenn beispielsweise eine CVE für eine Zero-Day-Sicherheitslücke veröffentlicht wird,
können Sie die Eindringungspräventionsregel für diese CVE finden und auf Ihre Computer
anwenden.
Unentdeckte Computer finden
Entdecken Sie ungeschützte Computer basierend auf dem Echtzeitstatus des Agenten oder
Geräts oder auf dem Status eines Schutzmoduls:
- Auf dem Computer ist kein Agent oder Gerät installiert, oder der Agent oder das Gerät ist nicht aktiv
- Das Schutzmodul ist nicht eingeschaltet oder es ist eingeschaltet und nicht aktiv
Für virtuelle Maschinen können Sie auch den Maschinenstatus und andere Informationen
abrufen, die bei der Fehlerbehebung nützlich sein können.
Weitere Informationen zu Computer-Status finden Sie unter Computer- und Agentenstatus
Computer basierend auf dem Agentenstatus finden
Computer, auf denen kein Agent installiert ist, sind nicht durch Server- und Workload Protection geschützt. Computer könnten auch ungeschützt sein, wenn Probleme mit ihrem Agent
oder Gerät bestehen.
Um festzustellen, ob ein Agent oder Gerät installiert ist, überprüfen Sie den Fingerabdruck
des Agents und des Geräts. Kein Fingerabdruck weist darauf hin, dass kein Agent oder
Gerät installiert ist und der Computer daher ungeschützt ist. Wenn ein Agent oder
Gerät installiert ist, überprüfen Sie auch deren Status. Ein Status wie
active zeigt beispielsweise an, dass der Agent oder das Gerät korrekt läuft. Andere Status,
wie error oder inactive, weisen auf ein Problem hin, das Sie untersuchen sollten.Das folgende JSON-Beispiel stellt die Datenstruktur eines Computer-Objekts dar (einige
Elemente sind weggelassen, um das Beispiel übersichtlicher zu gestalten). Der
agentFingerPrint zeigt, dass ein Agent installiert ist, und der computerStatus zeigt, dass er aktiv ist.{
"hostName": "laptop_adaggs",
...
"policyID": 34,
"agentFingerPrint": "71:3E:81:64:65:EB:34:78:FC:72:C2:CB:37:6B:1D:F0:8C:D1:9B:1E",
"agentVersion": "11.3.2.883",
"computerStatus": {
"agentStatus": "active",
"agentStatusMessages": [
"Managed (Online)"
]
},
"computerSettings": {...},
"ID": 48,
"antiMalware": {...},
...
}
TippEin
offline-Status kann darauf hinweisen, dass Server- und Workload Protection nicht mit dem Computer kommunizieren kann. Mit diesem Status kann der Agent oder
das Gerät normal laufen und Schutz bieten. Allerdings kann Server- und Workload Protection keine Komponenten-Updates an den Agenten oder das Gerät senden. |
Verwenden Sie das folgende allgemeine Verfahren, um ungeschützte Computer zu entdecken:
Prozedur
- Verwenden Sie
ComputersApi, um ein Computer-Objekt zu erhalten. - Überprüfen Sie die
AgentFingerPrint- undApplianceFingerPrint-Eigenschaft des Computers. - Holen Sie das
ComputerStatus-Objekt aus demComputer-Objekt und überprüfen Sie dieAgentStatus-Eigenschaft. Jeder Wert außerACTIVEkann auf ein Problem hinweisen. - Optional können Sie den
AgentStatusMessagesdesComputerStatus-Objekts und dieAgentTasks-Eigenschaft desComputer-Objekts für nützliche Informationen abrufen.
Nächste Schritte
TippDa der Wert des
computerStatus-Feldes eines Computers ein Objekt (ComputerStatus) ist, können Sie in diesem Feld nicht suchen. |
Um den Status aller Computer zu überprüfen, verwenden Sie zuerst die
ComputersApi-Klasse, um alle Computer aufzulisten:computers_api = api.ComputersApi(api.ApiClient(configuration)) computers = computers_api.list_computers(api_version, expand=expand.list(), overrides=False)
Für jeden Computer überprüfen Sie den Agenten- und Appliance-Fingerabdruck. Kein Fingerabdruck
bedeutet, dass kein Agent oder keine Appliance installiert ist und der Computer nicht
geschützt ist. Beachten Sie, dass ein Computer sowohl einen Agenten als auch eine
Appliance installiert haben kann. Sie müssen den Wert beider Fingerabdrücke überprüfen.
if computer.agent_finger_print == None and computer.appliance_finger_print == None:
Wenn ein Fingerabdruck gefunden wird, holen Sie den Status des Agents oder Geräts
ein, um festzustellen, ob es aktiv ist. Jeder andere Status als aktiv kann auf ein
Problem mit dem Agenten oder Gerät hinweisen.
agent_status = computer.computer_status.agent_status
if computer.agent_finger_print != None and agent_status != "active":
...
appliance_status = computer.computer_status.appliance_status
if computer.appliance_finger_print != None and appliance_status != "active":
...
Wenn der Status nicht aktiv ist, rufen Sie die Statusmeldung und Aufgaben des Agents
oder Geräts ab. Das folgende Beispiel zeigt, wie die Informationen für einen Agenten
abgerufen werden.
if computer.computer_status.agent_status_messages != None:
computer_info.append(str(computer.computer_status.agent_status_messages))
else:
computer_info.append("")
if computer.tasks != None:
computer_info.append(str(computer.tasks.agent_tasks))
else:
computer_info.append("")
Das folgende Beispiel findet Computer, auf denen weder ein Agent noch ein Gerät installiert
ist, oder der Status des Agents und/oder Geräts nicht aktiv ist. Im vollständigen
Quellcode-Beispiel werden die Ergebnisse in einem Format zusammengestellt, das als
CSV-Datei gespeichert werden kann, um es als Tabellenkalkulation zu öffnen.
# Include computer status information in the returned Computer objects
expand = api.Expand(api.Expand.computer_status)
# Get all computers
computers_api = api.ComputersApi(api.ApiClient(configuration))
computers = computers_api.list_computers(api_version, expand=expand.list(), overrides=False)
for computer in computers.computers:
computer_info = []
# Report on computers with no agent or appliance
if computer.agent_finger_print is None and computer.appliance_finger_print is None:
# Hostname and protection type
computer_info.append(computer.host_name)
computer_info.append("None")
# Agent/appliance status and status messages
computer_info.append("No agent/appliance")
status_messages = ""
if computer.computer_status is not None and computer.computer_status.agent_status is not None:
status_messages = str(computer.computer_status.agent_status_messages)
computer_info.append(status_messages)
else:
# Report on problem agents and appliances
agent_status = computer.computer_status.agent_status
appliance_status = computer.computer_status.appliance_status
# Agent is installed but is not active
if computer.agent_finger_print is not None and agent_status != "active":
# Hostname and protection type
computer_info.append(computer.host_name)
computer_info.append("Agent")
# Agent status, status messages, and tasks
if computer.computer_status.agent_status is not None:
computer_info.append(computer.computer_status.agent_status)
else:
computer_info.append("")
if computer.computer_status.agent_status_messages is not None:
computer_info.append(str(computer.computer_status.agent_status_messages))
else:
computer_info.append("")
if computer.tasks is not None:
computer_info.append(str(computer.tasks.agent_tasks))
else:
computer_info.append("")
# Appliance is installed but is not active
if computer.appliance_finger_print is not None and appliance_status != "active":
# Hostname and protection type
computer_info.append(computer.host_name)
computer_info.append("Appliance")
# Appliance status, status messages, and tasks
if computer.computer_status.appliance_status is not None:
computer_info.append(computer.computer_status.appliance_status)
else:
computer_info.append("")
if computer.computer_status.appliance_status_messages is not None:
computer_info.append(str(computer.computer_status.appliance_status_messages))
else:
computer_info.append("")
if computer.tasks is not None:
computer_info.append(str(computer.tasks.appliance_tasks))
else:
computer_info.append("")
Siehe auch die Computer auflisten, Einen Computer beschreiben und Computer suchen Vorgänge im API-Referenz.
Computer basierend auf dem Modulstatus finden
Computer sind anfällig, wenn ein Schutzmodul ausgeschaltet ist oder ein Problem den
Agenten oder das Gerät daran hindert, das Modul korrekt auszuführen. Um zu überprüfen,
ob ein Computer durch ein Schutzmodul geschützt ist, überprüfen Sie den Modulstatus
(ein oder aus). Wenn der Status auf ein steht, überprüfen Sie auch den Modulstatus,
der die Fähigkeit des Agenten und/oder des Geräts anzeigt, das Modul auszuführen.
Jeder andere Status als
active kann auf ein Problem hinweisen, das Ihre Aufmerksamkeit erfordert. Sie können auch
Statusmeldungen erhalten, die Einblick in den Status geben können.Das folgende JSON-Beispiel stellt die Datenstruktur eines Computer-Objekts dar (einige
Elemente sind ausgelassen, um das Beispiel übersichtlicher zu gestalten). Das Anti-Malware-Modul
ist
on, jedoch zeigt der Agentenstatus für das Modul eine Warnung an.{
"hostName": "192.168.60.128",
...
"policyID": 9,
"agentFingerPrint": "76:C8:CE:B3:70:61:A3:BE:84:A2:2A:5D:1F:3A:29:8A:DC:7A:70:6C",
"agentVersion": "11.2.0.147",
"computerStatus": {...},
"computerSettings": {...},
...
"ID": 2,
"antiMalware": {
"state": "on",
"moduleStatus": {
"agentStatus": "warning",
"agentStatusMessage": "Software Update: Anti-Malware Module Installation Failed"
},
"realTimeScanConfigurationID": 1,
"realTimeScanScheduleID": 4,
"manualScanConfigurationID": 2,
"scheduledScanConfigurationID": 3
},
"webReputation": {...},
"firewall": {...},
"intrusionPrevention": {...},
"integrityMonitoring": {...},
"logInspection": {...},
"applicationControl": {...}
}
Verwenden Sie das folgende allgemeine Verfahren, um mithilfe von Modulstatus ungeschützte
Computer zu entdecken:
Prozedur
- Verwenden Sie
ComputersApi, um einComputer-Objekt zu erhalten. - Rufen Sie das Computererweiterungsobjekt für das Schutzmodul ab, an dem Sie interessiert
sind, wie z. B.
AntiMalwareComputerExtensionoderIntrusonPreventionComputerExtension. - Vom Computererweiterungsobjekt den Wert des Modulstatus abrufen, um zu sehen, ob das Modul ein- oder ausgeschaltet ist.
- Auch vom Computer-Erweiterungsobjekt das
ModuleStatus-Objekt abrufen und den Status des Agenten und der Appliance sowie Statusmeldungen erhalten.
Nächste Schritte
TippDa der Wert des
moduleStatus-Feldes einer Computererweiterung ein Objekt (ModuleStatus) ist, können Sie in diesem Feld nicht suchen. |
Um den Modulstatus aller Computer zu überprüfen, verwenden Sie zuerst die
ComputersApi-Klasse, um alle Computer aufzulisten:computers_api = api.ComputersApi(api.ApiClient(configuration)) computers = computers_api.list_computers(api_version, expand=expand.list(), overrides=False)
Für jeden Computer holen Sie den Agentenstatus für das Schutzmodul, an dem Sie interessiert
sind. Holen Sie den Modulstatus und überprüfen Sie dann den Status des Agenten oder
der Appliance. Jeder Status, der nicht aktiv ist, kann auf ein Problem mit dem Agenten
oder der Appliance hinweisen. Beachten Sie, dass, wenn kein Agent installiert ist,
kein Agentenstatus vorhanden ist. Ebenso gibt es keinen Appliancestatus, wenn keine
Appliance installiert ist.
if computer.anti_malware.module_status:
agent_status = computer.anti_malware.module_status.agent_status
appliance_status = computer.anti_malware.module_status.appliance_status
else:
agent_status = None
appliance_status = None
if agent_status and agent_status != "active":
...
if appliance_status and appliance_status != "active":
...
Für nicht-aktive Status erhalten Sie die Agenten- oder Geräte-Statusmeldung für das
Modul:
module_info.append(computer.anti_malware.module_status.agent_status_message)
module_info.append(computer.anti_malware.module_status.appliance_status_message)
Das folgende Beispiel findet Computer, bei denen das Anti-Malware-Modul deaktiviert
ist oder der Status des Moduls nicht aktiv ist. Im vollständigen Quellcode-Beispiel
werden die Ergebnisse in einem Format zurückgegeben, das als CSV-Datei gespeichert
werden kann, um es als Tabellenkalkulation zu öffnen.
computers_api = api.ComputersApi(api.ApiClient(configuration))
computers = computers_api.list_computers(api_version, expand=expand.list(), overrides=False)
# Get the list of computers and iterate over it
for computer in computers.computers:
# Module information to add to the CSV string
module_info = []
# Check that the computer has a an agent or appliance status
if computer.anti_malware.module_status:
agent_status = computer.anti_malware.module_status.agent_status
appliance_status = computer.anti_malware.module_status.appliance_status
else:
agent_status = None
appliance_status = None
# Agents that are not active for the module
if agent_status and agent_status != "active":
# Host name
module_info.append(computer.host_name)
# Module state
module_info.append(computer.anti_malware.state)
# Agent status and status message
module_info.append("Agent")
module_info.append(agent_status)
module_info.append(computer.anti_malware.module_status.agent_status_message)
# Appliances that are not active for the module
if appliance_status and appliance_status != "active":
# Host name
module_info.append(computer.host_name)
# Module state
module_info.append(computer.anti_malware.state)
# Appliance status and status message
module_info.append("Appliance")
module_info.append(appliance_status)
module_info.append(computer.anti_malware.module_status.appliance_status_message)
Siehe auch die Computer auflisten, Einen Computer beschreiben und Computer suchen Vorgänge im API-Referenz.
Den Status einer virtuellen Maschine anzeigen
Wenn ein Computer eine virtuelle Maschine ist, können Sie mehrere Eigenschaften der
virtuellen Maschine erhalten, einschließlich des Zustands (wie vom Anbieter der virtuellen
Maschine definiert). Die
Computer-Klasse bietet Zugriff auf mehrere Zusammenfassungsobjekte der virtuellen Maschine,
wie azureARMVirtualMachineSummary, ec2VirtualMachineSummary und vmwareVMVirtualMachineSummary. (Für eine vollständige Liste siehe die API-Referenz.)Sie können die Zusammenfassung der virtuellen Maschine für Ihren Computer abrufen
und sie verwenden, um die Eigenschaften der virtuellen Maschine, wie den Status, zu
überprüfen.
Computer-Konfigurationen abrufen
Computer-Objekte enthalten die Konfigurationsinformationen für einen Computer. Um Computer-Objekte zu erhalten, erstellen Sie ein ComputersApi-Objekt und rufen Sie dann entweder einen bestimmten Computer anhand der ID ab, suchen
Sie nach einer anderen Eigenschaft oder listen Sie alle Computer auf und iterieren
Sie über sie.
TippWenn Sie einen Computer erhalten, geben Sie an, ob alle Eigenschaften oder nur die
Überschreibungen, die auf diesem Computer festgelegt sind, einbezogen werden sollen:
|
Um auf die aktuelle Konfiguration eines Computers zuzugreifen, verwenden Sie das
Computer-Objekt, um ein Computererweiterungsobjekt für ein Schutzmodul zu erhalten. Um beispielsweise
Informationen über die Anti-Malware-Konfiguration oder den Status eines Computers
zu erhalten, verwenden Sie das AntiMalwareComputerExtension-Objekt. Verwenden Sie den expand-Parameter, um nur die Computerinformationen abzurufen, die Sie benötigen.# Include Anti-Malware information in the returned Computer object
expand = api.Expand(api.Expand.anti_malware, api.Expand.computer_settings)
# Get the computer object from Server- und Workload Protection
computers_api = api.ComputersApi(api.ApiClient(configuration))
computer = computers_api.describe_computer(computer_id, api_version, expand=expand.list(), overrides=False)
# Get the Anti-Malware scan configuration id for the computer
real_time_scan_configuration_id = computer.anti_malware.real_time_scan_configuration_id
# Get the Anti-Malware properties for the computer
am_configs_api = api.AntiMalwareConfigurationsApi(api.ApiClient(configuration))
return am_configs_api.describe_anti_malware(real_time_scan_configuration_id, api_version)
Entdecken Sie die Anti-Malware-Konfiguration eines Computers
AntiMalwareComputerExtension-Objekte bieten Zugriff auf die folgenden Elemente der Anti-Malware-Konfiguration
für einen Computer:- Anti-Malware-Modul Betriebszustand (ein oder aus)
- Malware-Suche Konfigurationen
Verwenden Sie die folgenden allgemeinen Schritte, um die Anti-Malware-Konfiguration
für Ihre Computer zu erhalten:
Prozedur
- Verwenden Sie ein
ComputersApi-Objekt, um dasComputer-Objekt zu erhalten. - Verwenden Sie das
Computer-Objekt, um dasAntiMalwareComputerExtension-Objekt zu erhalten. - Den Status des Anti-Malware-Moduls abrufen.
- Abrufen der Durchsuchungskonfigurationen.
Nächste Schritte
Das folgende Beispiel ermittelt bestimmte Eigenschaften der Anti-Malware-Konfigurationen
eines Computers
# Get the anti-malware scan configuration id for the computer real_time_scan_configuration_id = computer.anti_malware.real_time_scan_configuration_id # Get the anti-malware properties for the computer am_configs_api = api.AntiMalwareConfigurationsApi(api.ApiClient(configuration)) return am_configs_api.describe_anti_malware(real_time_scan_configuration_id, api_version)
Siehe auch die Computer auflisten, Einen Computer beschreiben und Computer suchen Vorgänge im API-Referenz.
Angewandte Regeln zum Eindringschutz abrufen
Bestimmen Sie die Regeln zum Eindringschutz, die auf Ihre Computer angewendet werden,
um sicherzustellen, dass die erforderlichen Schutzmaßnahmen vorhanden sind.
Prozedur
- Verwenden Sie ein
ComputersApi-Objekt, um dieComputer-Objekte zu erhalten. - Für jedes
Computer-Objekt dasIntrusionPreventionComputerExtension-Objekt abrufen. - Erhalten Sie die Liste der Regeln zum Eindringschutz.
Nächste Schritte
Das folgende Beispiel ruft die Regeln zum Eindringschutz ab, die auf Computer angewendet
werden.
# Extract intrusion prevention rules from the computers
im_rules = {}
for computer in computers_list.computers:
im_rules[computer.host_name] = computer.intrusion_prevention.rule_ids
return im_rules
Siehe auch die Computer auflisten, Einen Computer beschreiben und Computer durchsuchen Operationen im API-Referenzhandbuch. Für Informationen zur Authentifizierung von
API-Aufrufen siehe Authentifizierung mit Server- und Workload Protection.
