Alterator/AlteratorNetIptables

Материал из ALT Linux Wiki

< Alterator(Различия между версиями)
Перейти к: навигация, поиск
(В соответствии с этими параметрами производятся следующие настройки системы:)
 
(7 промежуточных версий не показаны.)
Строка 1: Строка 1:
-
'''alterator-net-iptables'''
+
== alterator-net-iptables >= 1.0 ==
-
''Проект, по результатам разговора с vitty@''
 
 +
Модуль хранит свое состояние в отдельном файле и из него настраивает систему "в одну сторону".
-
Модуль хранит свое состояние в отдельном файле и из него перезаписывает все правила iptables. Параметры, с которыми мы работаем:
+
Имеется скрипт iptables_helper (с достаточно человеколюбивым интерфейсом) умеющий читать и писать конфигурацию и настраивать систему, а также тривиальный модуль альтератора, который его использует.
-
* список внутренних интерфейсов
+
-
* список открытых наружу сервисов
+
-
* список открытых наружу портов
+
-
* NAT (вкл/выкл)
+
-
* ULOGD (вкл/выкл)
+
-
В соответствии с этими параметрами производятся следующие настройки:
+
=== Мы работаем со следующими параметрами: ===
-
* iptables -- включен всегда
+
-
* forwarding -- включен всегда
+
-
* в {{path|/etc/net/ifaces/default/fw/options}} устанавливается:
+
* режим работы (firewall/gateway)
-
FW_TYPE="iptables"
+
* список внешних интерфейсов
-
IPTABLES_HUMAN_SYNTAX=no
+
* список открытых снаружи сервисов
 +
* список открытых снаружи портов
 +
* дополнительные опции (сейчас поддерживается только запись правил для ulogd)
-
* в {{path|/etc/net/ifaces/default/options}} устанавливается:
+
=== В соответствии с этими параметрами производятся следующие настройки системы: ===
-
CONFIG_FW=yes
+
* iptables  -- включен всегда
 +
* forwarding -- включен всегда
-
* {{path|/etc/net/ifaces/default/fw/iptables/filter/INPUT}} перезаписывается:
+
* {{path|/etc/net/ifaces/default/fw/iptables/filter/INPUT}}:
-
  -P DROP
+
  -P ACCEPT
  -f -j DROP
  -f -j DROP
  -m state --state ESTABLISHED,RELATED -j ACCEPT
  -m state --state ESTABLISHED,RELATED -j ACCEPT
-
-i lo -j ACCEPT
+
  -i <интейрфейс> -p <протокол> --dport <порт> -j ACCEPT # для всех открытых сервисов и  
-
-i <интерфейс> -j DROP # для всех внутренних интерфейсов
+
                                              # портов, для всех внешних интерфейсов
-
что-то ещё, кажется надо было открыть?
+
-i <интерфейс> -j DROP # для всех внешних интерфейсов
-
  -i <интейрфейс> -p <протокол> --dport <порт> -j ACCEPT # для всех открытых сервисов и портов, для всех внешних интерфейсов
+
-
 
+
* {{path|/etc/net/ifaces/default/fw/iptables/filter/OUTPUT}}:
-
* {{path|/etc/net/ifaces/default/fw/iptables/filter/OUTPUT}} перезаписывается:
+
  -P ACCEPT
  -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 # для каждой пары внутненний-внешний интерфейс
 
-
 
-
 
-
== Устаревшее ==
 
-
 
-
=== Процедура сброса состояния системы (в частности, при инсталляции) ===
 
-
* из {{path|/etc/net/ifaces/default/fw/iptables/filter/{INPUT/OUTPUT{{)}}}} стираются строчки, содержащие {{term|"-P"}}, {{term|"-j DROP"}}, {{term|"-j ACCEPT"}}' (строчка {{term|"ULOGD"}} при этом сохраняется, интересно, нужно ли тут сохранять какие-то ещё чужие строчки?)
 
-
* в {{path|/etc/net/ifaces/default/fw/iptables/filter/INPUT}} дописывается:
 
