Мой межсетевой экран nftables разрешает входящий IPv6-трафик на заданных портах на короткое время, а затем блокирует его.

Вопрос или проблема

У меня есть умеренно сложный набор правил, работающий на Debian 12, но он включает простые правила для открытия, например, портов 80 и 443 (неявно для ipv4 и ipv6). Сразу после выполнения команды “systemctl restart nftables” сканирование портов показывает, что порты открыты и слушают. К ним также можно получить доступ, например, через telnet.

Но примерно через минуту порты становятся заблокированными, согласно сканированию портов, и подключений к ним уже нельзя установить.

На что мне следует обратить внимание, чтобы это исправить?

Ответ или решение

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

Возможные причины

  1. Временные правила: Проверьте, нет ли у вас правил, которые настраивают временные ограничения на доступности портов. Возможно, у вас есть правила, которые открывают порты на определенный промежуток времени, а затем автоматически отключают их.

  2. Часы работы: Убедитесь, что ваши правила не зависят от времени (например, чтобы разрешать доступ только в определенные часы). Это может быть реализовано через управляющие программы или скрипты.

  3. Динамические фильтры: Возможно, используются динамические или адаптивные правила, которые корректируют доступ на основе наблюдаемых соединений. Проверьте, нет ли у вас правил, которые могут блокировать новые соединения после достижения определённого количества.

  4. Конфликтующие правила: Убедитесь, что нет других правил в вашей конфигурации, которые могут конфликтовать с правилами для портов 80 и 443. Конфликтующие правила могут блокировать трафик после успешного соединения.

  5. Состояние соединений (conntrack): Если у вас активирован модуль отслеживания состояния соединений, убедитесь, что правила для состояния (например, established или related) настроены правильно. Пакеты, которые не соответствуют этим правилам, могут быть заблокированы.

Рекомендации по решениям

  1. Проверить правила: С помощью команды nft list ruleset вы можете просмотреть все ваши правила. Обратите внимание на группы правил, которые могут влиять на порты 80 и 443.

  2. Обновить настройки: Если вы обнаружите временные правила, измените их так, чтобы они оставались активными, пока это необходимо. Например, можно задать правила без временных ограничений.

  3. Логи и диагностика: Включите журналирование для nftables, чтобы отслеживать какие именно пакеты блокируются. Это можно сделать с помощью правила log в вашем ruleset.

  4. Анализ связанных соединений: Используйте команду conntrack -L для просмотра текущих соединений и убедитесь, что соединения на портах 80 и 443 находятся в состоянии, которое позволяет их дальнейшую обработку.

  5. Тестирование: Измените вашу конфигурацию и перезапустите nftables с помощью systemctl restart nftables. Затем повторите тест с использованием, например, команды nmap, чтобы убедиться, что порты остаются открытыми.

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

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

Капча загружается...