HowTo-Debian: Snort

Rund um die Sicherheit des Systems und die Applikationen
kase
Posts: 1031
Joined: 2002-10-14 22:56
 

HowTo-Debian: Snort

Post by kase »

Als erstes installieren wir Snort:

Code: Select all

apt-get install snort
Bei der Frage, welches Device wir loggen, können wir eth0 lassen.
Dann werden wir nach einer IP gefragt:
217.160.???.???/32
Also deine IP Adresse mit /32 dahinter.
Die nächste Frage, an welchen User die Mails von Snort gehen sollen, ist denke ich mal selbsterklärend.

Dann ist ganz wichtig, dass wir Snort sofort wieder stoppen !

Code: Select all

/etc/init.d/snort stop
Dann öffnen wir das snort Startscript und müssen folgendes ändern:

Code: Select all

nano /etc/init.d/snort
Diese Textstelle suchen wir:

Code: Select all

        /sbin/start-stop-daemon --start --quiet --exec $DAEMON -- 
                -D 
                -S "HOME_NET=[$DEBIAN_SNORT_HOME_NET]" 
                -h "$DEBIAN_SNORT_HOME_NET" 
                -c /etc/snort/snort.conf 
                -l /var/log/snort 
                -b 
                -d  
                -u snort 
                -g snort 
                $DEBIAN_SNORT_OPTIONS >/dev/null
und machen daraus:

Code: Select all

        /sbin/start-stop-daemon --start --quiet --exec $DAEMON -- 
                -D 
                -S "HOME_NET=[$DEBIAN_SNORT_HOME_NET]" 
                -h "$DEBIAN_SNORT_HOME_NET" 
                -c /etc/snort/snort.conf 
                -l /var/log/snort 
                -b 
                -d  
                -p 
                -u snort 
                -g snort 
                $DEBIAN_SNORT_OPTIONS >/dev/null
Kurz: Wir fügen also unter dem -d ein -p ein. Dies verhindert, dass die Netzwerkkarte in den Promiscuous mode geht.

Im Promiscuous mode reagiert die Netzwerkkarte auf jede Rebootanweisung innerhalb des Subnetzes, also rebootet dein Server, wenn zB die IP über dir einen Reboot macht, was wir natürlich nicht wollen ;)

Danach können wir beruhigt Snort wieder starten.

Code: Select all

/etc/init.d/snort start
Die Logdateien von Snort befinden sich in /var/log/snort/.
Wer zu faul ist, die Logdateien per Hand durchzugehen, kann sich mit folgendem Befehl eine schöne Auswertung liefern lassen:

Code: Select all

(cat /var/log/snort/alert | snort-stat) >/var/www/snort.txt
Das Verzeichnis /var/www/snort.txt muss man ggf abändern, wenn man seinen vHost zB in /var/www/web1/html/snort.txt hat.

Dann kann man sich per www ganz einfach die ausgewertete File ansehen.

Hier mal eine Beispiel File: (Portscan)
http://mitglied.lycos.de/legendz/snort.txt

Auch für dieses HowTo gilt wieder: (noch) ungetestet, wenn ihr euch was zerschiesst, ich hafte für nix :)

Ein paar Ergänzungen:
1. Snort kann auch verwendet werden, wenn man bereits IAM zum Loggen des Traffics benutzt. Die beiden Programme beinflussen sich nicht !
2. Es ist nur möglich, mit Snort Angriffe zu loggen, jedoch nicht, Angriffe zu blocken (glaube ich zumindest *gggg*). Will man die Angriffe blocken, muss man zB Portsentry benutzen, bzw andere "mächtigere" Tools. Diese greifen dann allerdings auch etwas stärker ins System ein, und sind schwerer zu konfigurieren. Zudem bringt das Blocken nur bedingt was, zB bei einem pingflood hat man trotzdem noch IN-coming Traffic, auch wenn man es durch Filter Rules blocken würde, da man den Traffic erst blocken kann, wenn er bereits von 1und1 "gezählt" wurde.

Edit: @Olfi: auch dieses HowTo darfst du natürlich genauso wie das Bind9 Howto in die FAQ aufnehmen, wenn du es für Bugfrei empfindest
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: HowTo-Debian: Snort

Post by captaincrunch »

