Cisco Secure ACS-Protokolle erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie mit einem Google Security Operations-Weiterleiter Cisco Secure Access Control Server-Protokolle (ACS) erfassen können.

Weitere Informationen finden Sie unter Datenaufnahme in Google Security Operations.

Mit einem Datenaufnahmelabel wird der Parser angegeben, der Roh-Logdaten in das strukturierte UDM-Format normalisiert. Die Informationen in diesem Dokument beziehen sich auf den Parser mit dem Datenaufnahmelabel CISCO_ACS.

Cisco Secure ACS konfigurieren

  1. Melden Sie sich mit Administratoranmeldedaten in der Cisco Secure ACS-Konsole an.
  2. Wählen Sie in der Cisco Secure ACS-Konsole Systemadministration > Konfiguration > Protokollkonfiguration > Remote-Protokollziele aus.
  3. Klicken Sie auf Erstellen.
  4. Geben Sie im Fenster Erstellen Werte für die folgenden Felder ein:

    Feld Beschreibung
    Name Name des Google Security Operations-Weiterleiters.
    Beschreibung Beschreibung des Google Security Operations-Weiterleitungsservers.
    IP-Adresse IP-Adresse des Google Security Operations-Forwarders.
    Erweiterte syslog-Optionen verwenden Wählen Sie diese Option aus, um die erweiterten syslog-Optionen zu aktivieren.
    Zieltyp Wählen Sie „TCP Syslog“ oder „UDP Syslog“ aus.
    Port Verwenden Sie einen hohen Port, z. B. 10514.
    Einrichtungscode LOCAL6 (Code = 22; Standard)
    Zulässige Höchstlänge Der empfohlene Wert ist 1.024.
  5. Klicken Sie auf Senden. Das Fenster Remote-Logziele mit der neuen Konfiguration für Remote-Logziele wird angezeigt.

  6. Wählen Sie in der Cisco Secure ACS-Konsole Systemadministration > Konfiguration > Protokollkonfiguration > Protokollkategorien > Pro Instanz aus.

  7. Wählen Sie ACS aus und klicken Sie dann auf Konfigurieren.

  8. Wählen Sie im Fenster Pro Instanz eine Logging-Kategorie aus und klicken Sie auf Bearbeiten.

    Auf dem Tab Allgemein muss für einige Protokollierungskategorien die Protokollierungsschwere auf „Standard“ oder wie vom Anbieter angegeben festgelegt sein.

    Bei Cisco Secure ACS ist der Standardschweregrad Warnung für alle Protokollierungskategorien, mit Ausnahme derer, für die der Schweregrad nicht geändert werden kann, z. B. AAA-Audit-Benachrichtigung, Ressourcenerfassungs-Benachrichtigung, administrative und betriebliche Audit-Benachrichtigung und Systemstatistik-Benachrichtigung.

  9. Klicken Sie auf den Tab Remote-Syslog-Ziel und verschieben Sie das neu erstellte Remote-Ziel von Verfügbare Ziele zu Ausgewählte Ziele.

  10. Klicken Sie auf Senden.

  11. Wenn Sie Remoteziele für andere Logging-Kategorien konfigurieren möchten, wiederholen Sie die Schritte 8 bis 10.

Google Security Operations-Weiterleiter und syslog für die Aufnahme von Cisco Secure ACS-Protokollen konfigurieren

  1. Gehen Sie zu SIEM-Einstellungen > Weiterleitungen.
  2. Klicken Sie auf Neuen Weiterleiter hinzufügen.
  3. Geben Sie im Feld Name des Absenders einen eindeutigen Namen für den Absender ein.
  4. Klicken Sie auf Senden. Der Weiterleiter wird hinzugefügt und das Fenster Aufnehmerkonfiguration hinzufügen wird angezeigt.
  5. Geben Sie im Feld Name des Collectors einen Namen ein.
  6. Wählen Sie Cisco ACS als Logtyp aus.
  7. Wählen Sie Syslog als Typ des Collectors aus.
  8. Konfigurieren Sie die folgenden obligatorischen Eingabeparameter:
    • Protokoll: Geben Sie das Protokoll an.
    • Adresse: Geben Sie die Ziel-IP-Adresse oder den Hostnamen an, unter dem sich der Collector befindet, und die Adressen der Syslog-Daten.
    • Port: Gibt den Zielport an, an dem sich der Collector befindet und auf Syslog-Daten wartet.
  9. Klicken Sie auf Senden.

