Журналирование

Сообщения в журнале брандмаура необходимы для определения атак, поиска проблем в правилах, а также для определения необычной активности в вашей сети. Чтобы активировать журналирование вам необходимо включить соответствующие правила в конфигурацию вашего межсетевого экрана, более того, эти правила должны быть заданы ранее всех применяемых завершающих правил (это правила с целью, которая определяет дальнейшую судьбу пакета, такие как ACCEPT, DROP или REJECT). Например,

sudo iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j LOG --log-prefix "NEW_HTTP_CONN: "

Тогда запрос на порт 80 с локальной машины будет генерировать сообщение в dmesg подобное следующему:

[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

Сообщение выше, будет также записано в файлы /var/log/messages, /var/log/syslog, и /var/log/kern.log. Данное поведение можно изменить соответствующими настройками в файле /etc/syslog.conf или с помощью установки и настройки ulogd (при этом нужно использовать цель ULOG вместо LOG). Демон ulogd - это сервер пользовательского рабочего пространства, который ожидает от ядра инструкций для записи в журнал, специфичных для брандмауэров, и может сохранять их в любой файл на ваш вкус, и даже в базу данных PostgreSQL или MySQL. Разобраться в журнале брандмауэра может помочь использование утилит анализа журналов событий, таких как fwanalog, fwlogwatch, или lire.