Brandväggsloggar är helt nödvändiga för att hitta attacker, felsöka dina brandväggsregler, och notera ovanlig aktivitet på ditt nätverk. Du måste dock inkludera loggningsregler i din brandvägg för att loggarna ska skapas, och loggningsreglerna måste stå innan någon applicerbar avslutande regel (en regel som avgör ett pakets öde, som ACCEPT, DROP eller REJECT). Till exempel:
sudo iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j LOG --log-prefix "NEW_HTTP_CONN: "
En förfrågan på port 80 från den lokala maskinen kommer nu att generera en logg i dmesg som ser ut såhär:
[4304885.870000] NEW_HTTP_CONN: IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=58288 DF PROTO=TCP SPT=53981 DPT=80 WINDOW=32767 RES=0x00 SYN URGP=0
Ovastående logg hittar du också i /var/log/messages
, /var/log/syslog
och /var/log/kern.log
. Det här betendet går att ändra på genom att göra lämpliga ändringar i /etc/syslog.conf
eller genom att installera och konfigurera ulogd och skriv ULOG istället för LOG i den tidigare regeln. Demonen ulogd är en server som lyssnar efter loggningsinstruktioner från kärnan om brandväggar, och kan logga det till vilken fil du vill, eller till och med till databaserna PostgreSQL eller MySQL. Du kan göra det enklare att förstå loggarna genom att använda ett logganalyseringsverktyg som fwanalog, fwlogwatch eller lire.