Alterator/AlteratorNetIptables
alterator-net-iptables
Проект, по результатам разговора с vitty@
Состояние системы по умолчанию (заботится инсталятор):
- service iptables не существует, все работает через etcnet.
- все интерфейсы считаются внешними, изначально закрытыми, firewall включен
- в /etc/net/ifaces/default/fw/iptables/filter/INPUT записано:
-P DROP -i lo -j ACCEPT -f -j DROP -m state --state ESTABLISHED,RELATED -j ACCEPT что-то еще, кажется надо было открыть
- в /etc/net/ifaces/default/fw/iptables/filter/OUTPUT:
-P ACCEPT -f -j DROP -m state --state ESTABLISHED,RELATED -j ACCEPT (или такого тут не надо?)
- в /etc/net/ifaces/default/fw/options написано:
FW_TYPE="iptables" IPTABLES_HUMAN_SYNTAX=no
- в /etc/net/ifaces/default/options:
CONFIG_FW=yes
Модуль определяет текущее состояние:
- определяется default policy (сперва из /etc/net/ifaces/default/fw/options, потом из /etc/net/ifaces/default/fw/iptables/filter/INPUT).
- Если ACCEPT - все интерфейсы считаются внутренними
- Если DROP - дополнительно определяем внутренние интерфейсы по строчкам -i <имя> -j ACCEPT
- определяем дополнительно открытые сервисы (группы портов) и отдельные порты - по строчкам вида '-p <протокол> --dport <порт> -j ACCEPT' (это уже есть в существующем модуле)
Модуль перезаписывает состояние:
- из /etc/net/ifaces/default/fw/iptables/filter/{INPUT/OUTPUT} стираются строчки, соделжащие '-P' '-j DROP', '-j ACCEPT' (строчка ULOGD при этом сохраняется, интересно, нужно ли тут сохранять какие-то еще чужие строчки?)
- туда же дописываются значения по умолчанию (указанные выше)
- перезаписываются значения по умолчанию в /etc/net/ifaces/default/fw/options и /etc/net/ifaces/default/options -- все это надо делать одним скриптом
- для всех внутренних интерфейсов пишется '-i <имя> -j ACCEPT'
- записываются строчки для всех дополнительно открытых наружу сервисов (без указания интерфейсов) '-p <протокол> --dport <порт> -j ACCEPT'
Интерфейс:
- выбор внутренних интерфейсов
- выбор открытых наружу сервисов
- ввод открытых наружу дополнительных портов