Re: как правильно загружать правила iptables

2008-02-29 Пенетрантность Artem Chuprina
Stanislav Kruchinin -> debian-russian@lists.debian.org  @ Fri, 29 Feb 2008 
20:09:13 +0300:

 >> Это сомнительная прекрасность.  А, да, "общий случай" и "самый
 >> распространенный случай" -- это разные случаи.

 SK> Это практика, а не "сомнительная прекрасность". Много ли вы
 SK> администрируете машин, где нужны правила, которые
 SK> включаются/выключаются per-interface? Это же не статические
 SK> маршруты. Если стандартная реализация не покрывает какой-то частный
 SK> случай, это не значит, что единый скрипт не нужен. Те, кому нужны
 SK> скрипты per-interface напишут их сами, а остальные 99.9% будут
 SK> вносить изменения в один стандартный, не занимаясь написанием его с
 SK> нуля.

Будучи полностью согласен, что _в норме_ "правила iptables
per-interface" - если не бред сивой кобылы, то показатель
недодуманности конфигурации файрвола, должен заметить, что оную
конфигурацию все же лучше писать с нуля...

-- 
Artem Chuprina
RFC2822:  Jabber: [EMAIL PROTECTED]

Дело говоришь!
Теперь делай его.
Кнышев.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: как правильно загружать правила iptables

2008-02-29 Пенетрантность Alexander Vlasov

> Как раз в "общем случае" используются простые конфигурации, и для них 
> можно обойтись одним общим скриптом. Наборы правил per-interface -- это 
> экзотика, которая нужна в подавляющем меньшинстве случаев. Во всех 
> остальных файрволах (ipfw, pf, ipfilter) прекрасно обходятся общим 
> скриптом, тогда в чем проблемы с iptables?

Это сомнительная прекрасность.
А, да, "общий случай" и "самый распространенный случай" -- это разные
случаи.

-- 
Alexander Vlasov
ZULU-UANIC
JID: zulu  jabber.kiev.ua


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: как правильно загружать правила iptables

2008-02-28 Пенетрантность Покотиленко Костик
В Чтв, 28/02/2008 в 14:30 +0200, Mikolaj Golub пишет:
> On Thu, 28 Feb 2008 14:44:54 +0300 Artem Chuprina wrote:
> 
>  AC> Sergej Kandyla -> debian-russian@lists.debian.org  @ Thu, 28 Feb 2008 
> 13:05:09 +0200:
> 
>  SK>> - получаем возможность руками редактировать скрипт + в случае ошибки 
> имеем
>  SK>> только одно не загруженное правило а не весь фаервол.
> 
>  AC> ... и хорошо, если нам повезло, и ошибка была в запрещающем правиле.  А
>  AC> иначе мы отрываем задницу от стула и пилим к консоли сервера на другой
>  AC> конец города...
> 
> Я после нетривиальных изменений (хотя надо бы после любых) делаю так:
> 
> ./firewall.sh restart ; sleep 60 && ./firewall.sh stop
> 
> После этого жмем Ctrl-С и если все ОК, то прервемся на слипе, а если нет, то
> уж подожду 60 сек...
> 
> Идею спионерил кажись у кого-то из этой же рассылки :-).

Классный метод, надо взять на вооружение.

-- 
Покотиленко Костик <[EMAIL PROTECTED]>


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: как правильно загружать правила iptables

2008-02-28 Пенетрантность Покотиленко Костик
В Чтв, 28/02/2008 в 14:21 +0300, Artem Chuprina пишет:
> Stanislav Kruchinin -> debian-russian@lists.debian.org  @ Thu, 28 Feb 2008 
> 13:54:33 +0300:
> 
>  >> Общая логика: 1)правила файрвола - свойство интерфейса, а не системы.
> 
>  SK> Это не так. iptables создает хуки и обрабатывает пакеты по мере
>  SK> прохождения их через сетевой стэк (подсистему ядра), таким образом
>  SK> правила являются свойствами "системы", а не сетевого
>  SK> интерфейса. Имена интерфейсов могут использоваться в правилах, а
>  SK> могут и не использоваться, это заранее неясно. Поэтому правила надо
>  SK> применять после того, как активированы все интерфейсы. Однако, это
>  SK> не оправдывает полный отказ от стандартного rc-скрипта.
> 
> Правила надо применять ДО того, как подняты все интерфейсы.  Поэтому,
> кстати, ничто не мешает поднимать их в up-скрипте интерфейса lo.  Он
> поднимается первым.

