PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Logfunktion bei ipchains



SaDDaM123
18.04.01, 22:14
Tach auch!

Und zwar ist folgendes...ich hab die Policy auf DENY gesetzt..und gebe jetzt die einzellnen Ports frei..z.b. so:

ipchains -A output -i $DEV_INET -p tcp -d $INET 80 -j ACCEPT -l
ipchains -A input -i $DEV_INET -p tcp -s $INET 80 -j ACCEPT ! -y -l

So..jetzt will ich aber folgendes machen :)

Wen jetzt jemand versucht sich bei mir mit Telnet zu verbinden..soll die Firewall das blocken...ok..macht sie auch..aber ich will außerdem..dass in der messages steht, dass jemand versucht hat sich bei mir per telnet zu verbinden..dazu eben Datum, Uhrzeit, IP von dem Fritzen und eben den Port oder Service

ich hab mal etwas mit dem -l Parameter rumgespielt...aber das ist nicht so genau dass was ich will :)

Weis da jemand was?

THX

micha
18.04.01, 22:29
Mar 31 10:55:28 server kernel: Packet log: input DENY ppp0 PROTO=6 207.71.xx.xxx:1919 217.81.xxx.xx:25 L=48 S=0x00 I=56923 F=0x4000 T=109 SYN (#39)

Datum / Zeit --> Mar 31 10:55:28
Protocol --> PROTO=6 (tcp)
IP:Port --> 207.71.xx.xxx:1919
IP:Port (SMTP) --> 217.81.xxx.xx:25
Verbindungsversuch --> SYN(#39)

alles was du wolltest und noch n bischen mehr ; )

Gruß micha

[ 18. April 2001: Beitrag editiert von: micha ]

TommeS73
18.04.01, 23:55
<BLOCKQUOTE><font size="1" face="Arial,Helvetica,Geneva">Zitat:</font><HR>Original erstellt von SaDDaM123:
... Weis da jemand was?

THX[/quote]

Zu IPCHAINS fällt mir nichts entsprechendes ein. Allerdings wenn Du Dich entschließen könntest ;), auf einen 2.4.x-Kernel zu updaten und dann IPTABLES anstatt IPCHAINS benutzt, dann kann Dir geholfen werden. IPTABLES bietet Möglichkeiten, die Ausgaben bzgl. geblockter Regeln in die Systemlogbücher direkt zu beeinflussen. Da steht dann z.B. im Logbuch: "Telnet geblockt" etc. -> wenn Du das so möchtest.

