[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: firewalls (was: ipchains)



Denis A. Kulgeyko wrote:
А зачем писать их все руками?


Когда-то был написан один, а в дальнейшем все остальные писались с него исправлениями под конкретные нужды. ;)
Надо было очень быстро поставить firewall'ы на несколько хостов.
Там одна RH7.x была, так я посмотрел на тот default'ный шкрыпт для firewall'а (shell'овый), что там есть .. так жутко стало. Одноразовый он больно. Тяжело его перенести на другой хост, а тем более на его базе сделать сразу для нескольких. А потом уже просто написал один базовый, с которого уже всегда дописываю под конкретные нужды.

В ferm мне синтаксис очень понравился. Очень наглядный и понятный. И писать проще. Один из рабочих вариантов приложу к письму, поизучайте, кому будет интерестно, может и пригодится. ;) Это прямо со своей машинки ("woody",2.4.18), у нее реальный ip. forwarding'а нет. Там еще мне было лень вправлять локальные порты в соответствии с "http://www.iana.org/assignments/port-numbers"; - работает, и так сойдет. :) Некогда. И не охвачены tcp с флагом "rst", но они бывают очень редко, пока сильно не допекало. :) До других (более навороченых) конфигов для ferm просто сейчас "стучаться" долго.

Эо не как самое универсальное решение (хотя по крайней мере для меня в большинстве случаев так), просто как вариант. :)


Конфиг кидается в /etc, перестраиваем firewall только руками (генерим,
проверяем, запускаем, сохраняем), а для woody используем
/etc/init.d/iptables load/save :)


Я имел в виду так: текущий firewall хранится в /var/lib/iptables/active, Оттуда грузится при загрузке хоста, туда сохраняется вместе со счетчиками. ipac-ng запускается после iptables. Иначе ip-accounting на нем нормально работать не будет. Если надо что-то исправить - вправляю /etc/ferm.conf, потом генерю, проверяю, если что-то очень критично и работаю удаленно - то на at или cron вешаю восстановление оригинального firewall'а минут эдак через 15, чтобы себя не заблокировать, если все нормально - /etc/init.d/iptables save active.


А вот на эту фичу я посмотрел, почитал комментарии мейнтейнера и
последовал его совету - не использовать, а использовать что-нибудь
другое.


А можно линку где он это пишет или хотя бы направление поисков ? Я только что попробовал - сам не нашел. А стало интерестно. Не спроста ж ведь он так :)


В данном случае развил свой старый /etc/init.d/firewall


IMHO, в potato. Потому как там специальных скриптов для менеджмента firewall'а (типа /etc/init.d/iptables) не видел - потому свой писать надо.


Впрочем ferm в набор рекомендуемых ВМЕСТО /etc/init.d/iptables
инструментов вполне себе входит.


Большой "минус" - медленно генерит правила. Потому как perl.
При загрузке хоста это время может оказаться критично.
И еще один - если в момент изменения firewall'а произойдет краш (мало ли .. питание отключат а в УПС в этот же момент "боинг" попадет), то есть риск что firewall будет частично недостроен из-за ошибок в конфиге (сохранили еще не доделаный), а последствия могут быть самые разные, от "ничего" вплоть до весьма неприятных.

  WBR, Burzumie.



Здравствуйте

Вопрос:
Для чего у вас в цепочке INPUT таблицы filter правило "interface $IF_WAN daddr ! $NET_LAN {LOG "..."; DROP;}"? Ведь оно никогда не срабатывает, или я чего то не понимаю?

Заранее спасибо.

--


  С уважением,
  Кондрашов Николай,
  ИТ-менеджер
  ЗАО "Автоматика-Север"
  +7(812) 1183238, 3039648
  http://www.avt.com.ru/
  mailto:knu@avtsev.spb.ru




Reply to: