OPNsense Suricata Eigene Regeln
Zur Navigation springen
Zur Suche springen
Eigene Regeln
- Eigene Regeln kommen nach /usr/local/etc/suricata/rules
- Mann kann sie nicht auf der Weboberfläche erstellen
- Am besten man macht eine eigene Datei mit der Endung *.rules
- Man findet sie auf der Weboberfläche dann direkt unter
- Indrusion Detection
- Administration
- Rules
- Administration
- Sie müssen aber noch aktiviert werden.
- Wenn man den IPS Modus ausgewählt hat, kann man zwischen Alert und Drop auswählen.
- Drop funktioniert momentan nur bei einem Interface.
Untersuchungen mit Chrome
Beispiele
- cat own.rules
alert icmp any any -> any any (msg:"ICMP Test"; classtype:misc-activity ; sid:1;) alert http any any -> any any (msg: "Command Injection - Semicolon in POST DATA"; classtype:web-application-attack ; flow:established; content:"%3B"; nocase; http_client_body; sid:2;) alert http any any -> any any (msg: "Possible SQL Injection attack (Contains singlequote POST DATA)"; classtype:web-application-attack ; flow:established,to_server; content:"%27"; nocase; http_client_body; sid:3;)
alert icmp any any -> any any (msg:"ICMP Test"; classtype:icmp ; sid:1;)
| Schlüsselwort | Beschreibung |
|---|---|
| alert | Dieses Schlüsselwort gibt an, dass ein Alarm ausgelöst werden soll, wenn das Muster in der Regel erkannt wird. Ein Alarm kann eine Benachrichtigung an den Administrator oder eine andere Reaktion auf das erkannte Muster sein. |
| icmp | Dies steht für das Internet Control Message Protocol, das für den Austausch von Nachrichten und Diagnoseinformationen in IP-Netzwerken verwendet wird. Diese Regel überwacht den Verkehr, der das ICMP-Protokoll verwendet. |
| any | Dieser Platzhalter steht für jedes mögliche Quell- oder Zielattribut. In diesem Fall bedeutet any any, dass sowohl der Quell- als auch der Ziel-IP-Adressbereich nicht eingeschränkt sind. |
| -> | Dieser Pfeil zeigt die Richtung des Datenverkehrs an. In diesem Fall bedeutet any any -> any any, dass der Datenverkehr in beide Richtungen (hin und zurück) überwacht wird. |
| (msg:"ICMP Test";) | Dies ist eine optionale Nachricht, die dem Administrator mitteilt, warum der Alarm ausgelöst wurde. In diesem Fall lautet die Nachricht "ICMP Test". |
| classtype:icmp | Dies gibt an, zu welcher Klasse von Angriffen oder Ereignissen die Regel gehört. In diesem Fall ist es ein ICMP-Typ. |
| sid:1 | Dies ist die ID (Signatur-ID) der Regel. Sie dient dazu, die Regel eindeutig zu identifizieren. In diesem Fall ist die ID 1. |
alert http any any -> any any (msg: "Command Injection - Semicolon in POST DATA"; ;classtype:command-injection ; flow:established; content:"%3B"; nocase; http_client_body; sid:5;)
| Schlüsselwort | Beschreibung |
|---|---|
| alert | Dieses Schlüsselwort gibt an, dass ein Alarm ausgelöst werden soll, wenn das Muster in der Regel erkannt wird. Ein Alarm kann eine Benachrichtigung an den Administrator oder eine andere Reaktion auf das erkannte Muster sein. |
| http | Dies steht für das Hypertext Transfer Protocol, das für die Übertragung von Daten über das World Wide Web verwendet wird. Diese Regel überwacht den HTTP-Verkehr. |
| any | Dieser Platzhalter steht für jedes mögliche Quell- oder Zielattribut. In diesem Fall bedeutet any any, dass sowohl der Quell- als auch der Ziel-IP-Adressbereich nicht eingeschränkt sind. |
| -> | Dieser Pfeil zeigt die Richtung des Datenverkehrs an. In diesem Fall bedeutet any any -> any any, dass der Datenverkehr in beide Richtungen (hin und zurück) überwacht wird. |
| (msg: "Command Injection - Semicolon in POST DATA";) | Dies ist eine optionale Nachricht, die dem Administrator mitteilt, warum der Alarm ausgelöst wurde. In diesem Fall lautet die Nachricht "Command Injection - Semicolon in POST DATA". |
| classtype:command-injection | Dies gibt an, zu welcher Klasse von Angriffen oder Ereignissen die Regel gehört. In diesem Fall ist es ein Befehlseinjektionstyp. |
| flow:established | Dieser Parameter gibt an, dass die Regel nur auf etablierten Verbindungen überprüft werden soll. |
| content:"%3B" | Dies ist der Inhalt, auf den die Regel prüft. In diesem Fall wird nach dem Semicolon (%3B) im HTTP-Client-Body gesucht. |
| nocase | Dieser Parameter gibt an, dass die Groß- und Kleinschreibung beim Vergleich des Inhalts ignoriert werden soll. |
| sid:5 | Dies ist die ID (Signatur-ID) der Regel. Sie dient dazu, die Regel eindeutig zu identifizieren. In diesem Fall ist die ID 5. |
drop http any any -> any any (msg: "Possible SQL Injection attack (Contains singlequote POST DATA)"; flow:established,to_server; content:"%27"; nocase; http_client_body; sid:4;)