неизвестные значения добавляются в iptables

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

Новое правило добавляется в брандмауэр iptables из не известного источника. Я выполнял iptables -F для mangle, nat, filter, и через минуту появились новые правила. Я выполнил iptables-restore и через минуту снова появились новые правила. Как мне узнать, откуда эти правила приходят и как отключить их добавление? Спасибо

Пример правил:

filter: -A OUTPUT -p tcp -m mark --mark 0x100/0x100 -m mark ! --mark 0x400/0x400 -m conntrack -ctstate NEW -j NFQUEUE --queue-num 1

nat: -A PREROUTING -p tcp -m tcp --dport 443 -m mark ! --mark 0x400/0x400 -m addrtype --dst-type LOCAL -j ACCEPT

Это может быть антивирус Касперского (KESL).

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

Исследование источника неожиданных правил в iptables и их отключение

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

1. Анализ текущих правил iptables

Первым шагом является получение полного списка текущих правил iptables для дальнейшего анализа. Используйте следующую команду:

iptables -L -v -n

Это даст вам представление о правилах, которые уже существуют. Обратите внимание на время создания / обновления правил, если такая информация доступна.

2. Проверка на наличие сторонних служб

Скорее всего, новые правила добавляются третьими сторонами. Если вы подозреваете, что это антивирус, например Kaspersky Endpoint Security for Linux (KESL), выполните следующие шаги:

  • Проверьте запущенные процессы:
ps aux | grep kaspersky
  • Проверьте конфигурацию KESL: Найдите файл конфигурации, в котором могут быть установлены правила сетевой безопасности, и изучите его.
cat /etc/kaspersky/kesl.conf
  • Отключите KESL:

Если вы уверены, что KESL является источником изменения правил, временно отключите его:

systemctl stop kesl

После этого проверьте, продолжаются ли изменения в iptables.

3. Логирование изменений в iptables

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

  1. Установите утилиту ulogd, если она еще не установлена:

    apt-get install ulogd
  2. Создайте правило для ведения журнала всех изменений:

    iptables -A OUTPUT -j LOG --log-prefix "IPTABLES: " --log-level 4
  3. Настройте rsyslog для хранения логов в отдельный файл.

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

4. Использование контроля версий правил

Рассмотрите возможность создания скрипта, который будет сохранять текущее состояние iptables через регулярные промежутки времени:

iptables-save > /etc/iptables/rules.v4

Планируйте выполнение этого скрипта через cron, чтобы сохранять состояние и сравнивать его с предыдущими версиями.

5. Настройка SELinux или AppArmor

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

6. Отключение изменения iptables через cron или systemd

Проверьте наличие задач cron, которые могут быть настроены на автоматическое применение правил:

crontab -l

Также проверьте системные службы systemd:

systemctl list-timers

Заключение

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

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

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