====== 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/SNMP-Traps empfangen werden können). Die Log-Meldungen werden dann einfach über reguläre Ausdrücke (Regular Expressions, auch „Regexp“) ausgewertet. ===== Einrichtung der Funktion ===== 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/Disable Rules“ {{ ::aqm:aqm1.png?direct |}} * 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!) {{ ::aqm:aqm4.png?direct |}} * Im „Device Manager“ muss bei Access Switches an denen Ports deaktiviert werden könnnen, die Einstellung „Allow Port Disabling“ aktiviert werden {{ ::aqm:aqm2.png?direct |}} * Da für die Erkennung des Anschlusses der „Locator“ verwendet wird, empfehle ich „getaggte Ports“ von der Auflistung auszuschließen (Exclude Q Tagged Ports) {{ ::aqm:aqm3.png?direct |}} * 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 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:~$ logger -n 192.168.2.15 -d 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 * Hat man keine Linux-VM/-Maschine zur Verfügung sondern macOS oder Windows10/11 (mit z.B. MobaXterm), kann das Kommando wie folgt verwendet werden % 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, ob der Client aus dem Netzwerk ausgeschlossen werden soll {{ ::aqm:aqm5.png?direct |}} * Ich nehme an der Administrator hat sich für „Ban“ entschieden * Das Gerät wird daraufhin vom Netzwerk getrennt und der Port deaktiviert {{ ::aqm:aqm6.png?direct |}} * Unter „Disabled Ports“ werden alle vom Quarantäne Manager deaktivierten Ports aufgeführt * Mit einem Klick auf „Release“ kann ein Port wieder freigegeben werden {{ ::aqm:aqm7.png?direct |}} ===== 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 {{ ::aqm:aqm8.png?direct |}} * Der Eintrag erscheint dann in der gleichen Liste und kann ebenfalls über „Release“ wieder freigegeben werden {{ ::aqm:aqm9.png?direct |}} ===== Fehleranalyse / Logs ===== * Die Logs sind unter **Administration → All Current Logs → quarantine.log** zu finden {{ ::aqm:aqm10.png?direct |}} ===== 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! {{ ::aqm:aqm11.png?direct |}} * In diesem Fall wurde der Client direkt in die „Banned“-Liste übernommen {{ ::aqm:aqm12.png?direct |}} * Dies geht auch aus dem Eintrag im quarantine.log hervor {{ ::aqm:aqm13.png?direct |}} ===== Automatisches Sperren und Freigeben von Ports ===== * Oft können/sollen Sperrungen automatisch freigegeben werden, wenn die verwendeten Tools dies ermöglichen * 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)] {{ ::aqm:aqm14.png?direct |}} * Log-Meldung um den Port (automatisch) zu sperren benny@tiger:~$ logger -n 192.168.2.15 -d device_id=FGT50xxxxxxxxxxx log_id=0420070000 type=ips subtype=signature pri=alert attack_id=103022660 src=192.168.11.164 dst=217.12.6.122 src_port=2098 dst_port=80 src_int=internal dst_int=n/a status=dropped proto=6 * Regel um den Sperrzustand wieder aufzuheben Name: Fortinet Signature Restore Description: Fortinet IDS Signature Restore Trigger Expression: log_id=0420070000.*status=(release)+ Extraction Expression: src=([0-9.]*) Action: RELEASE Enabled: true Event Type: SYSLOG {{ ::aqm:aqm15.png?direct |}} * Log-Meldung um den Port freizugeben benny@tiger:~$ logger -n 192.168.2.15 -d device_id=FGT50xxxxxxxxxxx log_id=0420070000 type=ips subtype=signature pri=alert attack_id=103022660 src=192.168.11.164 dst=217.12.6.122 src_port=2098 dst_port=80 src_int=internal dst_int=n/a status=release proto=6 * Hat man keine Linux-VM/-Maschine zur Verfügung sondern macOS oder Windows10/11 (mit z.B. MobaXterm), kann das Kommando wie folgt verwendet werden % 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 {{ ::aqm:aqm16.png?direct |}} ===== 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:33:28.004235+02:00 tiger benny - - [timeQuality tzKnown="1" isSynced="1" syncAccuracy="215500"] device_id=FGT50xxxxxxxxxxx log_id=0420070000 type=ips subtype=signature pri=alert attack_id=103022660 src=192.168.11.164 dst=217.12.6.122 src_port=2098 dst_port=80 src_int=internal dst_int=n/a status=dropped proto=6 MacAddress - The MAC address of the device being banned or release. dca632:554e61 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:554e61 (192.168.11.164) was Banned using the Quarantined VLAN at 5/22/22 5:33 PM. The device was Banned because <13>1 2022-05-22T17:33:28.004235+02:00 tiger benny - - [timeQuality tzKnown="1" isSynced="1" syncAccuracy="215500"] device_id=FGT50xxxxxxxxxxx log_id=0420070000 type=ips subtype=signature pri=alert attack_id=103022660 src=192.168.11.164 dst=217.12.6.122 src_port=2098 dst_port=80 src_int=internal dst_int=n/a status=dropped proto=6 ===== Weiterführende Links - Whitepaper / Application Note ===== * [[https://www.al-enterprise.com/-/media/assets/internet/documents/omnivista-upam-fortinet-sso-application-note-en.pdf|Alcatel-Lucent OmniVista 2500 UPAM and Fortinet Single Sign-On Application Note]] * [[https://www.al-enterprise.com/en/-/media/assets/internet/documents/t-to-z/upam-pan-firewall-integration-application-note-eng.pdf|OmniVista UPAM and Palo Alto Networks User-ID Integration Guide]]