SaDDaM123
19.04.01, 14:57
Jo...hatte kernel 2.4.3 drauf...aber danach war linux voll unstabil..is ständig abgestürzt..also hat einfach nen reboot gemacht :(

Ich weis nicht woran es lag :( :( :(

Und als ich mir das Dateisystem fast zerschossen hatte..bin ich wieder auf 2.2.16 umgestiegen..das is das einzige was bei mir richtig stabil läuft :(

Ich weis selber nicht warum

Und @micha

danke... aber ehrlich gesagt weis ich nicht mal genau wo ich das hinschreiben soll *schäm*

Das mit dem -l hab ich ausprobiert bei der HTTP Regel..da stand dann gleich 10MB Infos von der FW :D

Muss ich bei -P input DENY dann -l machen?

Dann kommt bei mir nämlich immer illegal Parameter oder so :P

micha
19.04.01, 16:12
Hi,

ne bei der Policy ( -P ) kannst Du nicht loggen. Wenn Du Deine Firewall so aufgebaut hast, das Du ein paar Sachen erlaubst und am Schluss dann den Rest mit
/sbin/ipchains -A input DENY
sperrst, kannst Du mit dem -l hinter DENY, also
/sbin/ipchains -A input DENY -l
alless mitloggen.
Wenn Du aber zuerst alles verbietest was du nicht haben willst, und zum Schluß den Rest dann erlaubst, musst Du bei jeder Regel, die Du geloggt haben willst, das explizit angeben. Zum Beispiel bei http:

/sbin/ipchains -A input -p tcp -s 0/0 -d $DEINE_IP 80 -j DENY -l

Versucht jetzt einer auf Deine Port 80 zuzugreifen, bekommst Du ungefähr die Meldung in Deine /var/log/messages:

Mar 31 10:55:28 server kernel: Packet log: input DENY ppp0 PROTO=6 207.71.xx.xxx:1919 217.81.xxx.xx:80 L=48 S=0x00 I=56923 F=0x4000
T=109 SYN (#39)

Mit cat /var/log/messages | grep "Packet log" |less kannst Dir die ganzen Meldungen schön auflisten lassen ; )

Gruß micha

SaDDaM123
19.04.01, 16:50
Jo..Big THX!

Und gleich noch ne frage ;)

Macht es viel aus ob ich gleich am Anfang des script -P input DENY mach oder am ende des Scripts -A input DENY ??

Weil ich will wirklich ALLES sehen was beglockt wird...aber..hmm..da faellt mir ein...das koennte doch auch mit

-A input -p tcp -s 0/0 -d $DEINE_IP 1:10000 -j DENY -l

gehen oder?!

micha
19.04.01, 21:15
Klar machts was aus, wenn Du am Anfang die Policy mit ACCEPT statts DENY machst, ist in der Zeit bis Deine Firewall komplett aufgebaut Dein Rechner offen.
Ich würd die Firewall so aufbauen, daß am Anfang alles geblockt wird, also die Policys auf DENY oder REJECT ( je nach Geschmack ;) ) stehen.
Dann gehste her und gibst mit ACCEPT alles frei was Du benötigst und zum Schluß setzte ein DENY mit -l.
--> ipchains -A input -j DENY -l
--> ipchains -A output -j DENY -l
Das loggt Dir dann alles, außer die Ports, die Du mit ACCEPT freigegeben hast, aber dafür hast Du ja dann die Logfiles der Progs die auf dem Port laufen.

Deine Version bringt in sofern nix, da Du ja davor manches freigegeben hast und bei ipchains ist s so, wer zuerst kommt, malt zuerst ;)

Gruß micha

SaDDaM123
19.04.01, 21:43
Hmm...ok..aber das script jäuft doch schnell ab oder?

Ich glaube ehrlich gesagt kaum dass jemand in einer Sekunde so schnell ist um sich an mein System zu machen :)

Ok..aber ich mach am ende noch zusätzlich

--> ipchains -A input -j DENY -l
--> ipchains -A output -j DENY -l

hin...gibt es die möglichkeit dass ich das ganze auch in einem extra LogFile logge?

Dann muss ich ein script basteln oder?
Was die FW Logs raus sucht un inne extra Datei schreibt..oda?

Auf jeden Fall schon mal danke!!!!!!!!

micha
19.04.01, 22:17
mhm, bei mir dauerts 10 sekunden bis die firewall steht und IMHO bringt macht DENY oder REJECT mehr Sinn als ACCEPT. Aber zu dem thema gibts ne saugute seite: http://www.little-idiot.de/firewall
kannst dir mal anschauen.

Und das mit der Log-datei geht auch schnell:

--------------------------
root@bla:~# echo "cat /var/log/messages | grep \"Packet log\" | less" > /sbin/firewall.sh
root@bla:~# chmod 700 /sbin/firewall.sh
--------------------------

Jetzt reicht n simples firewall.sh und du hast den log ;)

Gruß micha

[ 19. April 2001: Beitrag editiert von: micha ]

[ 19. April 2001: Beitrag editiert von: micha ]

SaDDaM123
20.04.01, 13:27
Juhu..er loggt alles :)


DANKE!

Das mit dem Script ist auch gut..dann muss ich nicht die ganze messages durchkramen!

BIG THX

micha
20.04.01, 13:49
no prob ;)

Gruß micha

micha
21.04.01, 13:09
Hi, kleiner Nachtrag noch:

Kannst Dein Firewall.sh noch bissle abändern:

cat /var/log/messages | grep \"Packet log\" | sed -e 's/ DEIN_RECHNERNAME kernel: Packet log //' | less

Dann ist die Ausgabe n bischen kuerzer ;)

Gruß micha