2. Es ist nur möglich, mit Snort Angriffe zu loggen, jedoch nicht, Angriffe zu blocken (glaube ich zumindest *gggg*).
Snort kann auch Angriffe "blocken", diese Funktion ist aber von den Entwicklern aber immer noch als "Experimental" eingestuft. Dazu sind Erweiterungen in den *.rules-Dateien notwendig.

Ich weiß aus dem Stehgreif jetzt allerdings nicht, ob die Debian-Entwickler dieses Feature mit einkompiliert haben, schaue das allerdings noch einmal nach. Generell würde ich aber sowieso davon abraten, dieses Feature zu nutzen, und dabei eher auf (z.B.) Portsentry zurückzugreifen.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
User avatar
nyxus
Posts: 626
Joined: 2002-09-13 08:41
Location: Lübeck
Contact:
 

Re: HowTo-Debian: Snort

Post by nyxus »

Du solltest vielleicht noch den Hinweis aufnehmen, daß man sich tunlichst mit den Rules beschäftigen und unwichtiges deaktivieren sollte (zumindest nach der Kennenlernphase). Sonst kommt man mit den Logs kaum hinterher.


Gruß, Nyx
kase
Posts: 1031
Joined: 2002-10-14 22:56
 

Re: HowTo-Debian: Snort

Post by kase »

Debian installiert bei apt-get install snort angeblich gut vorkonfigurierte Rules mit. Snort läuft leider noch nicht lange genug bei mir, um sagen zu können, wie gut diese vorkonfigurierten Rules wirklich sind.

Ich habe an meinen Rules bisher nichts verändert.
kase
Posts: 1031
Joined: 2002-10-14 22:56
 

Re: HowTo-Debian: Snort

Post by kase »

gerade mal nachgesehn, innerhalb eines Tages hatte ich echt schon ganz schön viel.

Hauptsächlich so Sachen hier:

WEB-IIS CodeRed v2 root.exe access
WEB-IIS cmd.exe access
WEB-FRONTPAGE /_vti_bin/ access

Allerdings ist die Auswertung durch snort-stat noch sehr übersichtlich. Mal sehn, wie das innerhalb einer Woche aussieht. Notfalls müsste ich mal nachschaun, welche Rules für diese ganzen IIS und Frontpage Sachen verantwortlich sind, und diese entfernen.
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: HowTo-Debian: Snort

Post by captaincrunch »

Dann kommentier doch einfach die Windoof-Rules aus ... :wink:
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
kase
Posts: 1031
Joined: 2002-10-14 22:56
 

Re: HowTo-Debian: Snort

Post by kase »

erstmal nicht, ich will mir das Verhältnis Windows:Linux mal ansehen, wie das so innerhalb einer Woche aussieht *ggg*

Mom steht es 9:0 Windows:Linux *gggg*
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: HowTo-Debian: Snort

Post by captaincrunch »

Um dir die Warterei zu ersparen : es wird noch schlimmer ... :wink:
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
User avatar
nyxus
Posts: 626
Joined: 2002-09-13 08:41
Location: Lübeck
Contact:
 

Re: HowTo-Debian: Snort

Post by nyxus »

kase wrote:Debian installiert bei apt-get install snort angeblich gut vorkonfigurierte Rules mit. Snort läuft leider noch nicht lange genug bei mir, um sagen zu können, wie gut diese vorkonfigurierten Rules wirklich sind.
Ich habe an meinen Rules bisher nichts verändert.
Bei einem IDS-System gibt es aber keine sinnvolle Vorkonfiguration. Die Package-Maintainer können ja nicht wissen was für ein Netz man überwachen will. Deshalb benötigt jedes IDS-System eine gründliche Konfiguration der Regeln.


Gruß, Nyx
kase
Posts: 1031
Joined: 2002-10-14 22:56
 

Re: HowTo-Debian: Snort

Post by kase »

hmm, du scheinst dich ja schon etwas besser auszukennen. Das ich Snort noch nicht so lange nutze, siehst du am Erstellungsdatums des HowTos *ggg*

Welche Regeln sind sinnvoll, noch zusätzlich aufzunehmen ?

Welche Regeln kann man getrost weglassen ? (alle Windows Regeln zb ?)

