iptables: пишем в лог все отфильтрованные пакеты

  • Автор:
  • Опубликовано:
  • Изменено:
  • Просмотры: 1 580
  • Комментарии: 0
  • Рейтинг: 100,00%
  • Голосов: 1

Во время настройки правил iptables очень часто возникает необходимость посмотреть, какие из них отбрасываются (дропаются, фильтруются). В этой статье мы рассмотрим настройки для iptables, чтобы отфильтрованные фаерволом пакеты, сохранялись в отдельный лог файл для дальнейшего анализа. Чтобы это работало, мы должны создать конфигурационный файл для rsyslog (считаем, что он у вас уже установлен в системе).

touch /etc/rsyslog.d/10-iptables.conf

Открываем его любым текстовым редактором, например, nano и вносим туда следующие строчки:

:msg, contains, "IPTables-Dropped: " -/var/log/iptables.log
& ~

Сохраняем изменения в файле. Первая строчка говорит rsyslog, что нужно искать в логе фразу "IPTables-Dropped: ", и когда он её находит, то переносит в файл /var/log/iptables.log
Вторая строчка просто дает понять rsyslog, чтобы найденные строки, подходящие под условия, не дублировались в основной лог /var/log/messages.
Перезапускаем rsyslog:

service rsyslog restart

Все, подготовительный этап, позволяющий писать лог iptables в отдельный файл мы сделали. Можно его не делать и тогда все записи будут появляться в /var/log/messages, но ИМХО это не очень удобно.

Переходим ко второму этапу, непосредственной настройке iptables.

Если у вас уже есть написанные правила для iptables, то все настройки, приведенные ниже, необходимо дописывать в самый низ конфигурации.

Возможны три варианта настройки:

Вариант 1 - Записываем в лог (логируем) только входящие отброшенные пакеты:

iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
iptables -A LOGGING -j DROP

Разберем что же означает каждая из команд в примере выше:
iptables -N LOGGING: Создаем новую цепочку LOGGING
iptables -A INPUT -j LOGGING: Все входящие пакеты попадают в цепочку LOGGING
iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4: Логируем все входящие пакеты в syslog (/var/log/messages).
iptables -A LOGGING -j DROP: Отбрасываем все пакеты, которые пришли в цепочку LOGGING.

Вариант 2 - Записываем в лог только исходящие отброшенные пакеты:
Все тоже самое, что и в примере выше, за исключением цепочки, теперь используем OUTPUT вместо INPUT.

iptables -N LOGGING
iptables -A OUTPUT -j LOGGING
iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
iptables -A LOGGING -j DROP

Вариант 3 - Записываем в лог все исходящие и входящие отброшенные пакеты:
Log All Dropped Packets (both Incoming and Outgoing)

iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A OUTPUT -j LOGGING
iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
iptables -A LOGGING -j DROP

Оценить статью

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)

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

Ваш e-mail не будет опубликован.

Читайте ранее:
sshd: отключаем поддержку ipv6
Отключаем IPv6
Смена режима AHCI на RAID и обратно без переустановки windows
Windows XP запускаем панель управления с правами администратора
nginx: Заглушка на сайте для определенных IP адресов
Закрыть