iptables (-j LOG) in eine Datei umleiten (/var/log/firewal)
iptables (-j LOG) in eine Datei umleiten (/var/log/firewal)
Ich würde gerne den Output von "-j LOG" in eine Datei /var/log/firewall umleiten.
Wie könnte ich das einstellen? Wenn ich in der syslog ja was umstelle, loggt er ja auch andere Meldungen in die firewall, ich will aber nur den Output der Firewall und nichts anderes
Wie könnte ich das einstellen? Wenn ich in der syslog ja was umstelle, loggt er ja auch andere Meldungen in die firewall, ich will aber nur den Output der Firewall und nichts anderes
Hallo,
du solltest zuerst bei all deinen Log Regeln ein
einbauen.
Im Syslog mußt du dann ein
einfügen um alle Kernel debug Meldungen in das Firewall log zu schreiben...
du solltest zuerst bei all deinen Log Regeln ein
Code: Alles auswählen
--log-level debug
Im Syslog mußt du dann ein
Code: Alles auswählen
kern.=debug /var/log/firewall
Ciao, Hendri
- McAldo
- Moderator
- Beiträge: 2069
- Registriert: 26.11.2003 11:43:36
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Terra / Sol-System / Milchstraße
Hm..., bei mir hat das leider nicht funktioniert.
Geholfen hat dieses:
http://channel.debian.de/faq/ch-config.html#s-klogdspam
McAldo
Geholfen hat dieses:
http://channel.debian.de/faq/ch-config.html#s-klogdspam
McAldo
Achte auf deine Gedanken, denn sie werden Worte.
Achte auf deine Worte, denn sie werden Handlungen.
Achte auf deine Handlungen, denn sie werden Gewohnheiten.
Achte auf deine Gewohnheiten, denn sie werden dein Charakter.
Achte auf deinen Charakter, denn er wird dein Schicksal.
(Talmud)
Achte auf deine Worte, denn sie werden Handlungen.
Achte auf deine Handlungen, denn sie werden Gewohnheiten.
Achte auf deine Gewohnheiten, denn sie werden dein Charakter.
Achte auf deinen Charakter, denn er wird dein Schicksal.
(Talmud)
-
- Beiträge: 152
- Registriert: 01.04.2004 10:09:25
-
Kontaktdaten:
Ich habe da gute Erfahrungen mit dem ulogd gemacht:und dann noch Das steht auch im man von iptables. Der ulogd kann sogar in SQL loggen. In wieweit das sinnvoll ist, muß jeder selbst entscheiden.
stargaizer
Code: Alles auswählen
apt-get install ulogd
Code: Alles auswählen
iptables ... -j ULOG ....
stargaizer
Ich hab das jetzt so gemacht:Hendri hat geschrieben:Hallo,
du solltest zuerst bei all deinen Log Regeln eineinbauen.Code: Alles auswählen
--log-level debug
Im Syslog mußt du dann eineinfügen um alle Kernel debug Meldungen in das Firewall log zu schreiben...Code: Alles auswählen
kern.=debug /var/log/firewall
Code: Alles auswählen
ptables -A OUTPUT -j LOG --log-prefix "OUTPUT geblockt: " --log-level debug
iptables -A FORWARD -j LOG --log-prefix "FORWARD geblockt: " --log-level debug
iptables -A INPUT -j LOG --log-prefix "INPUT geblockt: " --log-level debug
Code: Alles auswählen
kern.=debug /shared/log/firewall.txt
Was mache ich falsch ?
_________________________________________________
Linux HowTo's, Programmierung, Wallpapers und 3D:
http://www.neoBerserker.de
Linux HowTo's, Programmierung, Wallpapers und 3D:
http://www.neoBerserker.de
Ich hab überall im Internet die selbe beschreibung gefunden, und genau nach der hab ich es gemacht:
In meinem Script steht folgendes:
und er nimmt das auch an:
in der /etc/syslog.conf hab ich folgende Zeile hinzugefügt:
Und er erstellt das Logfile, aber es ist leer. Das kann aber nicht sein, ansonsten hat die firewall mir die Konsole zugespammt, also sind logdaten da !
Weiß da irgendwer was ?
In meinem Script steht folgendes:
Code: Alles auswählen
iptables -A OUTPUT -j LOG --log-level info --log-prefix "OUTPUT:"
iptables -A FORWARD -j LOG --log-level info --log-prefix "FORWARD:"
iptables -A INPUT -j LOG --log-level info --log-prefix "INPUT:"
Code: Alles auswählen
localhost:~# iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
DROP tcp -- anywhere anywhere tcp flags:!SYN,RST,ACK/SYN state NEW
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
DROP all -- localhost/8 anywhere
DROP all -- localhost/12 anywhere
DROP all -- localhost/24 anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere multiport dports ftp,www,https,2001,4662,6881,6882,6883,6884,6885,6886
ACCEPT udp -- anywhere anywhere multiport dports ntp,2001,3998,4672,ipp,8767
LOG all -- anywhere anywhere LOG level info prefix `INPUT:'
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere localhost multiport dports 8889,9089,ircd,27900,28900,29900,29901,32772,33114
ACCEPT udp -- anywhere localhost multiport dports 6500,13139,27900,32772,32790,33114
LOG all -- anywhere anywhere LOG level info prefix `FORWARD:'
Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
LOG all -- anywhere anywhere LOG level info prefix `OUTPUT:'
Code: Alles auswählen
kern.=info -/shared/log/firewall.txt
Weiß da irgendwer was ?
_________________________________________________
Linux HowTo's, Programmierung, Wallpapers und 3D:
http://www.neoBerserker.de
Linux HowTo's, Programmierung, Wallpapers und 3D:
http://www.neoBerserker.de
Runlevel 6 ? wie stell ich das ein ?
Das kann man bei mir auch sagen, wenn ich das firewallscript und die /etc/syslog.conf wie oben habe erstellt er zwar die Logdatei an sich wenn ich den syslogd neustarte, aber diese ist eben leer.dann hat er aber garnichts mehr gelogged...
_________________________________________________
Linux HowTo's, Programmierung, Wallpapers und 3D:
http://www.neoBerserker.de
Linux HowTo's, Programmierung, Wallpapers und 3D:
http://www.neoBerserker.de
ach so
aber trotz reboot ist nichts anders . . . ich hab auch ulog schon probiert, was mache ich den falsch ???????
aber trotz reboot ist nichts anders . . . ich hab auch ulog schon probiert, was mache ich den falsch ???????
_________________________________________________
Linux HowTo's, Programmierung, Wallpapers und 3D:
http://www.neoBerserker.de
Linux HowTo's, Programmierung, Wallpapers und 3D:
http://www.neoBerserker.de
also ich hab
in der /etc/syslog.conf
in der /var/log/syslog stehen nur Meldungen meiner Cronjobs
Code: Alles auswählen
*.*;auth,authpriv.none -/var/log/syslog
in der /var/log/syslog stehen nur Meldungen meiner Cronjobs
Code: Alles auswählen
Oct 27 23:31:01 localhost /USR/SBIN/CRON[25968]: (root) CMD (/root/pppd-checker.sh)
Oct 27 23:32:01 localhost /USR/SBIN/CRON[25975]: (root) CMD (mysqldump -u root --password=**** -B forum > /shared/temp/forum-mysql/forumDB.sql)
Oct 27 23:32:01 localhost /USR/SBIN/CRON[25976]: (root) CMD (/root/pppd-checker.sh)
Oct 27 23:33:01 localhost /USR/SBIN/CRON[25995]: (root) CMD (mysqldump -u root --password=**** -B forum > /shared/temp/forum-mysql/forumDB.sql)
Oct 27 23:33:01 localhost /USR/SBIN/CRON[25997]: (root) CMD (/root/ip.sh)
Oct 27 23:33:01 localhost /USR/SBIN/CRON[25998]: (root) CMD (/root/pppd-checker.sh)
Oct 27 23:34:01 localhost /USR/SBIN/CRON[26014]: (root) CMD (mysqldump -u root --password=**** -B forum > /shared/temp/forum-mysql/forumDB.sql)
Oct 27 23:34:01 localhost /USR/SBIN/CRON[26016]: (root) CMD (/root/pppd-checker.sh)
_________________________________________________
Linux HowTo's, Programmierung, Wallpapers und 3D:
http://www.neoBerserker.de
Linux HowTo's, Programmierung, Wallpapers und 3D:
http://www.neoBerserker.de
-
- Beiträge: 95
- Registriert: 01.06.2004 13:54:02
*Leiche ausgrab*
Ich habe exakt das selbe Problem:
Ich möchte die iptables Meldungen in /var/log/iptables haben, nicht in syslog oder messages.
Ich habe in meiner /etc/init.d/firewall die log-Einträge um "--log-level debug" ergänzt (und dann /etc/init.d/firewall restart), z.B. so:
Dann habe ich /etc/syslog.conf ergänzt um:
(dann ein /etc/init.d/sysklogd restart)
Ergebnis:
Die Meldungen von iptables erscheinen weder in messages noch in syslog, aber sie erscheinen eben auch nicht in /var/log/iptables. Die Datei wird angelegt, bleibt aber leer.
Ich habe x Howtos im Netz gefunden, die genau diesen Weg vorschlagen, bei mir gehts nicht, ich bin mit meinem Latein am Ende.
Weiß jemand Rat?
Danke,
Chandler
P.S.: Ich weiß, dass sich das auch anders mit syslog-ng lösen lässt, ich würde aber gern bei syslogd bleiben.
P.P.S.: init 6 kommt nicht in Frage!
Ich habe exakt das selbe Problem:
Ich möchte die iptables Meldungen in /var/log/iptables haben, nicht in syslog oder messages.
Ich habe in meiner /etc/init.d/firewall die log-Einträge um "--log-level debug" ergänzt (und dann /etc/init.d/firewall restart), z.B. so:
Code: Alles auswählen
iptables -A MY_REJECT -p tcp -m limit --limit 7200/h -j LOG --log-level debug --log-prefix "REJECT TCP "
Code: Alles auswählen
kern.debug /var/log/iptables
Ergebnis:
Die Meldungen von iptables erscheinen weder in messages noch in syslog, aber sie erscheinen eben auch nicht in /var/log/iptables. Die Datei wird angelegt, bleibt aber leer.
Ich habe x Howtos im Netz gefunden, die genau diesen Weg vorschlagen, bei mir gehts nicht, ich bin mit meinem Latein am Ende.
Weiß jemand Rat?
Danke,
Chandler
P.S.: Ich weiß, dass sich das auch anders mit syslog-ng lösen lässt, ich würde aber gern bei syslogd bleiben.
P.P.S.: init 6 kommt nicht in Frage!
-
- Beiträge: 95
- Registriert: 01.06.2004 13:54:02
- chu-i
- Beiträge: 157
- Registriert: 10.11.2005 23:29:01
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Berlin
Da die Log Datei erstellt wird, gehe ich davon aus das der syslog richtig funtzt.
Eine Bestätigung dieser Vermutung wäre auch, das die normalen Log Dateien weiterhin beschrieben werden.
Somit bleiben nur die iptables Regeln als Schuldiger übrig.
...kurz mal abgeschweift
Zusätzlich würde ich noch ein Minuszeichen in die /etc/syslog.conf eintragen.
Damit werden die Nachrichten nicht gecachet sonder sofort gelogt.
Sollte jedoch nicht zu deinem Problem führen.
daher weiter im Text...
Bei den iptables vermutet ich einen inhaltichen Fehler.
Die erste Regel die greift, gilt.
Das ist die Faustformel für iptables.
Wenn also deine Regeln alle Eventualitäten abfangen bevor es zum Log kommt,
gibt´s auch kein Log. bzw. es wird nur noch das gelogt was übrig bleibt.
BSP:
(deine Standart Ketten)
...
(Alles was bis jetzt nicht gegriffen hat, wird gelöscht)
...
(bekommt nix mehr zum loggen ab, weil vorher alles gedropt wurde!)
Eine Bestätigung dieser Vermutung wäre auch, das die normalen Log Dateien weiterhin beschrieben werden.
Somit bleiben nur die iptables Regeln als Schuldiger übrig.
...kurz mal abgeschweift
Zusätzlich würde ich noch ein Minuszeichen in die /etc/syslog.conf eintragen.
Damit werden die Nachrichten nicht gecachet sonder sofort gelogt.
Code: Alles auswählen
kern.debug -/var/log/iptables
daher weiter im Text...
Bei den iptables vermutet ich einen inhaltichen Fehler.
Die erste Regel die greift, gilt.
Das ist die Faustformel für iptables.
Wenn also deine Regeln alle Eventualitäten abfangen bevor es zum Log kommt,
gibt´s auch kein Log. bzw. es wird nur noch das gelogt was übrig bleibt.
BSP:
Code: Alles auswählen
iptables blabla
...
Code: Alles auswählen
iptables -A INPUT -j DROP
...
Code: Alles auswählen
iptables -A INPUT -j LOG --log-level info --log-prefix "INPUT:"
Thx & cya Chu-i
„Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren.“
Benjamin Franklin (1706-1790†)
„Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren.“
Benjamin Franklin (1706-1790†)