Bzw, ich weiß ja nicht, ob du es auch mit apt-get installierst hast, und ob du überhaupt Debian benutzt.

Deshalb frage ich lieber mal anders.

Welche Regeln sollte man unbedingt drin haben, und welche brauch man auf gar keinen Fall ?
kase
Posts: 1031
Joined: 2002-10-14 22:56
 

Re: HowTo-Debian: Snort

Post by kase »

übrigens, hier ist scheinbar jemand ganz schön hartnäckig:

370 62.30.112.1 217.160.???.??? WEB-IIS view source via translate header

Was bringt das dem, wenn er es 370 Mal versucht ?
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: HowTo-Debian: Snort

Post by captaincrunch »

Bzw, ich weiß ja nicht, ob du es auch mit apt-get installierst hast, und ob du überhaupt Debian benutzt.
Die Regeln sind auch bei Debian aus dem Snort-Packet von snort.org. Von daher sollte es da keine allzu großen Unterschiede geben ...
Welche Regeln sollte man unbedingt drin haben, und welche brauch man auf gar keinen Fall ?
Die Windows- und P0rn-Rules kannst du auf jedden Fall schon mal außen vor lassen.
Welche Rules du brauchst, kannst eigentlich nur du selbst wissen. Eine (mehr oder weniger" sinnvolle Vorauswahl könnte wie folgt aussehen :
- backdoor.rules
- bad-traffic.rules
- classification.rules (brauchst du auf jeden Fall)
- dns.rules (sofern ein DNS lokal läuft)
- exploit.rules
- ftp.rules (sofern du einen FTP-Daemon laufen hast)
- misc.rules (nicht ganz so wichtig)
- scan.rules
- shellcode.rules (auch nicht lebenswichtig)
- smtp.rules
- web-attack.rules
- web-cgi.rules (kann, muss aber nicht)

Wei gesagt, das ganze wäre erstmal eine Vorauswahl, die du über einen bestimmten Zeitraum beobachten und daraufhin verfeinern solltest.
Ich kann dir dazu sehr ACID empfehlen, das eine Weboberfläche für Snort bietet, die ich persönlich ziemlich übersichtlich finde.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
kase
Posts: 1031
Joined: 2002-10-14 22:56
 

Re: HowTo-Debian: Snort

Post by kase »

Ich habe nun alle Rules noch zusätzlich aktiviert, die du hier gepostest hast.

Entfernt habe ich folgende:
WEB-IIS
WEB-FRONTPAGE

Beide kann man doch bedenkenlos herausnehmen, wenn man einen Linux Server hat oder ?

Edit: Classification.Rules gibt es bei mir nicht, aber es gibt eine classification.config, die standartmäßig includet wird, in der auch jede Menge "höheres" *ggg* steht.
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: HowTo-Debian: Snort

Post by captaincrunch »

WEB-IIS
WEB-FRONTPAGE

Beide kann man doch bedenkenlos herausnehmen, wenn man einen Linux Server hat oder ?
So lange du den IIS nicht auch unter Linux zum laufen überreden kannst wohl kaum, die FrontPage-Exploits sollten dem Apachen auch nichts anhaben können ... aber wer braucht diese Erweiterungen schon ? :wink:

Was die classification.config angeht : korrekt, da habe ich mich mächtig verlesen ... :wink:
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
kase
Posts: 1031
Joined: 2002-10-14 22:56
 

Re: HowTo-Debian: Snort

Post by kase »

Seitdem die Web-IIS Rules draußen sind, passiert bei Snort irgendwie nix mehr, langweilig :D :D :D

Mal sehn, wie lange es noch dauert, bis ich meinen aller ersten Eintrag habe :D :D

Mit Web-IIS Rules hats 5 mins gedauert, ohne ist jetzt selbst noch 15 Stunden noch nix.


EDIT: Arg, ich Depp hab gestern beim "Rumspielen" irgendwie die Rechte von der alert.log verändert, kA, wie ich das geschafft habe, ich snort hat seitdem gar nicht mehr gestartet... (permission denied, fatal error) grml

Das posting darf also ignoriert werden :D :D
highelf
Posts: 41
Joined: 2003-01-11 09:42
 

mail

Post by highelf »

Hi,
habe Snort vor einiger Zeit wie hier beschrieben installiert. Um schönes html Ausgabe zu haben, kann dann noch SnortSnarf drauf. Geht alles schön und gut. Nur bekomm ich jeden Tag eine Mail von Snort an root der mir Warnungen zusammenfassen sollte. Irgendwie sind die Fehlermeldungen aber nicht reingeschrieben, ich kriege nur das Template.
Die mail wird immer zur der Zeit geschickt in der cron.daily aufgerufen wird. Da habe ich snortsnarf.pl /var/log/snort/alert -d /var/www/adminstuff/snort Als befehl. Habe in der snortsnarf.pl kein Mail part gesehen. Habe ich was übersehen ? Wer schikt mir diese leere Mail ?

Code: Select all

Subject: [SNORT] p15114172.pureserver.info
 daily report

The log begins from:   ::
The log ends     at:   ::
Total events: 0
Signatures recorded: 0
Source IP recorded: 0
Destination IP recorded: 0


The number of attacks from same host to same
destination using same method
=========================================================================
  # of
 attacks  from              to                method
=========================================================================
danke für die Hilfe,
Ju
kase
Posts: 1031
Joined: 2002-10-14 22:56
 

Re: HowTo-Debian: Snort

Post by kase »

Normalerweise schickt diese Mail die Datei "5snort" im /etc/cron.daily Verzeichnis. Laut deiner Aussage haste ja in diesem Verzeichnis nachgesehn, aber ansonsten habe ich keine Ahnung ...
highelf
Posts: 41
Joined: 2003-01-11 09:42
 

Re: HowTo-Debian: Snort

Post by highelf »

Die 5snort habe ich übersehen. Peinlich :oops: . Jedoch seh ich nur, dass eine template geschickt wird, nicht wie dieses gefüllt wird, oder warum es nicht gefüllt wird :)
Ju
cae
Posts: 68
Joined: 2002-12-16 07:16
Location: München
 

