Как вы тестируете правила iptables для предотвращения удаленной блокировки и проверки совпадений?

14

Когда я узнал о iptables, я сделал пару ошибок и заблокировал себя.

Какой метод (ы) вы используете для проверки правил, не блокируя себя?

Я использую Ubuntu Server 12.04 LTS


Все ответы ниже были полезны. В итоге я использовал комбинацию опций. Это также помогает иметь IPMI доступ к вашему удаленному серверу на всякий случай! Но в идеале тестируйте правила локально в реплицируемой среде и тестируйте сначала. В этом случае Vagrant помогает быстро настроить тестовые настройки.

Matt
источник

Ответы:

17

iptables-applyспециально разработан для этого. Он применяет ваши правила, а затем предлагает вам подтвердить. Если вы не подтвердите, это откатит их назад. Так что если вы заблокируете систему или заблокируете себя командой apply, она откатится назад.

Крейг Константин
источник
7

Какой метод (ы) вы используете для проверки правил, не блокируя себя?

Подумайте о том, что вы печатаете, прежде чем печатать.

заперся

Прежде чем вы начнете удаленно изменять вещи, которые могут вас заблокировать, вставьте правило принятия, соответствующее вашему соединению, в начале списка. Подкрепите это сторожевым скриптом, который сбросит все правила на то, что работало при запуске, если вы не сбросили таймер. Это можно сделать с помощью цикла мониторинга файлов и запуска touchкоманды сброса метки времени, пока вы работаете над вещами. Просто не забудьте отключить его, когда вы завершите разработку правил. Очень простой формат этого:

sleep $((10*60)) && iptables-restore /path/to/working/script
Джефф Ферланд
источник
2
sleep 10mтоже работает :)
melsayed
Хотя OP запросил Ubuntu и, таким образом, ответ на «iptables-apply» был бы идеальным (для любых гибридов debian), для других дистрибутивов, таких как Fedora, у которых нет «iptables-apply», я предпочитаю / ценю этот метод / практика / предложение.
HidekiAI 22.12.16
3

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

$ iptables -nvL

Затем вы видите количество пакетов и посмотрите, есть ли у вас хиты с вашего хоста.

Также другой вариант - создать crontab, который запускает скрипт. В этом сценарии вы можете написать

$ iptables -F

С помощью этой команды вы можете очистить свой IPTABLES-config.

Дэйв Грибе
источник