Запись событий в лог в iptables

log-fileОдним из важнейших инструментов в руках системного администратора является логирование — запись в журнал информации о происходящих событиях. Настраивая межсетевой экран через iptables, мы можем включить запись определённых событий в системный журнал (syslog). Это очень удобно, если Вы хотите посмотреть, что происходит с сетевыми соединениями.

В одной из предыдущих статей мы запрещали доступ к FTP-серверу по порту 21. Команда выглядела так:

iptables -A INPUT -p tcp --dport 21 -j DROP

Допустим, что мы хотим, чтобы в системном журнале отражалась информация о попытках подключения по этому порту. Тогда перед этой строкой надо добавить следующую строку:

iptables -A INPUT -p tcp --dport 21 -j LOG --log-level INFO --log-prefix "New connection from ours: "

В итоге всё вместе должно выглядеть так:

iptables -A INPUT -p tcp --dport 21 -j LOG --log-level INFO --log-prefix "New connection from ours: "
iptables -A INPUT -p tcp --dport 21 -j DROP

Теперь, если мы обратимся к файлу /var/log/syslog, то мы увидим там сообщение вида

Apr 17 15:11:37 hostname kernel: New connection from ours: IN=eth0 OUT= MAC=xx:yy:zz:xx:yy:zz:xx:yy:zz:xx:yy:zz:xx:yy SRC=XXX.XXX.XXX.XXX 
DST=XXX.XXX.XXX.XXX LEN=48 TOS=0x00 PREC=0x00 TTL=110 ID=38914 DF PROTO=TCP SPT=31521 DPT=21 WINDOW=65535 RES=0x00 SYN URGP=0

В этом сообщении содержится достаточно много информации: дата и время события, имя хоста, источник сообщения (для сообщений от межсетевого экрана это всегда ядро), заданный в команде префикс (New connection from ours), входящий и исходящий интерфейсы, сцепленные вместе MAC-адреса назначения и источника, IP-адреса источника и получателя, длина пакета и его время жизни, протокол и порты источника и назначения, наличие флага SYN и так далее.

Параметр —log-level определяет важность сообщения, а параметр —log-prefix позволяет задать поясняющее сообщение. Есть и другие полезные параметры. Можно дополнить эту информацию номером TCP-последовательности (—log-tcp-sequence), выводом включенных опций протоколов TCP (—log-tcp-options) и IP (—log-ip-options), а также идентификатором пользователя, процесс которого отправил данный пакет (—log-uid) Последнее имеет смысл только в цепочках OUTPUT и POSTROUTING.

Добавить комментарий

Ваш адрес email не будет опубликован.