Я бы сказал так:

1. Почти всегда есть статический набор правил не (не сильно) зависящий
от возможных динамических имён интерфейсов. Такие правила лучше
вставлять при загрузке через /etc/init.d/iptables start посредством
iptables-restore < /etc/iptables/iptables_rules.boot.

2. Динамические правила, в том числе правила зависящие от имени (или
других параметров) интерфейса, которые заранее не известны лучше
подгружать/удалять сразу перед/после поднятием/опусканием интерфейса
через /etc/network/interfaces (pre-up/post-down) посредством
скриптов /etc/iptables/*.[up|down]. 

-- 
Покотиленко Костик <[EMAIL PROTECTED]>


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: как правильно загружать правила iptables

2008-02-28 Пенетрантность Mikhail A Antonov
,--[Sergej Kandyla <[EMAIL PROTECTED]> 28/02/2008 15:47 (GMT +3)
|  Но когда делал серьезные переходы (например на хостинге с iptables-save
|  на самописный скрипт) то
|  */10   *   *   *   *   /sbin/iptables -P INPUT ACCEPT;
|  /sbin/iptables -P OUTPUT ACCEPT; /sbin/iptables -F; /sbin/iptables -X;
|  для подстраховки ;)
`-
Вот веселье будет если оно там за всякими NAT-ами хитрыми вертится и порты 
интересно пробрасываются.


-- 
Best regards,
 Mikhail
Bart-mdv- @ SolarNet
IRC: irc.solarnet.ru
WWW: http://www.solarnet.ru/

--
You may be recognized soon.  Hide.


signature.asc
Description: This is a digitally signed message part.


Re: как правильно загружать правила iptables

2008-02-28 Пенетрантность Покотиленко Костик
В Чтв, 28/02/2008 в 13:04 +0300, Alexander GQ Gerasiov пишет:
> На Thu, 28 Feb 2008 15:22:35 +0600
> Mikhail Solovyev <[EMAIL PROTECTED]> записано:
> 
> > Хмм, оригинально. То есть предлагается руками написать файлы вида
> > iptables -t xx -A xxx bla-bla-bla (повторить N раз)
> > и положить куда-нибудь туда? раньше явно удобнее было..
> > 
> > А не подскажете ссылку на документацию, где сказано, почему
> > отказались от старого способа и решили перейти на такой?
> Ссылку не подскажу, см доку к пакету iptables, там было.
> Общая логика: 
> 1)правила файрвола - свойство интерфейса, а не системы.
> 2)правила должны добавляться сразу, как активирован интерфейс, а не
> "когда-то в более позднем rc скрипте"

Вообще, правила iptables к интерфейсу привязаны только логически. То
есть, можно добавить правило по интерфейсу, которого нет (ещё или
вообще).

-- 
Покотиленко Костик <[EMAIL PROTECTED]>


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: как правильно загружать правила iptables

2008-02-28 Пенетрантность Покотиленко Костик
В Чтв, 28/02/2008 в 15:01 +0600, Mikhail Solovyev пишет:
> Добрый день,
> 
> В Sarge был скрипт /etc/init.d/iptables, который замечательно подгружал 
> правила из /var/lib/iptables/{active,inactive}. А в Etch это убрали. 
> Понятно, что можно до бесконечности таскать за собой тот старый скрипт, 
> но всё же интересно, чем руководствовались разработчики, когда его 
> убирали, и как теперь правильно делать.

Про Sarge я не знал, поэтому сделал /etc/init.d/iptables, который
оперирует /etc/iptables/iptables_rules.boot, по мимо этого
в /etc/network/interfaces на pre-up/post-down повесил запуск специфичных
для интерфейса скриптов /etc/iptables/on_eth*.[up|down].

-- 
Покотиленко Костик <[EMAIL PROTECTED]>


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: как правильно загружать правила iptables

2008-02-28 Пенетрантность Mikolaj Golub

On Thu, 28 Feb 2008 14:44:54 +0300 Artem Chuprina wrote:

 AC> Sergej Kandyla -> debian-russian@lists.debian.org  @ Thu, 28 Feb 2008 
13:05:09 +0200:

 SK>> - получаем возможность руками редактировать скрипт + в случае ошибки имеем
 SK>> только одно не загруженное правило а не весь фаервол.

 AC> ... и хорошо, если нам повезло, и ошибка была в запрещающем правиле.  А
 AC> иначе мы отрываем задницу от стула и пилим к консоли сервера на другой
 AC> конец города...

Я после нетривиальных изменений (хотя надо бы после любых) делаю так:

./firewall.sh restart ; sleep 60 && ./firewall.sh stop

После этого жмем Ctrl-С и если все ОК, то прервемся на слипе, а если нет, то
уж подожду 60 сек...

Идею спионерил кажись у кого-то из этой же рассылки :-).

-- 
Mikolaj Golub


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: как правильно загружать правила iptables

2008-02-28 Пенетрантность Artem Chuprina
Sergej Kandyla -> debian-russian@lists.debian.org  @ Thu, 28 Feb 2008 13:55:00 
+0200:

 >>  SK> - получаем возможность руками редактировать скрипт + в случае
 >>  SK> ошибки имеем только одно не загруженное правило а не весь
 >>  SK> фаервол.
 >>
 >> ... и хорошо, если нам повезло, и ошибка была в запрещающем правиле.  А
 >> иначе мы отрываем задницу от стула и пилим к консоли сервера на другой
 >> конец города...
 >>   
 SK> ;)
 SK> для этого структуру фаервола проектировать правильно надо...и тогда все 
будет
 SK> ок.
 SK> И вообще дефолтный дроп - зло.

 >> Хинт: результат работы iptables-save никто редактировать руками не 
 >> запрещает.
 >>   

 SK> Последствия, криво отредактированного руками, iptables-save куда плачевнее.

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

-- 
Artem Chuprina
RFC2822:  Jabber: [EMAIL PROTECTED]

НИИ требуются:
1. Кто бы мог подумать.
Кнышев.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: как правильно загружать правила iptables

2008-02-28 Пенетрантность Artem Chuprina
Sergej Kandyla -> debian-russian@lists.debian.org  @ Thu, 28 Feb 2008 13:05:09 
+0200:

 SK> - получаем возможность руками редактировать скрипт + в случае ошибки имеем
 SK> только одно не загруженное правило а не весь фаервол.

... и хорошо, если нам повезло, и ошибка была в запрещающем правиле.  А
иначе мы отрываем задницу от стула и пилим к консоли сервера на другой
конец города...

Хинт: результат работы iptables-save никто редактировать руками не запрещает.

-- 
Artem Chuprina
RFC2822:  Jabber: [EMAIL PROTECTED]

hands-free BSD
-- (С)энта


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: как правильно загружать правила iptables

2008-02-28 Пенетрантность Alexey Boyko
В сообщении от четвер, 28-лют-2008 Mikhail Solovyev написал(a):


> В Sarge был скрипт /etc/init.d/iptables, который замечательно подгружал 
> правила из /var/lib/iptables/{active,inactive}. А в Etch это убрали. 
> Понятно, что можно до бесконечности таскать за собой тот старый скрипт, 
> но всё же интересно, чем руководствовались разработчики, когда его 
> убирали, и как теперь правильно делать.

Рекомендую сделать apt-get install ferm
во первых, более читабельные правила, во второх, появляется файл 
/etc/init.d/ferm, 
который можно вызывать откуда хошь (да и просто ferm --fast /etc/ferm/ferm.conf)

-- 
JID: alexey#boyko,km,ua


Re: как правильно загружать правила iptables

2008-02-28 Пенетрантность Artem Chuprina
Stanislav Kruchinin -> debian-russian@lists.debian.org  @ Thu, 28 Feb 2008 
13:54:33 +0300:

 >> Общая логика: 1)правила файрвола - свойство интерфейса, а не системы.

 SK> Это не так. iptables создает хуки и обрабатывает пакеты по мере
 SK> прохождения их через сетевой стэк (подсистему ядра), таким образом
 SK> правила являются свойствами "системы", а не сетевого
 SK> интерфейса. Имена интерфейсов могут использоваться в правилах, а
 SK> могут и не использоваться, это заранее неясно. Поэтому правила надо
 SK> применять после того, как активированы все интерфейсы. Однако, это
 SK> не оправдывает полный отказ от стандартного rc-скрипта.

Правила надо применять ДО того, как подняты все интерфейсы.  Поэтому,
кстати, ничто не мешает поднимать их в up-скрипте интерфейса lo.  Он
поднимается первым.

-- 
Artem Chuprina
RFC2822:  Jabber: [EMAIL PROTECTED]

Танк - это не фаллический символ. Он просто _едет_...
(С)энта


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: как правильно загружать правила iptables

2008-02-28 Пенетрантность Artem Chuprina
Alexander GQ Gerasiov -> debian-russian@lists.debian.org  @ Thu, 28 Feb 2008 
13:04:41 +0300:

 >> Хмм, оригинально. То есть предлагается руками написать файлы вида
 >> iptables -t xx -A xxx bla-bla-bla (повторить N раз)
 >> и положить куда-нибудь туда? раньше явно удобнее было..
 >> 
 >> А не подскажете ссылку на документацию, где сказано, почему
 >> отказались от старого способа и решили перейти на такой?
 AGG> Ссылку не подскажу, см доку к пакету iptables, там было.
 AGG> Общая логика: 
 AGG> 1)правила файрвола - свойство интерфейса, а не системы.
 AGG> 2)правила должны добавляться сразу, как активирован интерфейс, а не
 AGG> "когда-то в более позднем rc скрипте"

Надо сказать, что скрипт был более ранним...  Т.е. выполнялся ДО
активации интерфейсов.

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

-- 
Artem Chuprina
RFC2822:  Jabber: [EMAIL PROTECTED]

The effort of using machines to mimic the human mind has always struck
me as rather silly. I would rather use them to mimic something better
-- Edsger Dijkstra


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: как правильно загружать правила iptables

2008-02-28 Пенетрантность Mikhail A Antonov
,--[Mikhail Solovyev <[EMAIL PROTECTED]> 28/02/2008 12:01 (GMT 
+3)
|  Добрый день,
|
|  В Sarge был скрипт /etc/init.d/iptables, который замечательно подгружал
|  правила из /var/lib/iptables/{active,inactive}. А в Etch это убрали.
|  Понятно, что можно до бесконечности таскать за собой тот старый скрипт,
|  но всё же интересно, чем руководствовались разработчики, когда его
|  убирали, и как теперь правильно делать.
|
`-
Не знаю как правильно, но _мне_ удобно так:
в /etc/network/interfaces:
<...>
auto eth0
iface eth0 inet static
pre-up /sbin/iptables-restore /etc/iptables-startup.conf
<...>
Соответственно сейвить iptables-save > /etc/iptables-startup.conf
Думаю для динамически создаваемых правилах фаервола, такой подход
не подойдет. У меня нет динамики.

-- 
Best regards,
 Mikhail
Bart-mdv- @ SolarNet
IRC: irc.solarnet.ru
WWW: http://www.solarnet.ru/

--
Договор дороже денег. Вот почему люди не умеют договариваться!
-- Евгений Кащеев


signature.asc
Description: This is a digitally signed message part.