Suricata, Rules Emergingthreats/Snort + Eigene weitere

Post Reply
10gbit
Posts: 6
Joined: May 4th, 2018, 6:49 am

Suricata, Rules Emergingthreats/Snort + Eigene weitere

Post by 10gbit » June 27th, 2019, 11:53 am

Hallo.

Was ist der beste Weg, um Suricata-Rules von Snort oder Emergingthreats durch einen eigenen Import zu ergänzen?
Dazu bastel ich gerade an einem Script mit folgenden Zielen:

1. Import von zusätzlichen Rulesets,
z.B. von Spamhaus, Abuse oder EIGENE (z.B. https://sslbl.abuse.ch/, https://www.spamhaus.org/ ...)
Dies automatisch als manuelle Erweiterung des GUI und des vorhandenen Updates.
Ebenso als Ergänzung zu den primär ausgewählten Rules von Snort o. Emerging

2. Automatisiertes Script zum "Rulemanagement" in den Rules-Files.
Um Regeln teilweise per Script automatisch zu kopieren, zu aktivieren oder zu deaktivieren
Dies z.B. bei Neuinstall, größerer Ruleänderung oder automatisch eingespielter weiterer IP-Blacklist...
Um das Klicken im Browser auf Systemen zu zu ersparen ;) (ja, auch Faulheit ist ein Grund ...)

Die Regeln liegen in /var/lib/suricata als *.rules (geschaut hab ich ab Core 132)

Code: Select all

ls -l 
... 
-rw-r--r-- 1 nobody nobody    7904 Jun 27 11:38 emerging-tftp.rules
-rw-r--r-- 1 nobody nobody 3519939 Jun 27 11:38 emerging-trojan.rules
... usw.
- Die jeweiligen Files haben je Zeile eine Rule
- Eine Rule je Zeile ist mit "#" am Anfang inaktiv oder aktiviert
- Bei "Übernehmen" per GUI oder bei Update wird das Verzeichnis scheinbar gecleart & die Rulesfiles neu aufgebaut
- Ein MANUELLES Hinzufügen von einer Rules-Datei, z.B. "sslipblacklist.rules" von Abuse scheint zu gehen und wird im GUI erkannt.


Problem & Frage:

a) Woher bekommt IPFIRE bei Update oder "Übernehmen-Klicken" die Auswahlsettings der aktivierten Rules?
b) Wie bringe ich der IPFIRE am besten bei, in /var/lib/suricata eigene Rules zu belasssen oder wieder mit zu erstellen?
Die Ruleupdates die geholt werden sind tar.gz - wann/wie werden die ausgepackt, sollte man da ansetzen ??

Settings für suricata, oinkcodes oder Rulequellen für das GUI liegen übrigens in "/var/ipfire/suricata":

Code: Select all

ls -l /var/ipfire/suricata
...
-rw-r--r-- 1 root   root     635 Jun 13 04:13 ruleset-sources
-rw-r--r-- 1 nobody nobody    91 Jun 26 21:49 rules-settings
-rw-r--r-- 1 nobody nobody    73 Jun 27 10:10 settings
-rw-r--r-- 1 nobody nobody   141 Jun 27 10:10 suricata-homenet.yaml
-rw-r--r-- 1 nobody nobody  1230 Jun 27 13:31 suricata-used-rulefiles.yaml
...
cat suricata-used-rulefiles.yaml
#Autogenerated file. Any custom changes will be overwritten!
 - whitelist.rules
 - emerging-p2p.rules
...
Für Alle - Wie aktiviert oder deaktiviert man Regeln in einer Rules-Datei per Script? Recht simpel: Im File den Lattenzaun entfernen.
Achtung - dient hier nur als Ansatz. Limitierungen für dieses Beispiel sind:
- es ist NICHT zu empfehlen, pauschal alle Regeln (in allen Rulefiles) zu aktivieren
- Snort hat m.W. nur ein oder weniger Rule-Files als Emergingthread
- nicht immer ist die Regel ein "#drop" oder "drop" am Zeilenanfang ... ("#alert", ...)
- bei manuellem Aufruf auf Konsole stimmen User & Groups der Datei noch nicht ...

Code: Select all

   PFAD="/var/lib/suricata/"
   BKUP="Rules-Backup/"

   for i in meine-ip-rules_v3.rules emerging-attack_response.rules emerging-current_events.rules
   do
     cp  $PFAD$i $PFAD$BKUP$i
     cat $PFAD$BKUP$i | sed -e 's/\#drop/drop/g' > $PFAD$i
   done
^^^Was passiert?
^^ - 3 Rule-Files in Schleife durchlaufen (die *.rules getrennt durch Leerzeichen
^^ - für jedes Rule-File ein Backup in Unterverzeichnis von "PFAD" + "BKUP"
^^ - In jedem File alle DROP-Regeln aktivieren mittels "sed" - suchen nach "#drop" - ersetzen mit "drop"
^^ - Dateien wieder ins Ziel kopieren


P.S.:
Folgenden Thread habe ich natürlich gefunden - "Intrusion Prevention System - core 131", sehr hilfreiches Script ...
viewtopic.php?f=27&t=22735&p=125330&hil ... es#p125330

Post Reply