Loggfiler

I Linux loggas normalt det mesta med hjälp av syslog. Många program använder syslog för att hantera loggningen. Syslog brukar spara sina loggfiler i /var/log. Titta i filen /etc/syslog.conf för att ta reda på hur din syslog är konfigurerad.

Observera att loggfiler är bland attackerarens första mål. Se till att säkerställa loggarnas integritet.

För syslog används facilitet och prioritet. Facilitet talar om vilken typ av program som skickar meddelandet och prioritet talar om hur viktigt meddelandet är. De faciliteter som finns är: auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security (samma som auth), syslog, user, uucp och local0 till local7. Security ska inte användas längre och mark ska ej användas av applikationer. De prioriteter som finns är: debug, info, notice, warning, warn (samma som warning), err, error (samma som err), crit, alert, emerg, panic (samma som emerg). Prioriteterna error, warn och panic ska ej användas längre.

Filen /etc/syslog.conf är uppbygd så att först på varje rad står facilitet och prioritet därefter vart meddelandet ska skickas. Sökväg till filer ska alltid ges som en fullständig sökväg. Exempel på en rad i /etc/syslog.conf:

news.notice 		/var/log/news/news.notice
För facilitet news skickas alla meddelanden med prioritet notice och högre till filen /var/log/news/news.notice. För att endast logga för en viss prioritet och inte alla med högre prioritet skriv = före prioritet.
news.=err 		/var/log/news/news.err
Prioritet kan även skrivas som * vilken tolkas som alla prioriteter.
mail.*							/var/log/maillog
Alla e-postloggar oavsett prioritet skickas till filen /var/log/maillog.

Det går även att ange flera par med facilitet och prioritet som ska skickas till ett och samma ställe. Ex:

*.info;mail.none;news.none;authpriv.none	/var/log/messages
Alla meddelanden för alla faciliteter (*) av prioritet info och högre skickas till /var/log/messages förutom för mail, news, authpriv där loggningar för inga faciliteter ( .none) ska skickas till filen.

Det går även att skicka till en named pipe (|/sökväg-till-filen/filnamn), till en devicefil (/dev/ttyS0) eller till en annan dator ( @annandator). Att skicka loggar till en serie eller parallellport och ha en skrivare ansluten är ofta en vettig sak för större organisationer. Likaså att skicka loggarna till en annan dator.

*.info;mail.none;news.none;authpriv.none	/var/log/messages
*.info;mail.none;news.none;authpriv.none	/dev/ttyS0
*.info;mail.none;news.none;authpriv.none	@annandator
Ovan skickas loggarna till filen /var/log/messages, till första serieporten och till en annan dator.

Logga även till en separat dator som endast har till uppgift att ta hand om loggar. Se till att alla servertjänster förutom syslog är avsängda på loggservern och se till att den endast accepterar loggar från de lokala systemen, dvs spärra med en extern brandvägg och sätt upp brandväggsregler på loggservern. Om flera datorer loggar till en och samma loggserver är det lättare att se attackmönster i loggarna.

Det kan även vara bra att skriva ut loggarna på papper.

Ett litet extra skydd är att kompilera om syslogservern till att använda en annan konfigurationsfil än den vanliga och att spara den vanliga så att systemet ser normalt ut. Observera dock att detta ger väldigt lite och kan lätt invagga en i falsk trygghet. Det är enkelt att titta på binären och ta reda på vilken konfigurationsfil den använder. Det här skyddar mest mot slarviga crackers.

Titta regelbundet i loggfilerna. Om du använder ipfwadm med loggning påslagen använder ipfwadm syslog för att hantera loggningen till fil. Studera loggarna och titta efter onormal aktivitet. Exempel på onormal aktivitet kan vara:

Feb  8 20:03:52 dator wu.ftpd[17246]: refused connect from dator.domän
Feb  2 13:24:44 tekla kernel: IP fw-in deny eth0 TCP 10.10.15.60:20833 172.22.249.42:143 L=44 S=0x00 I=4671 F=0x0000 T=48

Titta framförallt efter rader med error, deny, denied, refuse, failure, failed, flooding, SYN, ftp, unknown, REPEATED LOGIN FAILURES, password, invalid, su och liknande. Gör t.ex. grep -i deny logfil.

Om du i loggfilerna hittar en massa skräptecken följt av /bin/sh är du utsatt för intrångsförsök.

Ett utmärkt verktyg för att hjälpa till med att analysera loggfilerna och därmed slippa läsa igenom hela loggfilerna är perlprogrammet swatch.

Ta gärna en titt på den förbättrade syslog, syslog-ng, se http://freshmeat.net/projects/syslog-ng/.

Copyright © 2010 Kjell Enblom.
This document is covered by the GNU Free Documentation License, Version 1.1