Weitere Informationen zu Google Security Operations-Weiterleitungen finden Sie in der Dokumentation zu Google Security Operations-Weiterleitungen. Informationen zu den Anforderungen für die einzelnen Weiterleitungstypen finden Sie unter Weiterleitungskonfiguration nach Typ. Wenn beim Erstellen von Weiterleitungen Probleme auftreten, wenden Sie sich an den Google Security Operations-Support.

Referenz für die Feldzuordnung

Dieser Parser verarbeitet Cisco ACS-Protokolle, einschließlich Authentifizierung, Ressourcenerfassung, Diagnose und Systemstatistiken. Es verwendet Grok-Muster, um Felder aus verschiedenen Protokollformaten (SYSLOG + KV, LEEF) zu extrahieren, Zeitstempel und Zeitzonen zu normalisieren und Schlüsselfelder dem UDM zuzuordnen. Dabei werden verschiedene Protokolltypen mit einer speziellen Logik für erfolgreiche/fehlgeschlagene Authentifizierungen, TACACS+-Ressourcenerfassung und RADIUS-Ereignisse verarbeitet. Außerdem werden dem UDM zusätzliche Felder wie Geräteinformationen und Authentifizierungsdetails hinzugefügt.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
Acct-Authentic additional.fields[].value.string_value Der Wert wird aus dem Feld Acct-Authentic übernommen.
Acct-Delay-Time additional.fields[].value.string_value Der Wert wird aus dem Feld Acct-Delay-Time übernommen.
Acct-Input-Octets additional.fields[].value.string_value Der Wert wird aus dem Feld Acct-Input-Octets übernommen.
Acct-Input-Packets additional.fields[].value.string_value Der Wert wird aus dem Feld Acct-Input-Packets übernommen.
Acct-Output-Octets additional.fields[].value.string_value Der Wert wird aus dem Feld Acct-Output-Octets übernommen.
Acct-Output-Packets additional.fields[].value.string_value Der Wert wird aus dem Feld Acct-Output-Packets übernommen.
Acct-Session-Id additional.fields[].value.string_value Der Wert wird aus dem Feld Acct-Session-Id übernommen.
Acct-Session-Time additional.fields[].value.string_value Der Wert wird aus dem Feld Acct-Session-Time übernommen.
Acct-Status-Type additional.fields[].value.string_value Der Wert wird aus dem Feld Acct-Status-Type übernommen.
Acct-Terminate-Cause additional.fields[].value.string_value Der Wert wird aus dem Feld Acct-Terminate-Cause übernommen.
ACSVersion additional.fields[].value.string_value Der Wert wird aus dem Feld ACSVersion übernommen.
AD-Domain principal.group.group_display_name Der Wert wird aus dem Feld AD-Domain übernommen.
AD-IP-Address principal.ip Der Wert wird aus dem Feld AD-IP-Address übernommen.
Called-Station-ID additional.fields[].value.string_value Der Wert wird aus dem Feld Called-Station-ID übernommen.
Calling-Station-ID additional.fields[].value.string_value Der Wert wird aus dem Feld Calling-Station-ID übernommen.
Class additional.fields[].value.string_value Der Wert wird aus dem Feld Class übernommen.
CmdSet (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
ConfigVersionId additional.fields[].value.number_value Der Wert wird aus dem Feld ConfigVersionId übernommen und in eine Gleitkommazahl konvertiert.
DestinationIPAddress target.ip, intermediary.ip Der Wert wird aus dem Feld DestinationIPAddress übernommen. intermediary.ip leitet sich von Device IP Address ab.
DestinationPort target.port Der Wert wird aus dem Feld DestinationPort übernommen und in eine Ganzzahl konvertiert.
Device IP Address intermediary.ip Der Wert wird aus dem Feld Device IP Address übernommen.
Device Port intermediary.port Der Wert wird aus dem Feld Device Port übernommen und in eine Ganzzahl konvertiert.
DetailedInfo security_result.summary, security_result.description, security_result.action Wenn DetailedInfo „Authentifizierung erfolgreich“ ist, security_result.summary „Erfolgreiche Anmeldung“ und security_result.action „ZULASSEN“. Wenn DetailedInfo „Ungültiger Nutzername oder ungültiges Passwort angegeben“ enthält, ist security_result.summary „Anmeldung fehlgeschlagen“ und security_result.action BLOCK. security_result.description leitet sich von log_header ab.
Framed-IP-Address principal.ip Der Wert wird aus dem Feld Framed-IP-Address übernommen.
Framed-Protocol additional.fields[].value.string_value Der Wert wird aus dem Feld Framed-Protocol übernommen.
NAS-IP-Address target.ip Der Wert wird aus dem Feld NAS-IP-Address übernommen.
NAS-Port additional.fields[].value.string_value Der Wert wird aus dem Feld NAS-Port übernommen.
NAS-Port-Id target.port Der Wert wird aus dem Feld NAS-Port-Id übernommen und in eine Ganzzahl konvertiert.
NAS-Port-Type additional.fields[].value.string_value Der Wert wird aus dem Feld NAS-Port-Type übernommen.
NetworkDeviceName target.hostname Der Wert wird aus dem Feld NetworkDeviceName übernommen.
Protocol additional.fields[].value.string_value Der Wert wird aus dem Feld Protocol übernommen.
RadiusPacketType (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
Remote-Address principal.ip, target.ip Der Wert wird aus dem Feld Remote-Address übernommen und als IP-Adresse geparst. Sie wird für Authentifizierungsereignisse mit principal.ip und für Abrechnungs- und Diagnoseereignisse mit target.ip abgeglichen.
RequestLatency additional.fields[].value.string_value Der Wert wird aus dem Feld RequestLatency übernommen.
Response principal.user.userid Wenn Response „Nutzername“ enthält, wird der Nutzername extrahiert und principal.user.userid zugeordnet.
SelectedAccessService additional.fields[].value.string_value Der Wert wird aus dem Feld SelectedAccessService übernommen.
SelectedAuthenticationIdentityStores security_result.detection_fields[].value Der Wert wird aus dem Feld SelectedAuthenticationIdentityStores übernommen.
SelectedAuthorizationProfiles security_result.detection_fields[].value Der Wert wird aus dem Feld SelectedAuthorizationProfiles übernommen.
Service-Type additional.fields[].value.string_value Der Wert wird aus dem Feld Service-Type übernommen.
Tunnel-Client-Endpoint additional.fields[].value.string_value Der Wert wird aus dem Feld Tunnel-Client-Endpoint übernommen und als IP-Adresse geparst.
User target.user.userid Der Wert wird aus dem Feld User übernommen.
UserName target.user.userid, principal.mac Wenn UserName eine MAC-Adresse ist, wird sie analysiert und principal.mac zugeordnet. Andernfalls wird ihm target.user.userid zugewiesen.
ac-user-agent network.http.user_agent Der Wert wird aus dem Feld ac-user-agent übernommen.
cat metadata.description Der Wert wird aus dem Feld cat übernommen.
device-mac principal.mac Der Wert wird aus dem Feld device-mac übernommen, Doppelpunkte werden hinzugefügt und der Wert wird in Kleinbuchstaben umgewandelt. Wenn device-mac „00“ ist, wird es durch „00:00:00:00:00:00“ ersetzt.
device-platform principal.asset.platform_software.platform Wenn device-platform „win“ ist, wird principal.asset.platform_software.platform der Wert „WINDOWS“ zugewiesen.
device-platform-version principal.asset.platform_software.platform_version Der Wert wird aus dem Feld device-platform-version übernommen.
device-public-mac principal.mac Der Wert wird aus dem Feld device-public-mac übernommen, Bindestriche werden durch Doppelpunkte ersetzt und der Wert wird in Kleinbuchstaben umgewandelt.
device-type principal.asset.hardware.model Der Wert wird aus dem Feld device-type übernommen.
device-uid principal.asset.asset_id Der Wert wird aus dem Feld device-uid übernommen und mit „ASSET-ID: “ vorangestellt.
device-uid-global principal.asset.product_object_id Der Wert wird aus dem Feld device-uid-global übernommen.
hostname principal.hostname Der Wert wird aus dem Feld hostname übernommen.
ip:source-ip principal.ip Der Wert wird aus dem Feld ip:source-ip übernommen.
kv.ADDomain (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
kv.Airespace-Wlan-Id (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
kv.AuthenticationIdentityStore (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
kv.AVPair (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
kv.CVPN3000/ASA/PIX7.x-DAP-Tunnel-Group-Name (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
kv.CVPN3000/ASA/PIX7.x-Group-Based-Address-Pools (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
kv.ExternalGroups (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
kv.FailureReason (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
kv.IdentityAccessRestricted (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
kv.IdentityGroup (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
kv.NAS-Identifier (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
kv.SelectedShellProfile (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
kv.ServiceSelectionMatchedRule (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
kv.State (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
kv.Step (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
kv.Tunnel-Medium-Type (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
kv.Tunnel-Private-Group-ID (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
kv.Tunnel-Type (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
kv.UseCase (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
kv.UserIdentityGroup (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
kv.VendorSpecific (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
kv.attribute-131 (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
kv.attribute-89 (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
kv.cisco-av-pair (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
kv.cisco-av-pair:CiscoSecure-Group-Id (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
leef_version (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
log_header metadata.description Der Wert wird aus dem Feld log_header übernommen.
log_id metadata.product_log_id Der Wert wird aus dem Feld log_id übernommen.
log_type metadata.product_event_type Der Wert wird aus dem Feld log_type übernommen.
message_severity (nicht zugeordnet) Nicht dem IDM-Objekt zugeordnet.
product metadata.product_name Der Wert wird aus dem Feld product übernommen.
product_version metadata.product_version Der Wert wird aus dem Feld product_version übernommen.
server_host target.hostname Der Wert wird aus dem Feld server_host übernommen.
timestamp metadata.event_timestamp Der Wert wird aus dem Feld timestamp und dem Feld timezone (nach Entfernen des Doppelpunkts) übernommen. Der kombinierte Wert wird als Zeitstempel geparst.
url network.dns.questions[].name Der Wert wird aus dem Feld url übernommen.
vendor metadata.vendor_name Der Wert wird aus dem Feld vendor übernommen. Wird zuerst auf „GENERIC_EVENT“ gesetzt und dann möglicherweise basierend auf den log_type- und geparsten Feldern überschrieben. Kann „USER_LOGIN“, „USER_UNCATEGORIZED“, „NETWORK_DNS“, „NETWORK_CONNECTION“, „STATUS_UPDATE“ oder „STATUS_UNCATEGORIZED“ sein. Wird zuerst auf „Cisco“ festgelegt und dann möglicherweise vom Feld vendor überschrieben. Wird zuerst auf „ACS“ gesetzt und dann möglicherweise vom Feld product überschrieben. Legen Sie „CISCO_ACS“ fest. Legen Sie diesen Wert auf „USERNAME_PASSWORD“ fest. Legen Sie „TACACS“ fest. Legen Sie für RADIUS-Ressourcenerfassung und Diagnoseereignisse „UDP“ fest. Legen Sie für DNS-Ereignisse „DNS“ fest. Abgeleitet aus dem Feld security_action, das je nach Erfolg der Anmeldung festgelegt wird. Legen Sie für erfolgreiche Anmeldungen „successful login occurred“ (Erfolgreiche Anmeldung) und für fehlgeschlagene Anmeldungen „failed login occurred“ (Fehlgeschlagene Anmeldung) fest. Kann auch für bestimmte Diagnoseereignisse des Identitätsspeichers auf „Erfolgreich“ gesetzt werden. Legen Sie für fehlgeschlagene Anmeldeversuche „LOW“ fest. Wird erstellt, indem dem Feld device-uid „ASSET-ID: “ vorangestellt wird.

Änderungen

2023-09-26

  • Verbesserung –
  • „hostname“ wurde auf „null“ initialisiert und eine Prüfung hinzugefügt, ob der Hostname nicht null ist, bevor „metadata.event_type“ auf „STATUS_UPDATE“ gesetzt wurde.
  • „kv.DeviceIPAddress“ und „kv.Remote-Address“ wurden vor der Zuordnung zu UDM-Feldern einer Prüfung auf gültige IP-Adressen unterzogen.

2022-08-19

  • Verbesserung –
  • „Nutzername“ wurde „principal.user.userid“ zugeordnet.
  • „ip:source-ip“ in „source_ip“ umbenannt und „principal.ip“ zugeordnet
  • „kv.audit-session-id“ wurde in „kv.audit_session_id“ umbenannt und „network.session_id“ zugeordnet.
  • „kv.AuthenticationMethod“ wurde „additional.fields“ zugeordnet.
  • „kv.SelectedAccessService“ wurde „additional.fields“ zugeordnet.
  • „kv.SelectedAuthorizationProfiles“ wurde in „security_result.detection_fields“ umgewandelt.
  • „kv.SelectedAuthenticationIdentityStores“ wurde „security_result.detection_fields“ zugeordnet.
  • „kv.device-uid-global“ wurde „principal.asset.product_object_id“ zugeordnet.
  • „kv.device-uid“ wurde „principal.asset.asset_id“ zugeordnet.
  • „metadata.event_type“ wurde in „USER_UNCATEGORIZED“ umgewandelt, wenn kv.DestinationIPAddress und kv.NAS-IP-Address und kv.NAS-IP-Address und kv.UserName und kv.NetworkDeviceName null sind.
  • Unterstützung für Protokolle im LEEF-Format

2022-06-14

  • Verbesserung: Grok wurde so geändert, dass Logs vom Typ „log_type = CSCOacs_Passed_Authentications“ geparst werden, die aufgrund mehrerer Leerzeichen fehlgeschlagen waren.
  • Der Wert „device-mac“ wurde für den Protokolltyp „CSCOacs_RADIUS_Accounting“ bei einem ungültigen Wert (00) durch den Dummy-Wert „00:00:00:00:00:00“ ersetzt.

2022-06-06

  • Verbesserung: Geparste Protokolle vom Typ „CSCOacs_Passed_Authentications“, die weder „DestinationIPAddress“ noch „NAS-IP-Address“ enthalten.
  • Der Typ „metadata.event_type“ wurde für Protokolle vom Typ „CSCOacs_Passed_Authentications“ von „USER_UNCATEGORIZED“ in „USER_LOGIN“ geändert.

2022-05-05

  • Verbesserung: Die neu aufgenommenen Protokolle ohne Nachrichtencode werden geparst und gelöscht.

2022-04-27

  • Verbesserung: Die Protokolle mit log_type=CISE_TACACS_Accounting wurden geparst.