Alterator/AlteratorNetIptables: различия между версиями

Материал из ALT Linux Wiki
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
Строка 2: Строка 2:


''Проект, по результатам разговора с vitty@''
''Проект, по результатам разговора с vitty@''
=== общие идеи ===
Модуль хранит свое состояние в отдельном файле и из него перезаписывает все правила iptables. Параметры, с которыми мы работаем:
* список внутренних интерфейсов
* список открытых наружу сервисов
* список открытых наружу портов
* NAT (вкл/выкл)
В соответствии с этими параметрами производятся следующие настройки:
* iptables -- включен всегда
* forwarding -- включен всегда
* в {{path|/etc/net/ifaces/default/fw/options}} устанавливается:
FW_TYPE="iptables"
IPTABLES_HUMAN_SYNTAX=no
* в {{path|/etc/net/ifaces/default/options}} устанавливается:
CONFIG_FW=yes
* {{path|/etc/net/ifaces/default/fw/iptables/filter/INPUT}} перезаписывается:
-P DROP
-f -j DROP
-m state --state ESTABLISHED,RELATED -j ACCEPT
-i lo -j ACCEPT
-i <интерфейс> -j DROP # для всех внутренних интерфейсов
что-то ещё, кажется надо было открыть?
-i <интейрфейс> -p <протокол> --dport <порт> -j ACCEPT # для всех открытых сервисов и портов, для всех внешних интерфейсов
* {{path|/etc/net/ifaces/default/fw/iptables/filter/OUTPUT}} перезаписывается:
-P ACCEPT
-f -j DROP
-m state --state ESTABLISHED,RELATED -j ACCEPT (или такого тут не надо?)
* если включен NAT, то в {{path|/etc/net/ifaces/default/fw/iptables/nat/POSTROUTING}}:
-i <внутр.интерфейс> -o <внешн.интерфейс> -j MASQ # для каждой пары внутненний-внешний интерфейс
== Устаревшее ==


=== Процедура сброса состояния системы (в частности, при инсталляции) ===
=== Процедура сброса состояния системы (в частности, при инсталляции) ===
Строка 10: Строка 48:
  -f -j DROP
  -f -j DROP
  -m state --state ESTABLISHED,RELATED -j ACCEPT
  -m state --state ESTABLISHED,RELATED -j ACCEPT
  что-то ещё, кажется надо было открыть
   
* в {{path|/etc/net/ifaces/default/fw/iptables/filter/OUTPUT}}:
* в {{path|/etc/net/ifaces/default/fw/iptables/filter/OUTPUT}}:
  -P ACCEPT
  -P ACCEPT

Версия от 12:06, 2 февраля 2009

alterator-net-iptables

Проект, по результатам разговора с vitty@

общие идеи

Модуль хранит свое состояние в отдельном файле и из него перезаписывает все правила iptables. Параметры, с которыми мы работаем:

  • список внутренних интерфейсов
  • список открытых наружу сервисов
  • список открытых наружу портов
  • NAT (вкл/выкл)

В соответствии с этими параметрами производятся следующие настройки:

  • iptables -- включен всегда
  • forwarding -- включен всегда
  • в /etc/net/ifaces/default/fw/options устанавливается:
FW_TYPE="iptables"
IPTABLES_HUMAN_SYNTAX=no
  • в /etc/net/ifaces/default/options устанавливается:
CONFIG_FW=yes
  • /etc/net/ifaces/default/fw/iptables/filter/INPUT перезаписывается:
-P DROP
-f -j DROP
-m state --state ESTABLISHED,RELATED -j ACCEPT
-i lo -j ACCEPT
-i <интерфейс> -j DROP # для всех внутренних интерфейсов
что-то ещё, кажется надо было открыть?
-i <интейрфейс> -p <протокол> --dport <порт> -j ACCEPT # для всех открытых сервисов и портов, для всех внешних интерфейсов


  • /etc/net/ifaces/default/fw/iptables/filter/OUTPUT перезаписывается:
-P ACCEPT
-f -j DROP
-m state --state ESTABLISHED,RELATED -j ACCEPT (или такого тут не надо?)
  • если включен NAT, то в /etc/net/ifaces/default/fw/iptables/nat/POSTROUTING:

-i <внутр.интерфейс> -o <внешн.интерфейс> -j MASQ # для каждой пары внутненний-внешний интерфейс


Устаревшее

Процедура сброса состояния системы (в частности, при инсталляции)

  • из /etc/net/ifaces/default/fw/iptables/filter/{INPUT/OUTPUT} стираются строчки, содержащие "-P", "-j DROP", "-j ACCEPT"' (строчка "ULOGD" при этом сохраняется, интересно, нужно ли тут сохранять какие-то ещё чужие строчки?)
  • в /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
  • таким образом все порты на всех интерфейсах закрыты, firewall включён

Модуль определяет текущее состояние

  • определяется 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' (это уже есть в существующем модуле)

Модуль перезаписывает состояние

  • происходит сброс конфигурационных файлов в начальное состояние (см. выше)
  • в INPUT для всех внутренних интерфейсов пишется '-i <имя> -j ACCEPT'
  • в INPUT записываются строчки для всех дополнительно открытых наружу сервисов (без указания интерфейсa) '-p <протокол> --dport <порт> -j ACCEPT'
  • перезагружаем правила: efw restart

Интерфейс

  • выбор внутренних интерфейсов
  • выбор открытых наружу сервисов
  • ввод открытых наружу дополнительных портов

Кроме того

  • service iptables не существует, все работает через etcnet + efw.