Sie sind nicht angemeldet.

1

23.01.2011, 10:31

syslog-ng - leere firewall.log

Ich habe iptables installiert und es läuft auch. Jetzt habe ich versucht, mit syslog-ng v3 die Logs in eine eigene Datei /var/log/firewall.log zu schreiben, aber die ist leer. Obwohl in /var/log/messages die Logs drin sind.

Zitat

@version:3.0
## Syslog-ng alex configuration file for Gentoo Linux
options { chain_hostnames(no);
# Die standardmäßige Aktion von syslog-ng ist es, alle 10
# Minuten eine STATS-Zeile zu loggen. Das wird nach einer Weile recht # ekelig. Ändern Sie dies auf 12 Stunden, so dass Sie ein nettes # tägliches Update darüber erhalten, wie viele Nachrichten
# syslog-ng entgangen sind (0).
stats_freq(43200);
create_dirs(yes);
owner(root);
group(root);
perm(0640);};
source src {unix-stream("/dev/log" max-connections(256)); internal(); };
source kernsrc { file("/proc/kmsg"); };

# Ziele festlegen
...
destination firewall { file("/var/log/firewall.log"); };

# create filters
...
filter f_iptables { message('IPTABLES'); };

# Filter und Ziele verbinden
...
log { source(src); filter(f_iptables); destination(firewall); };
meine iptables loge ich mit --log-prefix:

Zitat

# alle sonstigen nicht erlaubten Verbindungen
$IPTABLES -A INPUT -m limit --limit 6/h --limit-burst 5 -j LOG --log-prefix "IPTABLES PROTOCOL-X-IN: "
$IPTABLES -A INPUT -j DROP$IPTABLES -A OUTPUT -m limit --limit 6/h --limit-burst 5 -j LOG --log-prefix "IPTABLES PROTOCOL-X-OUT: "$IPTABLES -A OUTPUT -j DROP
in /var/log/messages werden die auch geloggt:

Zitat

Jan 23 11:14:19 alex-laptop kernel: IPTABLES SSH-22-OUT: IN= OUT=wlan0 SRC=192.168.2.5 DST=192.168.2.4 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=64995 DF PROTO=TCP SPT=46215 DPT=22 WINDOW=5840 RES=0x00 SYN URGP=0
Jan 23 11:14:22 alex-laptop kernel: IPTABLES SSH-22-OUT: IN= OUT=wlan0 SRC=192.168.2.5 DST=192.168.2.4 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=64996 DF PROTO=TCP SPT=46215 DPT=22 WINDOW=5840 RES=0x00 SYN URGP=0
warum erscheinen sie dann nicht in firewall.log?

2

23.01.2011, 16:46

Hi alex1974,
ich bin zwar kein syslog-ng crack, aber wenn ich deine regel mit der Doku vergleiche

filter f_iptables { message('IPTABLES'); };


Quellcode

1
2
3
4
5
6
7
8
9
10
11
bzcat /usr/share/doc/syslog-ng-3.1.4/*|grep messages | grep filter
    
[tags] added tags() filter to match taged messages
    the netmask filter matches messages with no sockaddr as if they came from 127.0.0.1 (fixes: #nobug)
        (filter_expr_eval): uninlined, added debugging messages (fixes: #3988),
filter      f_messages     { facility(daemon, kern, user); };
      source(s_tcp);      filter(f_messages);  destination(messages); };
filter f_messages { level(info..warn)
log { source(src); filter(f_messages); destination(messages); };
filter f_messages { level(info..warn) 
log { source(src); filter(f_messages); destination(messages); };


ist mir aufgefallen das bei dir message statt messages heißt und ich konnte auch keine Großschreibung in der Doku finden.

Ich würde den filter mal so abändern.

Quellcode

1
filter f_iptables { messages('iptables'); };


Gruß
knasan

- Bug oder Feature, das darf man sich hier aussuchen. -

3

24.01.2011, 18:16

Habe ich schon probiert... leider nicht.
außerdem habe ich auch schon match("IPTABLES" value("MESSAGE")); probiert. Geht auch nicht.

4

26.01.2011, 02:50

Hm,

hast du schon mal im gentoo Security Handbuch gesehen?
Ich habe mein Syslog-ng nach dieser Seite eingerichtet.

http://www.gentoo.de/doc/de/security/sec…hap=3#doc_chap2
knasan

- Bug oder Feature, das darf man sich hier aussuchen. -

5

26.01.2011, 09:17

Hallo,

versuch mal folgendes:

Zitat

destination iptables { file("/var/log/firewall.log"); };
filter iptables { match("regex" value("INPUT")); };
log { source(src); filter(iptables); destination(iptables); };


Dann sollte es in der Datei /var/log/firewall und in der /var/log/messages gelogt werden.

INPUT sollte auch in IPTABLES geändert werden können.

Ist aber nicht wirklich getestet.

Viele Grüße

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Planeshift« (26.01.2011, 09:41)