[Megoldva] syslog-ng -> LOG HIBA

Fórumok

Sziasztok!

A héten feltelepítettem a syslog-ng 3.1.3-s verzióját, és működésre bírtam. Szeparálja a Firewall logokat, ám valami érdekes NEM érthető hibába jutottam.

A kernel log és a messages-be bele bele dobja a következő hibákat:

Jul 1 22:10:30 HOSTNEV kernel[16184]: Error processing log message: <6[840481]F:SNFODI=t1OT A=09:73:16:01:2d:7f:80 R=9.6..8DT121811LN6 O=x0PE=x0TL6 D244D RT=C P=64 P=18WNO=80RS00 Y RP0OT(2454428A360300001336 [844898]F:IvldTPPce Neh U=MC0:18:28:a0:eb:cb:10:0SC8.3.1.1 S=0.0.124LN10 O=x0PE=x0TL18I=05D RT=C P=02 P=32 IDW27RS00 C RP0OT(118A02F43649 6[841628]F:IvldTPPce Neh U=MC0:18:28:a0:eb:cb:10:0SC8.3.1.1 S=0.0.124LN10 O=x0PE=x0TL18I=02 FPOOTPST162DT333WNO=5 E=x0AKUG= P 000002810FC6)

Jul 1 22:06:54 HOSTNEV kernel[16184]: Error processing log message: <6[828502]F:IvldTPPce Neh U=MC0:18:28:a0:eb:cb:10:0SC8.3.1.1 S=0.0.124LN10 O=x0PE=x0TL18I=16 FPOOTPST162DT556WNO=5 E=x0AKUG= P 0000022E0FFF)

Jul 1 22:02:51 HOSTNEV kernel[16184]: Error processing log message: <6[890670]F:IvldTPCnetI=t1OTeh R=9.6..8DT7.2.31 E=5TS00 RC00 T=3I=84 FPOOTPST334DT93WNO=1 E=x0AKPHUG= P 00000F000A75)

Nekem ezek teljesen értelmetlennek tűnnek. Olyan mintha a teljes logból csak részleteket adna:
Pl.: Itt ez a sor: <6[828502]F:IvldTPPce
Ez nagyon hasonlít egy firewall log prefixére: Invalid TCP Packet

Mit gondoltok mi lehet a probléma?
Előre is köszönöm nektek!

UPDATE:

"FW: " prefixre nem illeszkedő logokat így szűröm a syslog-ngvel:

filter f_not_firewall {
not match("] FW: " value("MESSAGE"));
};

Majd a kern.log, messages.log, syslog-ba berakom, h ezeket ne tegye beléjük: log { source(s_src); filter(f_kern); filter(f_not_firewall); destination(d_kern); };
A töbinél hasonlóan

MEGOLDÁS: match("\] FW: " value("MESSAGE"));

Üdv.:
V007

Hozzászólások

HASONLÓSÁG:

/var/log/kern.log:
Jul 1 22:55:04 HOSTNEV kernel: [48743333]F:Hslmt- otcnI=t0OT A=02:51:6c:00:62:76:80 R=1161718DT19151.3 E=8TS00 RC00 T=1 D302D RT=C P=13DT523WNO=12RS00 Y RP0

/var/log/firewall.log
Jul 1 22:55:25 HOSTNEV kernel: [487515.546020] FW: Hashlimit -> PortScan IN=eth0 OUT= MAC=00:21:85:12:86:ca:00:0e:b6:2c:b7:61:08:00 SRC=84.2.134.47 DST=MYIP LEN=58 TOS=0x00 PREC=0x00 TTL=117 ID=10642 PROTO=UDP SPT=15801 DPT=51203 LEN=38

A match alapbol regexp, amiben a "]" specialis karakter. Vagy escapeld (\]), vagy rakj egy type(string) -et a value() moge.

Szerintem legalabbis ez lehet a hiba oka, gyanusan ilyesmire utal a jelenseg. Bar a hibauzenet ketsegtelen, hogy lehetne jobb, ha valoban ez okozza.

--
|8]

match("FW: " value("MESSAGE") type("string"))

Sor módosítása (Úgy néz ki, DE még nem biztos) MEGOLDOTTA a ZAGYVA logüzenetek jelentkezésést DE most már nem matchel rendesen:

-A firewall.log-ba nem kerül semmilyen log,
-DE az archivum/firewall/ev/honap/firewall.nap.log-ba IGEN,
-DE SAJNOS MÉG szétszórja az üziket még a kern.log/syslog/messages file-okba :S:S Hiába ott a szűrés.

TEHÁT a pontos filter:

filter f_firewall {
match("FW: " value("MESSAGE") type("string") );
};
filter f_not_firewall {
not match("FW: " value("MESSAGE") type("string") );
};

