Назад | Перейти на главную страницу

iptables регистрирует пакеты, поступающие из внешнего мира

Я хочу регистрировать все пакеты INPUT, которые не происходят в локальной сети, для целей аудита, у меня есть сценарий с tcpdump, который в основном добавляет в файл результат этого:

tcpdump "(dst net 192.168.0.0/24 and ! src net 192.168.0.0/24)"

однако я видел некоторые попытки извне в / var / log / syslog

[567325.985994] iptables INPUT denied: IN=eth1 OUT= MAC=..... SRC=69.163.149.200 DST=192.168.0.2 LEN=60 TOS=0x00 PREC=0x00 TTL=57 ID=50281 DF PROTO=TCP SPT=51380 DPT=1194 WINDOW=5840 RES=0x00 SYN URGP=0 
[567895.076532] iptables INPUT denied: IN=eth1 OUT= MAC=.... SRC=72.21.91.19 DST=192.168.0.2 LEN=40 TOS=0x00 PREC=0x00 TTL=59 ID=0 DF PROTO=TCP SPT=80 DPT=52589 WINDOW=0 RES=0x00 RST URGP=0 

которые не отображаются в выводе tcpdump. Я хочу добавить правило вроде

-A INPUT -j LOG

но я бы хотел (если это имеет смысл) избегать ввода входных пакетов журнала из локальной сети

достаточно поставить это?

-A INPUT ! -s 192.168.0.0/24 -j LOG

Кстати, как побочный вопрос, поддерживает ли iptables ведение журналов разных вещей в разные файлы?

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

Ваше правило

-ВХОД! -s 192.168.0.0/24 -j ЖУРНАЛ

будет регистрировать пакеты, у которых нет исходного IP 192.168.0.0/24, но регистрация iptables охватывает только некоторые данные заголовка пакета, но не полезную нагрузку пакета.

Итак, как я могу захватить полезную нагрузку?

tcpdump - это инструмент, который собирает полезную нагрузку. Вы должны либо явно указать интерфейс, на который ожидается входящий трафик (-i eth1), либо использовать любой интерфейс (-i any). Вы также можете увеличить параметр snaplen (параметр -s) и записать захват в файл в двоичном формате (параметр -W).

Но из-за того, что tcpdump - это не инструмент безопасности, а инструмент диагностики со сложной историей безопасности и, вероятно, запускается с привилегиями root в вашей конфигурации (хотя есть способы запустить его без полномочий root), вам следует рассмотреть другое решение, написанное с учетом безопасности - Системы IDS может подойти.