Archiv verlassen und diese Seite im Standarddesign anzeigen : Snort
meinereinerseiner
11.09.02, 17:04
Hi,
hab ein problem mit dem starten von snort:
beim Starten von snort per skript über den cron, beendet er sich sofort wieder und ich finde folgendes in der messages:
Sep 11 17:58:01 devil kernel: device eth0 entered promiscuous mode
Sep 11 17:58:01 devil snort: Initializing daemon mode
Sep 11 17:58:01 devil kernel: device eth0 left promiscuous mode
Sep 11 17:58:01 devil snort: PID stat checked out ok, PID set to /var/run/
Sep 11 17:58:01 devil snort: Writing PID file to "/var/run/"
Sep 11 17:58:02 devil snort: Snort initialization completed successfully, Snort running
Sep 11 17:58:02 devil snort: pcap_loop: recvfrom: Socket operation on non-socket
Sep 11 17:58:02 devil snort: Snort received signal 3, exiting
starte ich das skript von hand, läuft er.
was ist da falsch?
hier noch mein script:
#!/bin/sh
#
PID=`/bin/ps xua | /bin/grep -e "snort.conf" | /bin/grep -v grep | /bin/sed -e 's/[^ ]* *\([0-9]*\).*/\1/g'`
if [ -n "$PID" ] ; then
echo "IDS aktiv! -$PID-"
else
echo "IDS wird gestartet!"
# /usr/local/bin/snort -i ppp0 -c /etc/snort/snort.conf -D
/usr/local/bin/snort -c /etc/snort/snort.conf -D
fi
exit 0
der tom
sind den an /var/log/snort/ und den Dateien die sich in dem Verzeichniss befinden gesetzt ?
T;o)Mes
meinereinerseiner
11.09.02, 20:24
jepp, das allertlog wird geschrieben
wenn ich es direkt in der shell aufrufe renn er ja auch problemlos, nur nicht wenn ich es per cron starte.
der tom
1. Warum laesst du snort von cron aufrufen ? Ist doch ein Daemon, der die ganze Zeit laufen sollte.
2. Und Snort schreib seine PID in /var/run, da musst du sie nicht aufwendig auslesen, ein einfaches `cat /var/run/snort_xxx.pid` reicht voellig.
Koennte moeglich sein das snort noch laeuft (mehrmals laeuft ?) und er deshalb kein Socket mehr aufmachen kann.Benutzte statt cron die inittab.
T;o)MEs
meinereinerseiner
11.09.02, 20:56
das problem ist, das ich dsl mit zwangstrennung habe, wenns soweit ist, fliegt mein ppp0 kurz wech und das macht snort nicht mit, deswegen will ich per cron checken obs noch rennt und ggf. nachstarten.
mit der PID hast du recht - hab das skript der
gewohnheit wegen, weil ich mit selbigen noch ein
paar andere sachen nachstarte, die keine pid wegschreiben.
was die inittab betrifft - wie sieht denn da der string aus?
der tom
z.B. so:
SO:235:respawn:/das vollstaendige Kommando snort zu starten
irgend ein Kuerzel:Runlevel:wieder hervorbringen: --> s.o.
Komisch das snort solche probleme macht, bei meinem ISDN jedenfalls nicht !
T;o)Mes
moin moin
im logfile /etc/snort/portscan.log tauchen bei mir folgende einträge auf
Sep 21 12:57:28 xx.xxx.xx.xxx:34070 -> 195.20.224.184:80 SYN ******S*
xxx ist meine aktuelle ip.wenn ich das richtig sehe, ist das doch aber nur ein verbindungsaufbau zu einer website.wie stelle ich das an, das sowas nicht im log auftaucht.
reicht das, wenn ich unter
preprocessor portscan-ignorehosts:
den router(192.168.99.1) eintrage(im moment hab ich da nur die clients drin)? oder muß ich für den router dort $HOME_NET eintragen?
edit:
$HOME_NET ist im moment folgendermaßen definiert
var HOME_NET any
Gruß HangLoose
ist gut ;-)))any --> beliebig, irgendwelche
Bei mir sieht das so aus
var HOME_NET [$ippp0_ADDRESS,192.168.1.0/24]
Erklaert sich hoffendlich von selbst. Wie man sieht benutzte ich immer noch isdn ;)
T;o)Mes
hi tomes
irgendwie wußte ich, das die antwort von dir kommt, thx ;)
mit der var $HOME_NET hatte ich auch schon ein wenig rumgespielt. als interface hatte ich schon mal eth1 eingetragen, wußte nicht, das das mit ppp0 auch geht. werde das dann mal folgendermaßen ändern.
var HOME_NET [$ppp0_ADDRESS,192.168.99.0/24]
muß ich dann unter ignorehost auch noch was eintragen?
preprocessor portscan-ignorehosts:192.168.99.0/24?
ich hab snort jetzt übrigens auf dein anraten auch zum lan hin postiert.
var HOME_NET $eth0_ADDRESS
korrekt so?
ps:dsl is schon nicht schlecht :)
Gruß HangLoose
dein eigendes Netzt aus deinem eigenden Netz scannst, kannst du natuerlich dein Netz bei ignorehost eintragen.
Ein Eintrag in ignorehost wuerde doch nur das scannen des angegebenden Host/Netz nicht aufzeichnen, also deines eigenden.
Eine private IP von aussen zu scannen ist nicht ganz einfach, falls das jemand macht sollte man darueber informiert sein.
http Sachen sollte er eigendlich abfangen, da gibt es eine Option --> preprocessor http_decode: 80 ..
Ausserdem liegt es nur an deiner schwammigen Variable HOME_NET, wenn die richtig gesetzt ist, werden solche Eintraege nicht mehr auftauchen.
die Variable HOME_NET sollte bei dir korrekt lauten:
var HOME_NET [$ppp0_ADDRESS,$eth0_ADDRESS]
besser ist natuerlich wie du schon geschrieben hast
var HOME_NET [$ppp0_ADDRESS,192.168.99.0/24]
damit wird deine dynamische IP und die IP`s deines Netzes abgefangen. Wenn es dann noch *prob* gibt, kannst du auch noch eigende Variablen "erfinden" und sie einbauen.
T;o)Mes
hi
Wenn du viel dein eigendes Netzt aus deinem eigenden Netz scannst, kannst du natuerlich dein Netz bei ignorehost eintragen. Ein Eintrag in ignorehost wuerde doch nur das scannen des angegebenden Host/Netz nicht aufzeichnen, also deines eigenden. Eine private IP von aussen zu scannen ist nicht ganz einfach, falls das jemand macht sollte man darueber informiert sein.
leuchtet mir ein.mein eigenes netz scanne ich eher selten, also trag ich da dann nichts ein.
http Sachen sollte er eigendlich abfangen, da gibt es eine Option --> preprocessor http_decode: 80
muß ich nochmal nachschauen, müßte aber gesetzt sein.
die Variable HOME_NET sollte bei dir korrekt lauten: var HOME_NET [$ppp0_ADDRESS,$eth0_ADDRESS] besser ist natuerlich wie du schon geschrieben hast var HOME_NET [$ppp0_ADDRESS,192.168.99.0/24] damit wird deine dynamische IP und die IP`s deines Netzes abgefangen. Wenn es dann noch *prob* gibt, kannst du auch noch eigende Variablen "erfinden" und sie einbauen.
hab ich vergessen zu erwähnen. ich starte snort mit 2 unterschiedlichen config's. also werde ich beim snort, welches vor der firewall postiert ist
var HOME_NET [$ppp0_ADDRESS,192.168.99.0/24]
eintragen.
und für das snort welches hinter der firewall *lauscht*
var HOME_NET [$eth0_ADDRESS,192.168.99.0/24]
wobei eth0 die *lankarte* ist
danke nochmal für deine hilfe und ein schönes wochenende :)
Gruß HangLoose
Frage: HAt eth0 keine IP im 192.168.99.0/24 Netz ?
Wenn ja waehre das ganze doppelt gemoppelt, wie man hier so schoen sagt.
Ausserdem ist die IP des ppp0 auch da hinten noch eine Adresse des HOME_NET !!! auch wenn sie durch masq oder nat nicht mehr direkt erkannt werden sollte.
T;o)Mes
hi
so langsam verlier ich den überblick mit den ganzen variablen und ip-adressen *grins*
router
ip => 192.168.99.1
eth0 => lan
eth1 => dsl
linux-client
ip => 192.168.99.2
win-client
ip => 192.168.99.3
wobei win/lin eigentlich ein rechner(dualboot) ist und die unterschiedlichen ip-adressen wohl eigentlich quatsch sind. kann ja eh nur eins von beiden booten.
snort wird auf dem router beim booten 2* gestartet.snort vor der firewall nenn ich jetzt mal snort1, zum lan hin snort2
snort1 ruf ich folgendermaßen auf:
snort -D -u snort -g snort -i ppp0 -c /etc/snort/snort.conf
snort2 wird folgendermaßen gestartet:
snort -D -u snort -g snort -i eth0 -c /etc/snort/snortint.conf
/etc/snort/snort.conf:
var HOME_NET $ppp0_ADDRESS <= wenn ich dein letztes posting richtig verstanden habe, reicht das so
/etc/snort/snortint.conf:
var HOME_NET $eth0_ADDRESS
frage:
kann es sein, das ich jetzt ein generelles verständnisproblem mit snort habe? hätte ich mir den ganzen *quatsch* mit den 2 config-dateien sparen können.meine überlegung war, das bei snort2 das interface ppp0 schon *feindliches teritorium* ist, da es ja hinter der firewall *lauschen* soll.
oder wird das ganze schon mit den unterschiedlichen interface-angaben beim start geregelt?
Gruß HangLoose
die *Rules* angeschaut ? --> Beispiel aus x11.rules
alert tcp $EXTERNAL_NET any -> $HOME_NET 6000 (msg:"X11 MIT Magic Cookie detected"; flags:A+; content: "MIT-MAGIC
-COOKIE-1"; reference:arachnids,396; classtype:attempted-user; sid:1225; rev:3; )
Der Anfang ist fuer diese *prob* interessant ;)
Schlage ARLARM wenn ein TCP Paket aus den Externen Netz (WWW), irgendein Port, in deinem Netz Port 6000 mit (..... ) Inhalt ankommt.
Damit, dass du nur Interfaces als Home_Net angibst, ist alles andere fremdes Netz. Also auch dein anderer Rechner !!!
Denn $HOME_NET sollte alles sein was deine Adressen sind.
Also gehoert deine ppp0 IP noch zu HOME_NET, denn das ist ja deine IP, genauso wie $eth0_ADDRESS und dein gesamtes inneres Netz.
Weil die aussere IP aber dynamisch ist, muss man ebend eine dynamische Variable setzten $ppp0_ADDRESS
Dein Home Netz hat ja statische Adressen 192.168.99.xxx --> also brauchst du kein $eth0_ADDRESS.
Ist ja schon mit 192.168.99.0/24 definiert.
Du besitzt also sozusagen zwei Netze -->
1. dynamische IP/322. 192.168.99.0/24
Wenn du moechtest kannst du alles moegliche als Home Netz angeben. Aber normalerweise sendet dein externes Interface nichts an dein internes Netz, wie den auch ???
Wen du sehen moechtest was da abgeht zwischen den beiden Rechnern, mach mal ein tcpdump. Ist sehr aufschlussreich und was anderes macht snort ja auch nicht im Grunde genommen.
Ich hoffe die letzten Klarheiten sind jetzt auch noch ausgeraeumt ;)
T;o)Mes
hi tomes
ja ich hab mir die rules schon mal angeschaut. am mittwoch ist auch "das firewall buch" angekommen. da steht auch ein bischen was zu snort drin.
also fassen wir das neu erlernte nochmal zusammen *grins*
+ zwei configfiles sind blödsinn
+ mit der variable var HOME_NET [$ppp0_ADDRESS,192.168.99.0/24] wird mein komplettes netz
*abgedeckt*
was ich jetzt noch gerne hätte, wäre das die beiden snort's in unterschiedliche logfiles schreiben. ich denke mal, das ich das über den syslogd regeln muß.
ps:eine mögliche antwort ala RTFM würde ich ohne weiteres akzeptieren ;)
Gruß HangLoose
also zwei unterschiedliche Dateien dafuer anlegen, glaub ich kaum. Hoehstens der syslog-ng.
Ich benutze fuer den snort immer mysql als Datenbank und dann ACID zur Anzeige. Super Komfortabel, man hat alles im Ueberblick,
man kann nach Alerts ordnen oder nach IPs oder oder. Ebend eine Datenbank. Bei ACID hast du auch gleich eine WHOIS Abfrage dabei, usw.
T;o)Mes
hi
also zwei unterschiedliche Dateien dafuer anlegen, glaub ich kaum. Hoehstens der syslog-ng.
ja wohl eher nicht.
ACID hab ich mir auch schon mal kurz angesehen. das problem ist bloß, mein router ist ein alter p133 ohne x usw. der plattenplatz ist auch ziemlich beschränkt.
das ganze ließe sich ja noch umgehen, ACID auf dem client installieren und per syslogd zusätzlich auf den client loggen lassen, was ich eh noch vorhabe. allerdings ist der linuxclient nicht ständig *online*, ein kleines rtcw-match muß ja auch mal sein ;) und dafür nutze ich noch win.
muß mal schauen ob ich das eventuell per cron lösen kann.
ps: übrigens deinen desktop hab ich mir ganz anders vorgestellt *grins*
Gruß HangLoose
nicht fuer eine *kleine* Datenbank ?
Abrufen kannst du es von Clienten aus. Also Apache und ACID auf den Clienten und der ruft dann die Datenbank auf dem Rouer.
Apache gibt es auch fuer WIN, auch mit php --> http://www.innovativemedien.net/apache/
Und wenn man die Datenbank pflegt, wird sie kaum groesser als die Log-Files.
Wie meinst du das mit dem Desktop, muss doch hier zu Hause entspannend sein. ;)
T;o)Mes
ich hab noch ca. 100mb frei, allerdings ist da noch ne win-partition drauf. die muß ich bei gelegenheit mal platt machen.
Apache gibt es auch fuer WIN, auch mit php
wenn, dann will ich das schon unter linux nutzen :)
aber um nochmal auf den syslogd zurück zukommen, wenn der auf einen anderen host loggen soll, müßte der schon ständig *online* sein oder? zumindest von der logik her.
da gibts denn wohl nur eins, ati anschreiben, das die vernünftige treiber rausbringen *grins*
ps: deinen desktop hab ich mir eher so vorgestellt http://www.oosoft.de/images/products/oobcv4/oobc_logon.gif ;)
Gruß HangLoose
war das du dir das ganze vom Clienten aus anschauen kannst, wenn da ein Web-Server mit php laeuft.
Ob du nun am Clienten Win oder Linux benutzt, du kannst dir dann immer die Auswertungen des snort anschauen.
Nur die Datenbank muss immer laufen.
Wenn du syslog remote loggen laesst, dann muss der remote rechner natuerlich da sein.
Was fuern *prob* hast du den mit ATI ?
Meine gute alte mach64 auf meinem "ISDN-ROUTER" machts wunderbar. ;)
Schoenes Bildchen, aber hier zu Hause hab ich dann doch lieber den ganzen Komfort den mein Linux mir bietet.
Ausserdem laest es sich so zwischen den Konsolen schneller Umschalten ;) ;) ;)
T;o)MEs
das würde aber bedeuten, das ich ACID und Apache auf beiden systemen installieren muß.
was ich sagen wollte, mir reicht es wenn ich die *auswertung* über linux machen kann. aber andersrum platz hab ich eigentlich auf beiden systemen genug. also danke nochmal für den tip.
Was fuern *prob* hast du den mit ATI ?
grafikfehler bei rtcw. ich tippe auf den treiber(radeon 8500), könnte allerdings auch der linux-port von rtcw sein. mit google konnte ich dazu nichts finden.
jo seh ich auch so => ein bißchen komfort muß sein
Ausserdem laest es sich so zwischen den Konsolen schneller Umschalten
den hab ich erst im 2. anlauf kapiert *grins*
ps: so jetzt geh ich noch ein wenig spielen :)
Gruß HangLoose
moin moin
@tomes
bin grade dabei mir ACID zu installieren. nun wollte ich nur noch mal kurz nachfragen, ob alles außer mysql auf den client installiert wird, als da wären
+ PHP
+ apache, brauch ich da noch irgendwelche zusatzmodule?
+ ADOBD
+ PHPlot, ist als optional angegeben
+ GD , optional
thx :-)
HangLoose
in diesen Thread ;)
Jo, du brauchst nur einen php faehigen Webserver und dann die dazugehoerigen Bibliotheken ( ADOBD und PHPlot fuer ACID).
GD ist fuer die graphisches Darstellung. Du hast unter ACID auch solche niedlichen dynamischen Graphiken.
Am besten du baust dir einen LAP ;)
Die Seite hier kennst du ja bestimmt --> http://www.baach.de/
Du wirst vom ACID begeistert sein ;)
T;o)Mes
hi
jo :)
LAP <= kenn ich nicht, krieg ich aber noch raus *grins*
thx für den link, den kannte ich noch nicht. :)
quäle mich grade durch ne englische seite, hätte mal doch besser in der schule aufpassen sollen *grins*
edit:LinuxApachePhp :cool:
Gruß HangLoose
hi
sieht verlockend aus :)
ich hab es eben nochmal versucht, configure ohne prefix und anschließend make lief ohne fehler durch. das ganze mit der libpcap von suse, von der versionsnummer müßte die ausreichend sein.
jetzt ist die frage, installier ich snort, lege dann die datenbank an und compilier es anschließend mit myqsl nochmal? ich glaub ich versuch es einfach mal
Gruß HangLoose
moin moin
ich hab da mal ein kleines problem. ich habe acid, snort, mysql etc. nach dieser anleitung => http://www.fokus.gmd.de/linux/HOWTO/html_single/Snort-Statistics-HOWTO.html#PRE-SNORT-CONFIG installiert.
wenn ich jetzt acid aufrufe bekomme ich folgende fehlermeldung:
Fatal error: Cannot instantiate non-existent class: adodb_ in
/usr/local/httpd/htdocs/adodb/adodb.inc.php on line 2731
hier mal ein auszug aus der adodb.inc.php
if (!$rez) {
if ($errorfn) {
// raise an error
$errorfn('ADONewConnection', 'ADONewConnection', -998,
"could not load the database driver for '$db",
$dbtype);
} else
ADOConnection::outp( "<p>ADONewConnection: Unable to load database driver '$db'</p>",false);
return false;
}
$cls = 'ADODB_';$ADODB_Database;
$obj = new $cls();
if ($errorfn) {
$obj->raiseErrorFn = $errorfn;
}
return $obj;
}
zeile 2731 ist die fette. hat jemand ne idee?
edit: ich komme wahrscheinlich erst freitag abend dazu, hier wieder ins forum zu schauen. also falls jemand ne lösung kennt. ich bedanke mich dann am freitag ;)
Gruß HangLoose
an der Datenbank vergeben ? ACID mus beim ersten Aufruf 3 neue Tabelen anlegen, braucht also beim Erstaufruf erweiterte Rechte.
Vielleicht beim Erstaufruf den Datenbank-root als User nehmen. Kann (muss) man danach ja wieder aendern.
T;o)Mes
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.