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

Iptables показывает 0: 0 в счетчиках

В настоящее время я регистрирую соединения порта 22 с помощью iptables:

-A INPUT -p tcp -m tcp -m multiport --dports 22,NNN,NNN -m state --state NEW -j LOG --log-prefix "SSH Connection " --log-level 1

и есть тюрьма Fail2Ban, настроенная для запрета всех попыток подключения к порту 22. Однако многие записи в моих списках iptables показывают 0: 0 (0 совпадений, 0 пакетов).

Как кто-то может подключиться к этому порту без увеличения счетчика iptables?

С iptables побеждает первое подходящее правило. У вас почти наверняка есть более раннее правило, которое влияет на ваши пакеты.

Вероятно, это результат сканирования SYN:

Статья Port Scanner в Википедии

SYN-сканирование - это еще одна форма TCP-сканирования. Вместо использования сетевых функций операционной системы сканер портов сам генерирует необработанные IP-пакеты и отслеживает ответы. Этот тип сканирования также известен как «полуоткрытое сканирование», потому что он никогда не открывает полное TCP-соединение. Сканер портов генерирует SYN-пакет. Если целевой порт открыт, он ответит пакетом SYN-ACK. Хост сканера отвечает пакетом RST, закрывая соединение до того, как рукопожатие будет завершено. [3] Если порт закрыт, но не фильтруется, цель немедленно ответит пакетом RST.

Использование необработанной сети имеет несколько преимуществ, давая сканеру полный контроль над отправленными пакетами и тайм-аутом для ответов, а также позволяя подробный отчет об ответах. Существует спор о том, какое сканирование менее навязчиво для целевого хоста. SYN-сканирование имеет то преимущество, что отдельные службы никогда не получают соединение. Однако RST во время квитирования может вызвать проблемы для некоторых сетевых стеков, в частности для простых устройств, таких как принтеры. В любом случае убедительных аргументов нет.