PONTOS használat a logolásnál:
log { source(s_src); filter(f_kern); filter(f_not_firewall); destination(d_kern); };
log { source(s_src); filter(f_syslog3); filter(f_not_firewall); destination(d_syslog); };
log { source(s_src); filter(f_messages); filter(f_not_firewall); destination(d_messages); };

log {
source(s_src);
filter(f_firewall);
destination(df_firewall);
};

Ilyen sorom nekem is van, már config sor:


# firewall filter
filter f_firewall {
        match("] Firewall " value("MESSAGE"));
        };

filter f_not_firewall {
        not match("] Firewall " value("MESSAGE"));
        };

Viszont hibaüzenet nekem nincs. Mást nem csinálsz a loggal?

Ilyen os és syslog-ng van nekem:


uname -a
Linux thor 2.6.32-5-486 #1 Tue Mar 8 21:03:02 UTC 2011 i686 GNU/Linux

syslog-ng -V
syslog-ng 3.1.3
Installer-Version: 3.1.3
Revision: ssh+git://bazsi@git.balabit//var/scm/git/syslog-ng/syslog-ng-ose--mainline--3.1#master#def34661b08109f8148904b860457d5747c425b3
Compile-Date: Feb  1 2011 19:36:27
Enable-Threads: on
Enable-Debug: off
Enable-GProf: off
Enable-Memtrace: off
Enable-Sun-STREAMS: off
Enable-Sun-Door: off
Enable-IPv6: on
Enable-Spoof-Source: on
Enable-TCP-Wrapper: on
Enable-SSL: on
Enable-SQL: on
Enable-Linux-Caps: on
Enable-Pcre: on

----
올드보이
http://molnaristvan.eu/

Szia!

-A syslog-ng -V kimenet nekem TELJESEN ugyan az mint neked.
-Ezt csinálom a syslog-ng confban:

----------------------------

destination df_firewall {
file("/var/log/firewall.log");
file("/var/log/archivum/firewall/${YEAR}/${MONTH}/firewall-$DAY.log");
};

----------------------------

filter f_firewall {
match("] FW: " value("MESSAGE"));
};
filter f_not_firewall {
not match("] FW: " value("MESSAGE"));
};

----------------------------

log { source(s_src); filter(f_kern); filter(f_not_firewall); destination(d_kern); };
log { source(s_src); filter(f_syslog3); filter(f_not_firewall); destination(d_syslog); };
log { source(s_src); filter(f_messages); filter(f_not_firewall); destination(d_messages); };

log {
source(s_src);
filter(f_firewall);
destination(df_firewall);
};

A problémától függetlenül, lehet, hogy érdemes lenne egy kicsit újragondolni a konfigodat. Ha jól értem, akkor két filtered is van, egymás inverzei, és _mindkettő_ alapján szűrsz. Viszont ebben az esetben a matchelés kétszer is megtörténik az fw logokon, igazából feleslegesen.

Szerintem érdemes lenne úgy megoldani, hogy amiről már egyszer kiderült, hogy fw log, annak a feldolgozását meg kéne állítani a "final" flaggel és a többi üzenet szépen továbbhalad feldolgozásra a többi log statement-en (a log statement-eknek van precedenciája, ami előbb van, arra fut rá előbb az üzenet). Szóval valami ilyesmi sok log esetén jelentősen csökkenti a CPU terhelést:

----------------------------

destination df_firewall {
file("/var/log/firewall.log");
file("/var/log/archivum/firewall/${YEAR}/${MONTH}/firewall-$DAY.log");
};

----------------------------

filter f_firewall {
match("] FW: " value("MESSAGE"));
};

----------------------------

log {
source(s_src);
filter(f_firewall);
destination(df_firewall);
flags(final);
};

log { source(s_src); filter(f_kern); destination(d_kern); };
log { source(s_src); filter(f_syslog3); destination(d_syslog); };
log { source(s_src); filter(f_messages); destination(d_messages); };

Karakterkódolásod milyen?

# locale

LANG=hu_HU.UTF-8
LC_CTYPE="hu_HU.UTF-8"
LC_NUMERIC="hu_HU.UTF-8"
LC_TIME="hu_HU.UTF-8"
LC_COLLATE="hu_HU.UTF-8"
LC_MONETARY="hu_HU.UTF-8"
LC_MESSAGES="hu_HU.UTF-8"
LC_PAPER="hu_HU.UTF-8"
LC_NAME="hu_HU.UTF-8"
LC_ADDRESS="hu_HU.UTF-8"
LC_TELEPHONE="hu_HU.UTF-8"
LC_MEASUREMENT="hu_HU.UTF-8"
LC_IDENTIFICATION="hu_HU.UTF-8"
LC_ALL=

Na ez nekem különbözik:


root@thor:~# locale
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

Fel van egyébként telepítve az en_US, en_US.ISO-8859, hu_HU és a hu_HU.UTF-8 locale is.

----
올드보이
http://molnaristvan.eu/