Re: HowTo-Debian: Snort

Post by cae »

captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: HowTo-Debian: Snort

Post by captaincrunch »

Wer RPC-Traffic auf seinen Rootie duldet, und den auch noch mit Snort ausliest ist halt echt selber Schuld ... :wink:
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
cae
Posts: 68
Joined: 2002-12-16 07:16
Location: München
 

Re: HowTo-Debian: Snort

Post by cae »

CaptainCrunch wrote: Wer RPC-Traffic auf seinen Rootie duldet, und den auch noch mit Snort ausliest ist halt echt selber Schuld ... :wink:
...und außerdem gibts dafür Honeypots ;) Hab mal einen kleinen zuhause eingerichtet, mit Snort, Tiny Honeypot und bewußt exploit-reicher-Software... ;) Wer das aber auf einem Rechner mit fester IP macht... :lol:
kase
Posts: 1031
Joined: 2002-10-14 22:56
 

Re: HowTo-Debian: Snort

Post by kase »

Was genau ist denn RPC Traffic ?

Und wie kann ich den dulden oder nicht dulden ???

*gg*

Ich vermute, dass Debian die nächsten Tage dann ein Update rausbringen wird...
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: HowTo-Debian: Snort

Post by captaincrunch »

Was genau ist denn RPC Traffic ?
RPC -> Remote Procedure Call

"Standardanwendung" für RPC ist z.B. NFS, ganz kurz gesagt ist das also nichts, was du auf dem Rootie betreiben möchtest ... :wink:
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
highelf
Posts: 41
Joined: 2003-01-11 09:42
 

Re: HowTo-Debian: Snort

Post by highelf »

Seh ich das richtig, dass es erstmal reicht in snort.conf preprocessor rpc_decode mit # auszukommentieren ? Wenn rpc sowieso nicht auf dem rootie relevant ist, könnte man kein Hinweis darauf in dem How-to machen ?
Bye,
ju
cae
Posts: 68
Joined: 2002-12-16 07:16
Location: München
 

Re: HowTo-Debian: Snort

Post by cae »

If you are in an environment that can not upgrade snort immediately,
comment out the line in your snort.conf that begins:

preprocessor rpc_decode

and replace it with

# preprocessor rpc_decode
behebt laut advisory das Problem.
Post Reply