-
-P DROP
 
-
-i lo -j ACCEPT
 
  -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}}:
 
-
-P ACCEPT
 
-
-f -j DROP
 
-
-m state --state ESTABLISHED,RELATED -j ACCEPT (или такого тут не надо?)
 
-
* в {{path|/etc/net/ifaces/default/fw/options}} перезаписываются параметры:
 
-
FW_TYPE="iptables"
 
-
IPTABLES_HUMAN_SYNTAX=no
 
-
* в {{path|/etc/net/ifaces/default/options}}:
 
-
CONFIG_FW=yes
 
-
* таким образом все порты на всех интерфейсах закрыты, firewall включён
 
-
 
-
=== Модуль определяет текущее состояние ===
 
-
* определяется default policy (сперва из {{path|/etc/net/ifaces/default/fw/options}}, потом из {{path|/etc/net/ifaces/default/fw/iptables/filter/INPUT}}).
 
-
** Если {{term|ACCEPT}} — все интерфейсы считаются внутренними
 
-
** Если {{term|DROP}} — дополнительно определяем внутренние интерфейсы по строчкам {{term|-i <имя> -j ACCEPT}}
 
-
* определяем дополнительно открытые сервисы (группы портов) и отдельные порты — по строчкам вида '{{term|-p <протокол> --dport <порт> -j ACCEPT}}' (это уже есть в существующем модуле)
 
-
=== Модуль перезаписывает состояние ===
+
* для каждой пары внутренних интерфейсов в {{path|/etc/net/ifaces/default/fw/iptables/filter/FORWARDING}}:
-
* происходит сброс конфигурационных файлов в начальное состояние (см. выше)
+
-i $i1 -o $i2 -j DROP
-
* в INPUT для всех внутренних интерфейсов пишется '{{term|-i <имя> -j ACCEPT}}'
+
-
* в INPUT записываются строчки для всех дополнительно открытых наружу сервисов (без указания интерфейсa) '{{term|-p <протокол> --dport <порт> -j ACCEPT}}'
+
-
* перезагружаем правила: {{cmd|efw restart}}
+
-
=== Интерфейс ===
+
* если режим работы gateway, то в {{path|/etc/net/ifaces/default/fw/iptables/nat/POSTROUTING}}:
-
* выбор внутренних интерфейсов
+
-o <внешн.интерфейс> -j MASQUERADE # для каждой пары внутненний-внешний интерфейс
-
* выбор открытых наружу сервисов
+
-
* ввод открытых наружу дополнительных портов
+
=== Кроме того ===
=== Кроме того ===

Текущая версия на 14:35, 6 февраля 2009

Содержание

alterator-net-iptables >= 1.0

Модуль хранит свое состояние в отдельном файле и из него настраивает систему "в одну сторону".

Имеется скрипт iptables_helper (с достаточно человеколюбивым интерфейсом) умеющий читать и писать конфигурацию и настраивать систему, а также тривиальный модуль альтератора, который его использует.

Мы работаем со следующими параметрами:

  • режим работы (firewall/gateway)
  • список внешних интерфейсов
  • список открытых снаружи сервисов
  • список открытых снаружи портов
  • дополнительные опции (сейчас поддерживается только запись правил для ulogd)

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

  • iptables -- включен всегда
  • forwarding -- включен всегда
  • /etc/net/ifaces/default/fw/iptables/filter/INPUT:
-P ACCEPT
-f -j DROP
-m state --state ESTABLISHED,RELATED -j ACCEPT
-i <интейрфейс> -p <протокол> --dport <порт> -j ACCEPT # для всех открытых сервисов и 
                                              # портов, для всех внешних интерфейсов
-i <интерфейс> -j DROP # для всех внешних интерфейсов
  • /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/iptables/filter/FORWARDING:
-i $i1 -o $i2 -j DROP
  • если режим работы gateway, то в /etc/net/ifaces/default/fw/iptables/nat/POSTROUTING:

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

Кроме того

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