====== 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]]