omnivista-2500-advanced-quarantine-manager-aqm
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | omnivista-2500-advanced-quarantine-manager-aqm [2024/06/09 15:04] (aktuell) – angelegt benny | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Verwendung des OmniVista 2500 Advanced Quarantine Manager (AQM) ====== | ||
+ | |||
+ | Der OmniVista 2500 Advanced Quarantine Manager (AQM) bietet eine zentrale Möglichkeit um auf Sicherheitsmeldungen zu reagieren. In diesem Artikel wird exemplarisch anhand einer Fortinet Log-Meldung gearbeitet, es können aber einfach eigene Einträge für beliebige Systeme hinterlegt werden (dafür müssen nur die Log-Meldungen/ | ||
+ | |||
+ | ===== Einrichtung der Funktion ===== | ||
+ | |||
+ | <WRAP center round tip 60%> | ||
+ | Da im Zuge der Einrichtung dieser Funktion Log-Meldungen an OmniVista geschickt werden, sollte man überlegen wie man einschränkt wer dies darf (z.B. an der Firewall nur für Management-Netzwerke zulassen) | ||
+ | </ | ||
+ | |||
+ | * Auswahl des Eintrags „Fortinet Signature“ | ||
+ | * Aktivieren über Klick auf „Enable/ | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | * Damit Ports deaktiviert werden können, muss „Allow Port Disabling“ in der Konfiguration aktiviert und abgespeichert werden (diese Konfiguration muss dafür nicht auf Switches ausgerollt werden!) | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | * Im „Device Manager“ muss bei Access Switches an denen Ports deaktiviert werden könnnen, die Einstellung „Allow Port Disabling“ aktiviert werden | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | * Da für die Erkennung des Anschlusses der „Locator“ verwendet wird, empfehle ich „getaggte Ports“ von der Auflistung auszuschließen (Exclude Q Tagged Ports) | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | * Die Vorbereitungen sind nun abgeschlossen! | ||
+ | |||
+ | ===== Simulation einer Log-Meldung ===== | ||
+ | |||
+ | * OmniVista 2500: 192.168.2.15 (-n w.x.y.z - die IP Adresse von OmniVista 2500, Port 514 UDP) | ||
+ | * IP des Clients: 192.168.11.164 ( src= - dieser Client soll vom Netzwerk getrennt werden) | ||
+ | * „logger“ ist bei Debian Bullseye standardmäßig installiert | ||
+ | |||
+ | <WRAP center round tip 60%> | ||
+ | Es ist wichtig dass die Log-Meldung einen **status=dropped** und nicht z.B. **status=detected** oder **status=pass_session** beeinhaltet (wenn man dies verwenden möchte, muss der reguläre Ausdruck umgestellt werden) | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | benny@tiger: | ||
+ | </ | ||
+ | |||
+ | * Hat man keine Linux-VM/ | ||
+ | |||
+ | < | ||
+ | % echo device_id=FGT50xxxxxxxxxxx log_id=0420070000 type=ips subtype=signature pri=alert attack_id=103022660 src=192.168.11.164 dst=1.2.3.4 src_port=2098 dst_port=80 src_int=internal dst_int=n/a status=dropped proto=6 | nc -u 192.168.2.15 514 | ||
+ | </ | ||
+ | |||
+ | ===== Demo: Port abschalten auf Basis von Log-Meldung ===== | ||
+ | |||
+ | * Der Raspberry Pi mit IP-Adresse 192.168.11.164 ist am OS6465T-P12 Port 1/1/9 angeschlossen | ||
+ | * Die vorherigen Punkt genannte Log-Meldung wird gesendet | ||
+ | * Das Gerät wird nun in „Candidate List“ aufgeführt | ||
+ | * Der Administrator kann nun entscheiden, | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | * Ich nehme an der Administrator hat sich für „Ban“ entschieden | ||
+ | * Das Gerät wird daraufhin vom Netzwerk getrennt und der Port deaktiviert | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | * Unter „Disabled Ports“ werden alle vom Quarantäne Manager deaktivierten Ports aufgeführt | ||
+ | * Mit einem Klick auf „Release“ kann ein Port wieder freigegeben werden | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | ===== Demo: Port abschalten via Locator ===== | ||
+ | |||
+ | * Über den Locator ist es ebenfalls möglich ein Gerät zu sperren, dafür wählt man den Eintrag aus und hinterlegt einen Kommentar mit dem Grund | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | * Der Eintrag erscheint dann in der gleichen Liste und kann ebenfalls über „Release“ wieder freigegeben werden | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | ===== Fehleranalyse / Logs ===== | ||
+ | * Die Logs sind unter **Administration → All Current Logs → quarantine.log** zu finden | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | ===== Automatisches Sperren von Ports ===== | ||
+ | |||
+ | * Soll der manuelle Schritt über die „Candidates“ umgangen (automatisiert) werden, stellt man die Regel von „Candidate“ auf „Quarantine“ um | ||
+ | * Achtung: Ich empfehle die getroffenen Einstellungen gründlich zu testen, bevor man dies automatisch ausführen lässt! | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | * In diesem Fall wurde der Client direkt in die „Banned“-Liste übernommen | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | * Dies geht auch aus dem Eintrag im quarantine.log hervor | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | ===== Automatisches Sperren und Freigeben von Ports ===== | ||
+ | * Oft können/ | ||
+ | * In diesem Beispiel sperren wir einen Port und geben diesen bei einer „release“-Logmeldung (Annahme, wird vermutlich anders heißen - ich habe aber keine Fortinet Firewall zur Hand) wieder frei | ||
+ | * Der reguläre Ausdruck für die Fortinet Signature wird wie folgt angepasst | ||
+ | * Der Eintrag steht außerdem auf „Quarantine“ | ||
+ | |||
+ | < | ||
+ | log_id=0420070000.*status=[^p].[^t].[^(release)] | ||
+ | </ | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | * Log-Meldung um den Port (automatisch) zu sperren | ||
+ | |||
+ | < | ||
+ | benny@tiger: | ||
+ | </ | ||
+ | |||
+ | * Regel um den Sperrzustand wieder aufzuheben | ||
+ | |||
+ | < | ||
+ | Name: Fortinet Signature Restore | ||
+ | Description: | ||
+ | Trigger Expression: log_id=0420070000.*status=(release)+ | ||
+ | Extraction Expression: src=([0-9.]*) | ||
+ | Action: RELEASE | ||
+ | Enabled: true | ||
+ | Event Type: SYSLOG | ||
+ | </ | ||
+ | {{ :: | ||
+ | |||
+ | * Log-Meldung um den Port freizugeben | ||
+ | |||
+ | < | ||
+ | benny@tiger: | ||
+ | </ | ||
+ | |||
+ | * Hat man keine Linux-VM/ | ||
+ | |||
+ | < | ||
+ | % echo device_id=FGT50xxxxxxxxxxx log_id=0420070000 type=ips subtype=signature pri=alert attack_id=103022660 src=192.168.11.164 dst=1.2.3.4 src_port=2098 dst_port=80 src_int=internal dst_int=n/a status=released proto=6 | nc -u 192.168.2.15 514 | ||
+ | </ | ||
+ | |||
+ | * Im **quarantine.log** kann man folgenden Vorgang beobachten | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | ===== Benachrichtung per eMail ===== | ||
+ | Es ist möglich Responder einzurichten die bei Events eine Benachrichtung senden. | ||
+ | * Konfiguration für die eMail | ||
+ | |||
+ | < | ||
+ | |||
+ | OmniVista AI/ML disconnected a malicious network device! | ||
+ | |||
+ | Action - The action being taken, a ban or a release. | ||
+ | Banned | ||
+ | |||
+ | Reason - The Reason field from the QM object. | ||
+ | <13>1 2022-05-22T17: | ||
+ | |||
+ | MacAddress - The MAC address of the device being banned or release. | ||
+ | dca632: | ||
+ | |||
+ | IpAddress - The IP address of the device being banned or release. If the IP address is unknown it will be displayed as 0.0.0.0 | ||
+ | 192.168.11.164 | ||
+ | |||
+ | VlanName - The name of the VLAN that the device was banned to or released from: | ||
+ | Quarantined | ||
+ | |||
+ | MacGroupName - The MAC group that the device was banned to or released from: | ||
+ | Quarantined | ||
+ | |||
+ | Details - Contains a message with the Action, Mac, IP address, Vlan, and MacGroupName: | ||
+ | Device dca632: | ||
+ | </ | ||
+ | |||
+ | ===== Weiterführende Links - Whitepaper / Application Note ===== | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||