ulogd2 und mysql db

Gemeinsam ins Internet mit Firewall und Proxy.
Antworten
joednemesis
Beiträge: 1
Registriert: 11.04.2017 15:32:28

ulogd2 und mysql db

Beitrag von joednemesis » 11.04.2017 15:45:08

ich versuche ulogd2 zu nutzen, um die logs von iptables bzw. netfilter in eine mysql-db zu schreiben.

mein Stack in der ulogd.conf sieht so aus:

stack=ulog1:ULOG,base1:BASE,ip2bin1:IP2HBIN,mysql1:MYSQL

Die notwendigen plugins sind aktiviert. Die mysql-db inkl. Tabellen habe ich mit dem beiliegenden Script angelegt.

Beim Starten wird von ulogd automatisch geprüft, ob jedem Feld in der Datenbank ein Wert zugeordnet werden kann., sieht dann im Debug so aus, wenn alles klappt:

Mon Apr 3 16:39:33 2017 <1> ulogd.c:756 assigning `ip.saddr(?)' as source for MYSQL(ip.saddr)
Mon Apr 3 16:39:33 2017 <1> ulogd.c:650 base1(BASE)
Mon Apr 3 16:39:33 2017 <1> ulogd.c:756 assigning `ip.daddr(?)' as source for MYSQL(ip.daddr)
Mon Apr 3 16:39:33 2017 <1> ulogd.c:650 base1(BASE)
Mon Apr 3 16:39:33 2017 <1> ulogd.c:756 assigning `ip.protocol(?)' as source for MYSQL(ip.protocol)
Mon Apr 3 16:39:33 2017 <1> ulogd.c:650 base1(BASE)

Ich habe in der Tabelle aber zwei Felder, die ein Problem verursachen:

local_hostname und local_time

Hier erscheint die folgende Fehlermeldung:

Mon Apr 3 16:39:33 2017 <7> ulogd.c:750 cannot find key `local.hostname' in stack
Mon Apr 3 16:39:33 2017 <1> ulogd.c:896 destroying stack
Mon Apr 3 16:39:33 2017 <8> ulogd.c:1430 not even a single working plugin stack
Fatal error.

Wenn ich die beiden Felder lösche funktioniert alles. Die Logeinträge werden in die DB geschrieben.
Allerdings ist zumindest der hostname für mich wichtig, da ich von mehreren Firewalls die Logs in die Tabelle schreibe.

Jemand eine Idee? Für die beiden Felder ist das Plugin BASE verantwortlich.

Wenn ich als Ausgabe Plugin LOGEMU statt MYSQL nehmen, dann wird in der zugehörigen Textdatei richtig protokolliert, local_time und local_host stehen ganz am Anfang in fett:

stack=ulog1:ULOG,base1:BASE,ip2str1:IP2STR,print1:PRINTPKT,emu1:LOGEMU


root@debian-iptables2 ~/ulog2/ulogd2 # cat /var/log/ulogd_syslogemu.log
Apr 2 07:44:09 debian-iptables2 RULE 8 -- DENY IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:e8:94:f6:af:67:96:08:00 SRC=192.168.1.1 DST=255.255.255.255 LEN=201 TOS=00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=44531 DPT=7437 LEN=181 MARK=0

Antworten