Регистрация всех подключений с использованием iptables к закрытым портам

Во FreeBSD есть параметр ядра, настраиваемый через sysctl (net.inet.tcp.log_in_vain), который предоставляет вам журналы попыток подключения к портам, на которых не запущена служба (т. е. закрытые порты). Эти сообщения записываются в /var/log/messages (несколько) в следующем формате:

2014-06-26 13:18:58|218.77.79.43|58848|192.168.192.28|443|tcp_input: Попытка подключения к закрытому порту

Без переадресации всех соединений с маршрутизатора на мою машину FreeBSD я регулярно получаю эти сообщения. Как это происходит, если я явно не создал наборы правил перенаправления портов, перенаправляющие трафик на этот ящик на маршрутизаторе?

Я хочу настроить что-то подобное с помощью iptables, уменьшив как можно больше шума, например. видеть только соединения для тех, которые происходят за пределами моей сети, как src и игнорировать все исходящие.

Я пытался использовать что-то вроде следующего, чтобы сделать это:

iptables -I INPUT -m state --state NEW -j LOG --log-prefix "Новое соединение: "

Я почти уверен, что этот синтаксис довольно устарел. Я пришел из мира IPF, поэтому я не совсем в курсе последних соглашений о синтаксисе iptables.

Это правило генерирует журналы того типа, который я ищу в /var/log/messages:

28 июня 00:38:12 ядро ​​kermit: [6331.339928] Новое соединение: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:a8:86:dd:8a:c9:26:08:00 :45:00:00:48:e8:3f:00:00:40:11:8f:ec │ SRC=192.168.192.40 DST=192.168.192.255 LEN=72 TOS=0x00 PREC=0x00 TTL=64 ID=59455 PROTO=UDP SPT=57621 DPT=57621 LEN=52

До сих пор я не видел никаких подключений из-за пределов моей собственной сети. Кроме того, я вижу попытки входа в систему SSH в /var/log/auth.log, которые не отображаются в /var/log/messages с использованием приведенного выше правила iptables:

28 июня, 09:31:42 kermit sshd[10097]: pam_unix(sshd:auth): проверка прохода; неизвестный пользователь

28 июня, 09:31:44 kermit sshd [10097]: неверный пароль для недопустимого пользователя admin с порта 116.10.191.187 40312 ssh2

Можно ли с помощью iptables создать следующее:

  1. Правило/набор правил, которое регистрирует все входящие подключения к моему ящику в /var/log/messages.
  2. Не регистрировать любые подключения, исходящие из моей собственной сети
  3. Не регистрировать исходящие подключения
  4. Должен ли я перенаправлять все соединения на маршрутизаторе на свой компьютер, чтобы получать такие же сообщения журнала, как и во FreeBSD? (т.е. перенаправить все порты)

person abnev    schedule 28.06.2014    source источник


Ответы (1)


Я обнаружил, что следующий (базовый) набор правил делает то, что я искал:

# Generated by iptables-save v1.4.14 on Sat Jun 28 14:02:33 2014
*filter
:INPUT ACCEPT [586:43405]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [367:72794]
:LOGNDROP - [0:0]
-A INPUT ! -s 192.168.192.0/24 -p tcp -m state --state NEW -j LOG --log-prefix "[New Connection]: "
COMMIT
# Completed on Sat Jun 28 14:02:33 2014
person abnev    schedule 10.07.2014