The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Раздел полезных советов: Порядок прохождения пакетов в пакетных фильтрах FreeBSD, auto_tips (?), 07-Июл-07, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


5. "Порядок прохождения пакетов в пакетных фильтрах FreeBSD"  +/
Сообщение от Аноним (5), 25-Май-08, 14:38 
И с которым граблей........................
Ответить | Правка | Наверх | Cообщить модератору

6. "Порядок прохождения пакетов в пакетных фильтрах FreeBSD"  +/
Сообщение от www2email (??), 25-Май-08, 15:47 
>И с которым граблей........................

Нисколько!

Со времени, прошедшего с того коммента, успел на практике настроить несколько интернет-серверов на основе Debian. Так вот, пакетный фильтр iptables, гораздо проще и нагляднее ipfw.

Сейчас по собственной воле использовать FreeBSD не стану, не в последнюю очередь на это решение повлиял ipfw. Главная причина - "нетехнологично". Хотя FreeBSD по чистоте и правильности кода, на мой взгляд, гораздо лучше Linux'а, но использовать её лучше прежде всего в образовательных целях.

Ответить | Правка | Наверх | Cообщить модератору

7. "Порядок прохождения пакетов в пакетных фильтрах FreeBSD"  +/
Сообщение от ASh (??), 26-Май-08, 00:34 
Ну так остановитесь на каком-нибудь одном и его пользуйте....
Одного PF недостаточно?
Ответить | Правка | Наверх | Cообщить модератору

8. "Порядок прохождения пакетов в пакетных фильтрах FreeBSD"  +/
Сообщение от www2email (??), 26-Май-08, 06:57 
>Ну так остановитесь на каком-нибудь одном и его пользуйте....
>Одного PF недостаточно?

Я остановился на iptables :-)

Ответить | Правка | Наверх | Cообщить модератору

9. "Порядок прохождения пакетов в пакетных фильтрах FreeBSD"  +/
Сообщение от nuclightemail (ok), 27-Май-08, 21:24 
Птичий синтаксис нагляднее? Не поверю. Новичка ipfw можно научить за час-полтора, включая базовые сведения по tcp/ip и хождению пакетов вообще, с нуля (проверено на wipfw и пользователе windows). Если у человека есть знание английского, синтаксис и семантика ему будут во многом интуитивно понятны.

И в чем "нетехнологичность" ?.

Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

10. "Порядок прохождения пакетов в пакетных фильтрах FreeBSD"  +/
Сообщение от www2email (??), 28-Май-08, 17:21 
Новичка iptables можно научить за то-же время и на таком-же уровне. При этом я не считаю, что фаерволл можно толком изучить за час-полтора. Основы - да, можно. Что-то более сложное - нет.

По теме, почему я предпочитаю iptables.

Во FreeBSD всё наглядно, да. Но только на первый взгляд. Стоит попробовать настроить закрытый по умолчанию фаерволл с NAT, и который должен пропускать через себя PPTP-соединения, FTP-трафик и т.п. Вот тут-то и начинается головняк. Нетехнологичность проявляется сразу же: здесь входящие, исходящие и маршрутизируемые пакеты, NAT и QoS свалены в кучу! Особенно долго приходится разбираться с тем почему не проходят определённые пакеты при наличии NAT: нужно прописать разрешающее правило на вход в интерфейс, разрешающее правило на выход из интерфейса, разрешающее правило на вход в divert-сокет, разрешающее правило на выход из divert-сокета, настроить перехват пакетов которые должны попасть в divert-сокет, настроить сам divert-сокет. Вкупе с примешанными в этом же файле правилами QoS это становится ещё сложнее. Настройка нормально работающего FTP - вообще песня.

Мне попадались уже настроенные фаерволы во FreeBSD. Разобраться в них на уровне "добавить ещё одно разрешающее правило" можно. А вот понять как работает ВСЁ это хозяйство на несколько килобайт становится сложновато. Если же учитывать вольность синтаксиса (определение переменных в тексте фаервола) разобраться в написанном кем-то фаерволе становится практически невозможно.

Для сравнения, в iptables одна таблица для форвардящихся пакетов, одна таблица для пакетов попадающих в систему, одна таблица для пакетов, выходящих из системы, одна таблица для SNAT, одна для DNAT. Для поддержки FTP есть модуль ядра, который заглядывает в управляющую сессию и добавляет в таблицу установленных соединений запись для сессии данных. QoS отдельно, маршрутизация отдельно. Причем фаерволом можно помечать пакеты, QoS будет реализовывать политику для этих пакетов, маршрутизатор выбирать одну из НЕСКОЛЬКИХ таблиц маршрутизации. Если придерживаться правил загружать и сохранять фаервол средствами iptables-save iptables-restore, то разобраться в чужом фаерволе значительно легче.

Далее, если отклониться от темы фаерволов, можно сравнить как происходит латание дыр в сервисах или установка новых программ во FreeBSD и, например, Debian.

Во FreeBSD если ты полгода-год где-то был, не обновлял систему и порты, то потом тебе для установки новой программы нужно будет скачать (или обновить через CVS, не суть важно) дерево исходников системы и новые порты. Затем перекомпилить ядро и систему, при учёте нестандартного конфига ядра. Потом несколько перезагрузок, чтобы проверить как работает новое ядро и окружение системы. Потом перекомпилить все установленные порты с помощью portupgrade (а что если она не была установлена - откуда её взять?). Потом ставить новую прогу. При этом компиляция будет происходить на рабочей машине, ухудшая качество обслуживания пользователей, или удалённо по NFS, лишая админа удобств.

В Debian:
apt-get update
apt-get upgrade
apt-get install что-нужно
Если обновилось ядро, то перезагрузиться.

Если сервер один, денёк ещё можно поплясать с бубном, ничего не случится. Если серверов с десяток - будешь плясать с бубном неделями.

Я НЕ противник FreeBSD, я НЕ говорю, что FreeBSD сосёт. Мне эта система нравится, но я предпочитаю тратить своё время с пользой для себя, а не для системы.

Не надо всё переводить на религиозную войну FreeBSD vs. Linux. Я никого не хочу оскорблять. Просто прежде чем спорить что лучше, стоит ознакомиться и с тем и с другим и выбрать для себя что-то, что больше подходит. При этом не стоит поливать помоями того, кто выбрал что-то другое. Вам нравится FreeBSD? Это Ваш выбор. Мне нравится и то и другое, но я выбрал Debian, это мой выбор.

Прошу прощения за столь длинный коммент.

Ответить | Правка | Наверх | Cообщить модератору

11. "Порядок прохождения пакетов в пакетных фильтрах FreeBSD"  +/
Сообщение от www2email (??), 28-Май-08, 17:47 
Ещё могу добавить что из Linux'ов я не считаю технологичными:
1. Slackware - отсутствует менеджер пакетов, в результате нужно разбираться с зависимостями; часто нужна компиляция, придётся грузить систему.
2. Gentoo (и по тем же причинам все BSD) - всегда нужна компиляция, придётся грузить систему; в репозитарии всегда самые свежие программы, при смене версии программы часто меняется конфиг, в результате может оказаться что после обновления что-то не работает, т.к. нужна правка конфига. Предпочитаю одну и ту же версию пакета, но постоянно патчащуюся.
3. Ubuntu и иже сними - в репозитарии всегда самые свежии версии программ, причину см. выше.
4. Нынешний Mandrake - по-моему тоже основан на Ubuntu, может быть ошибаюсь, поправьте.
5. Отечественный Alt Linux, по той же причине, что и два предыдущих пункта.

Считаю технологичными:
1. Debian,
2. Red Hat (но не Fedora), возможно CentOS,
3. возможно SUSE...

Ответить | Правка | Наверх | Cообщить модератору

12. "Порядок прохождения пакетов в пакетных фильтрах FreeBSD"  +/
Сообщение от nuclightemail (ok), 28-Май-08, 19:55 
>Новичка iptables можно научить за то-же время и на таком-же уровне. При
>этом я не считаю, что фаерволл можно толком изучить за час-полтора.
>Основы - да, можно. Что-то более сложное - нет.

Разумеется, о владении в совершенстве никто не говорил.

>Во FreeBSD всё наглядно, да. Но только на первый взгляд. Стоит попробовать
>настроить закрытый по умолчанию фаерволл с NAT, и который должен пропускать
>через себя PPTP-соединения, FTP-трафик и т.п. Вот тут-то и начинается головняк.

Да без проблем.

>Нетехнологичность проявляется сразу же: здесь входящие, исходящие и маршрутизируемые пакеты, NAT
>и QoS свалены в кучу! Особенно долго приходится разбираться с тем
>почему не проходят определённые пакеты при наличии NAT: нужно прописать разрешающее
>правило на вход в интерфейс, разрешающее правило на выход из интерфейса,
>разрешающее правило на вход в divert-сокет, разрешающее правило на выход из
>divert-сокета, настроить перехват пакетов которые должны попасть в divert-сокет, настроить сам
>divert-сокет. Вкупе с примешанными в этом же файле правилами QoS это
>становится ещё сложнее. Настройка нормально работающего FTP - вообще песня.

Простите, а вы заметку https://www.opennet.ru/opennews/art.shtml?num=16080 читали? Там схема описана. Так много правил, которые вы перечислили - не требуется.

>Мне попадались уже настроенные фаерволы во FreeBSD. Разобраться в них на уровне
>"добавить ещё одно разрешающее правило" можно. А вот понять как работает
>ВСЁ это хозяйство на несколько килобайт становится сложновато. Если же учитывать
>вольность синтаксиса (определение переменных в тексте фаервола) разобраться в написанном кем-то
>фаерволе становится практически невозможно.
>Если придерживаться правил загружать
>и сохранять фаервол средствами iptables-save iptables-restore, то разобраться в чужом фаерволе
>значительно легче.

Пардон, вы путаете шелл-скрипт и "текст файрвола". И я как раз-таки предпочту изучать чужой шелл-скрипт, поскольку в нем есть имена переменных и комментарии, помогающие разобраться в смысле, в отличие от голого вывода ipfw list (который никто не мешает сохранять/загружать аналогично iptables-save). Кроме того, при больших количествах правил народ точно так же применяет скрипты (с переменными, ага) и для iptables.

>Для сравнения, в iptables одна таблица для форвардящихся пакетов, одна таблица для
>пакетов попадающих в систему, одна таблица для пакетов, выходящих из системы,
>одна таблица для SNAT, одна для DNAT. Для поддержки FTP есть
>модуль ядра, который заглядывает в управляющую сессию и добавляет в таблицу
>установленных соединений запись для сессии данных. QoS отдельно, маршрутизация отдельно. Причем
>фаерволом можно помечать пакеты, QoS будет реализовывать политику для этих пакетов,
>маршрутизатор выбирать одну из НЕСКОЛЬКИХ таблиц маршрутизации.

Прочитатйе еще раз заметку со схемой прохождения пакетов. Все вышеперечисленное (кроме модуля FTP, он только в состае ната идет) есть и в ipfw. А вот жесткость iptables, что в таблицах, что в формате правила,  начинает мешать в сложных случаях. Попробуйте, например, в одном правиле iptables указать несколько src, аналогично OR-блокам ipfw...

>Далее, если отклониться от темы фаерволов, можно сравнить как происходит латание дыр
>в сервисах или установка новых программ во FreeBSD и, например, Debian.

[...]
>Если сервер один, денёк ещё можно поплясать с бубном, ничего не случится.
>Если серверов с десяток - будешь плясать с бубном неделями.
>
>Я НЕ противник FreeBSD, я НЕ говорю, что FreeBSD сосёт. Мне эта
>система нравится, но я предпочитаю тратить своё время с пользой для
>себя, а не для системы.
>
>Не надо всё переводить на религиозную войну FreeBSD vs. Linux. Я никого
>не хочу оскорблять. Просто прежде чем спорить что лучше, стоит ознакомиться

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

Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

13. "Порядок прохождения пакетов в пакетных фильтрах FreeBSD"  +/
Сообщение от www2email (??), 28-Май-08, 21:36 
>Простите, а вы заметку https://www.opennet.ru/opennews/art.shtml?num=16080 читали? Там
>схема описана. Так много правил, которые вы перечислили - не требуется.

Эта уникальная заметка вышла слишком поздно для меня (20 мая 2008 - чуть больше недели назад). Мне это нужно было знать на год раньше.

Для сравнения заметка https://www.opennet.ru/docs/RUS/iptables/ была добавлена на OpenNet 01.08.2004. Сравните качество и полноту описания. Посмотрите на рисунок https://www.opennet.ru/docs/RUS/iptables/misc/iptables-tutori...

Схем прохождения пакетов сразу ясна. Каждый эллипс соответствует одной цепочке правил.

>Пардон, вы путаете шелл-скрипт и "текст файрвола". И я как раз-таки предпочту изучать
>чужой шелл-скрипт, поскольку в нем есть имена переменных и комментарии, помогающие
>разобраться в смысле, в отличие от голого вывода ipfw list

Комментарии и имена переменных зависят только от сознательности писавшего. Имена могут быть ничего не говорящими типа "a", "uie", "zpt", комментарии могут вообще отсутствовать, могут быть ничего незначащами вроде даты добавления правила и логина добавлявшего.

iptables попросту заставляет разбить огромный фаервол на цепочки, каждую из которых можно анализировать отдельно!

В отличие от исходника, листинг работающего фаервола можно вывести со счётчиками попаданий в правило. Тут сразу будет видно: uptime сервера 3 месяца, 32 правила за это время не использовались ни разу, может удалить? Если же предпочесть скрипт, по которому был сгенерирован листинг, то там нужно будет ещё и искать соответствие правил.

> (который никто не мешает сохранять/загружать аналогично iptables-save). Кроме того, при больших количествах правил народ точно так же применяет скрипты (с переменными, ага) и для iptables.

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

> Прочитатйе еще раз заметку со схемой прохождения пакетов. Все вышеперечисленное (кроме модуля FTP, он только в состае ната идет) есть и в ipfw.

Пусть нет ната, а нужно сделать закрытый по-умолчанию фаервол. Как быть в ipfw? Искусственно вводить сюда нат?

> А вот жесткость iptables, что в таблицах, что в формате правила,  начинает мешать в сложных случаях. Попробуйте, например, в одном правиле iptables указать несколько src, аналогично OR-блокам ipfw...

Проверять всё кроме IP-адресов. В случае совпадения прыгать на отдельную специально созданную цепочку, где проверять только IP-адреса. При совпадении адреса - применять правило.

В iptables можно создавать СВОИ цепочки правил. Если взять критерий отбора не по списку IP, а по списку номеров портов - есть модуль multiport.

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

Ферма - это хорошо. Но по сути ферма - это один и тот же клонированный сервер. Что делать в случае десяти-двадцати серверов с РАЗНЫМИ конфигурациями? У каждого своя конфигурация ядра, различаются опции компилирования пакетов на разных серверах? Хорошо, сам то я понимаю что не стоит так делать, и сам бы я ставил на все машины пакет с одинаковыми опциями компилирования. А если мне всё это хозяйство досталось по наследству?

Спасибо, пусть сборочный тазик будет у разработчиков дистрибутива, а не у меня. Я желаю ставить готовые заранее скомпилированные пакеты всегда одной и той же версии, но со всеми последними security-патчами. Хочу чтобы установка обновлений происходила без моего участия и по cron-у. И раз разработчик предоставляет мне такую возможность, зачем мне танцы с бубном, то есть с отдельным сборочным тазиком?

Ответить | Правка | Наверх | Cообщить модератору

14. "Порядок прохождения пакетов в пакетных фильтрах FreeBSD"  +/
Сообщение от nuclightemail (ok), 07-Июн-08, 23:30 
>Эта уникальная заметка вышла слишком поздно для меня (20 мая 2008 -
>чуть больше недели назад). Мне это нужно было знать на год
>раньше.
>
>Для сравнения заметка https://www.opennet.ru/docs/RUS/iptables/ была добавлена на OpenNet 01.08.2004. Сравните качество и
>полноту описания. Посмотрите на рисунок https://www.opennet.ru/docs/RUS/iptables/misc/iptables-tutori...
>
>Схем прохождения пакетов сразу ясна. Каждый эллипс соответствует одной цепочке правил.

Вы делаете некорректное сравнение. Во первых, схема прохождения пакетов через ipfw сразу же ясна еще из мана - там куда меньше мест, для вызова. Во вторых, на схеме на рисунке совершенно не показаны собственные цепочки, которые могут быть подключены в любую из других - если нарисовать все возможные пути, схема станет весьма запутанной. В третьих, сравнение качества и полноты документации некорректно - посмотрите в man iptabes, где там ваша схема? А в man ipfw есть и схема, и отсылки на другие маны, прочитав это всё вместе и подумав, вполне можно понять, как оно работает. Я в своей заметке просто описал всё это по-русски еще и вместе с деталями реализации, которые в маны пихать просто неположено.

>Комментарии и имена переменных зависят только от сознательности писавшего. Имена могут быть
>ничего не говорящими типа "a", "uie", "zpt", комментарии могут вообще отсутствовать,
>могут быть ничего незначащами вроде даты добавления правила и логина добавлявшего.

Вы снова передергиваете на случай "плохого админа". То же самое бывает и с iptables, комментирование скриптов - зависит только от админа, не от системы и файрвола.

>iptables попросту заставляет разбить огромный фаервол на цепочки, каждую из которых можно
>анализировать отдельно!

Ага, заставляет в отдельных случаях так, что лучше бы этого не было. Вот к примеру скрипт на http://freebsd.pastebin.com/d2cac785 - создается 8 пользовательских цепочек. На ipfw этот большой скрипт переписывается в несколько правил.

>В отличие от исходника, листинг работающего фаервола можно вывести со счётчиками попаданий в правило.

В ipfw тоже можно.

>Тут сразу будет видно: uptime сервера 3 месяца, 32
>правила за это время не использовались ни разу, может удалить?

Очень странный подход, я бы сказал. Из того, что 3 месяца не было атак, никак не следует, что они не появятся на следующий день.

>Если же предпочесть скрипт, по которому был сгенерирован листинг, то там нужно
>будет ещё и искать соответствие правил.

В скрипте, генерирующем правила iptables, тоже нужно будет. И?

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

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

>Пусть нет ната, а нужно сделать закрытый по-умолчанию фаервол. Как быть в
>ipfw? Искусственно вводить сюда нат?

Снова передергиваете? В исходном вопросе вам хотелось для случая с натом - решение есть. Да, были оговорены проблемы для другого частного случая (про который вы даже не спрашивали) - теперь вы заостряете на нем внимание. Это некорректно.

>Проверять всё кроме IP-адресов. В случае совпадения прыгать на отдельную специально созданную
>цепочку, где проверять только IP-адреса. При совпадении адреса - применять правило.
>
>В iptables можно создавать СВОИ цепочки правил. Если взять критерий отбора не
>по списку IP, а по списку номеров портов - есть модуль
>multiport.

В результате получаются такие запутанные скрипты, как я привел по ссылке выше. Нет уж, спасибо.

>Ферма - это хорошо. Но по сути ферма - это один и
>тот же клонированный сервер. Что делать в случае десяти-двадцати серверов с
>РАЗНЫМИ конфигурациями? У каждого своя конфигурация ядра, различаются опции компилирования пакетов
>на разных серверах? Хорошо, сам то я понимаю что не стоит
>так делать, и сам бы я ставил на все машины пакет
>с одинаковыми опциями компилирования. А если мне всё это хозяйство досталось
>по наследству?

Постепеннно разбираться и унифицировать, разумеется. Как все это и делают, собственно. Странно предъявлять претензии к временному решению.

>Спасибо, пусть сборочный тазик будет у разработчиков дистрибутива, а не у меня.
>Я желаю ставить готовые заранее скомпилированные пакеты всегда одной и той
>же версии, но со всеми последними security-патчами. Хочу чтобы установка обновлений
>происходила без моего участия и по cron-у. И раз разработчик предоставляет
>мне такую возможность, зачем мне танцы с бубном, то есть с
>отдельным сборочным тазиком?

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

Ответить | Правка | Наверх | Cообщить модератору

15. "Порядок прохождения пакетов в пакетных фильтрах FreeBSD"  +/
Сообщение от www2email (??), 08-Июн-08, 21:43 
>Вы делаете некорректное сравнение. Во первых, схема прохождения пакетов через ipfw сразу
>же ясна еще из мана - там куда меньше мест, для
>вызова.

Но при этом вся таблица правил свалена в кучу и будет просматриваться для проходящих через маршрутизатор пакетов ДВА раза. Один раз когда пакет войдёт на интерфейс, один раз когда пакет выйдет из интерфейса.

Сравним три отдельные цепочки iptables: 10 правил на вход, 10 правил на выход, 10 правил для проходящих через маршрутизатор пакетов. Сравним общий список из 30 правил ipfw. В случае iptables для каждого проходящего через маршрутизатор пакета в среднем будет просмотрено 10/2=5 правил, в случае ipfw (30 + 30)/2=30 правил. Добавьте сюда ещё правила, связанные с трансляцией адресов и портов, полиси рутинг, QoS.

Но это не важно, главное, что отдельные цепочки легче анализировать не только машине, но и человеку! У каждой цепочки может быть своя политика по умолчанию: разрешающая или запрещающая. Для редактирования фаерволла чаще всего вообще не приходится пользоваться редактором!

>Во вторых, на схеме на рисунке совершенно не показаны собственные
>цепочки, которые могут быть подключены в любую из других - если
>нарисовать все возможные пути, схема станет весьма запутанной. В третьих, сравнение
>качества и полноты документации некорректно - посмотрите в man iptabes, где
>там ваша схема? А в man ipfw есть и схема, и
>отсылки на другие маны, прочитав это всё вместе и подумав, вполне
>можно понять, как оно работает. Я в своей заметке просто описал
>всё это по-русски еще и вместе с деталями реализации, которые в
>маны пихать просто неположено.

Мои претензии к качеству документации и к понятности каждого из фаерволлов исходят из практики. Сравните количество документации и её качество для обоих фаерволлов, сравните доступность документации на русском. Практика показывает, что у людей пользующихся iptables не возникает почти никаких вопросов. В случае ipfw видно, что люди постоянно задают друг другу вопросы и придумывают уродские гибриды ipfw+ipnat.

>Вы снова передергиваете на случай "плохого админа". То же самое бывает и
>с iptables, комментирование скриптов - зависит только от админа, не от
>системы и файрвола.

Здесь я ничего не передёргиваю, я просто говорю что скрипт не обязательно хорошо прокомментирован. Мне до сих пор ещё ни разу не попадался хорошо прокомментированный фаерволл. Поэтому я сам пользуюсь iptables-save и iptables-restore и хотел-бы, чтобы все пользовались именно таким способом хранения правил фаерволла.

Но даже если мне попадётся исходник для iptables, я просто его выполню и сохраню результат с помощью iptables-save. Затем у меня появляется прекрасная возможность анализировать каждую цепочку отдельно, а не кашу из перемешанных между собой правил.

>Ага, заставляет в отдельных случаях так, что лучше бы этого не было.
>Вот к примеру скрипт на http://freebsd.pastebin.com/d2cac785 - создается 8 пользовательских цепочек.
>На ipfw этот большой скрипт переписывается в несколько правил.

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

>>В отличие от исходника, листинг работающего фаервола можно вывести со счётчиками попаданий в правило.
>
>В ipfw тоже можно.

Контекст: я имел ввиду, что листинг со счётчиками легко сравнивать с сохранённым с помощью iptables-save фаерволлом. Листинг и в сохранка будут повторять друг друга до безобразия. Листинг же со скриптом сравнивать не удобно.

>>Тут сразу будет видно: uptime сервера 3 месяца, 32
>>правила за это время не использовались ни разу, может удалить?
>
>Очень странный подход, я бы сказал. Из того, что 3 месяца не
>было атак, никак не следует, что они не появятся на следующий
>день.

Вот, сразу видно что фаерволл у вас по-умолчанию открыт и вы затыкаете в нём дырки. У меня все атаки будут блокироваться правилом по-умолчанию. Таким методом в своём закрытом по-умолчнию фаерволле я легко поудаляю лишние дыры.

>>Если же предпочесть скрипт, по которому был сгенерирован листинг, то там нужно
>>будет ещё и искать соответствие правил.
>
>В скрипте, генерирующем правила iptables, тоже нужно будет. И?

Ещё раз говорю о том, что я предпочитаю не пользоваться скриптами, так как толку от скриптов, написанных криворукими одминами - ноль. Я предпочитаю анализировать листинг, и иметь возможность сохранить и загрузить его. При этом предпочитаю анализировать каждую цепочку отдельно, а не весь фаерволл разом.

>Это вам попадались плохие, неорганизованные скрипты, значит.

Да, только такие и попадались.

>И не попадались файрволы на
>тысячи и десятки тысяч правил, значит, если вы предпочитаете писать их
>вручную без генерации.

Не могу себе представить случай, когда нужно генерировать скриптами полный листинг фаерволла. Если нужно генерировать огромный листинг скриптом, то это говорит об одной из нескольких вещей: непродумана структура сети, непродумана структура ограничения прав доступа, непродумана структура фаерволла, фаервол не имеет некоторых очень нужных возможностей.

В случае с iptables вся логика фаервола выделена в отдельные цепочки и таблицы. Я не анализирую сразу весь листинг целиком, я анализирую только одну интересующую меня часть. Раздельные цепочки, раздельные таблицы, поддержка состояний (Statefull) и политика по-умолчанию мне в этом очень помогает.

>>Пусть нет ната, а нужно сделать закрытый по-умолчанию фаервол. Как быть в
>>ipfw? Искусственно вводить сюда нат?
>
>Снова передергиваете? В исходном вопросе вам хотелось для случая с натом -
>решение есть. Да, были оговорены проблемы для другого частного случая (про
>который вы даже не спрашивали) - теперь вы заостряете на нем
>внимание. Это некорректно.

Это корректно. Мне не хотелось случая с натом, я привёл его для живописности: указать что в ipfw с натом много гемора. Но это не значит, что на практике мне не встретится случай без ната, и он встречался. В случае с ipfw приходилось FTP-сервер запускать в пассивном режиме, когда он ожидал соединений для данных на свой 20 порт. В случае с iptables достаточно было загрузить модуль ядра ip_conntrack_ftp и на этом моя головная боль оканчивалась.

>>Проверять всё кроме IP-адресов. В случае совпадения прыгать на отдельную специально созданную
>>цепочку, где проверять только IP-адреса. При совпадении адреса - применять правило.
>>
>>В iptables можно создавать СВОИ цепочки правил. Если взять критерий отбора не
>>по списку IP, а по списку номеров портов - есть модуль
>>multiport.
>
>В результате получаются такие запутанные скрипты, как я привел по ссылке выше.
>Нет уж, спасибо.

Уже ответил. Запутанные скрипты получаются когда есть один большой листинг, в котором всё свалено в кучу.

>Постепеннно разбираться и унифицировать, разумеется.

С христианским смирением принять испытания, посланные мне господом? :)

>Как все это и делают, собственно.

Я привык отвечать только за себя, а не за всех. Я вижу, что обычно людям не нравится разбираться в говне, даже в собственном. Они либо делают его, а потом сваливают, либо забивают и оставляют всё как есть, до тех пор пока 1) не грохнется, 2) не хакнут, 3) не станет нужно.

>Странно предъявлять претензии к временному решению.

Я против временных решений. Временные решения ВСЕГДА отзываются ОГРОМНЫМИ граблями в будущем, причём иногда не тем людям, которые их принимали.

Если у меня есть выбор: сделать временное решение и потом его расхлёбывать или сделать всё сразу как надо, то я выберу второе. Я за то чтобы изначально делать всё правильно.

>>Спасибо, пусть сборочный тазик будет у разработчиков дистрибутива, а не у меня.
>>Я желаю ставить готовые заранее скомпилированные пакеты всегда одной и той
>>же версии, но со всеми последними security-патчами. Хочу чтобы установка обновлений
>>происходила без моего участия и по cron-у. И раз разработчик предоставляет
>>мне такую возможность, зачем мне танцы с бубном, то есть с
>>отдельным сборочным тазиком?
>
>Такой подход годится, когда серверов несколько штук.

Такой подход годится именно тогда, когда их много и они все разные. Каждый сервер будет минимальное время работать с уязвимыми пакетами. У каждого будет минимум непроизводительного простоя, минимум неудобств пользователям.

>А когда их сотни, опции
>по умолчанию из дистрибутива для всех случаев подходить не надо, и
>все равно придется собирать.

Я не буду пересобирать дистрибутивы ни в коем случае. Это вызовет проблемы при обновлении. Я за то, чтобы работала техника, а не человек.

>За то админам больших ферм серверов и
>платят, собственно.

Понятие админ здесь снисходит до понятия техник, персонал обслуживающий технику. У админа есть более крупные задачи, некогда ему фигнёй страдать.

Вы можете увлекаться компилированием до тех пор, пока не появятся системы и люди, для которых компилирование не является обязательным атрибутом процесса решения задачи. И спешу вам сообщить, что и такие системы и такие люди уже есть.

Ответить | Правка | Наверх | Cообщить модератору

16. "Порядок прохождения пакетов в пакетных фильтрах FreeBSD"  +/
Сообщение от www2email (??), 08-Июн-08, 22:15 
Оффтопик.

Ещё раз обозначу почему я так люблю употреблять слово "технологичность".

Для меня самый ценный ресурс - время человека. Если какая-то система позволяет освободить человека от механической работы, максимально автоматизировать работу человека, то такая система более технологична.

Я хочу вовремя есть и спать, а не задерживаться на работе для того, чтобы исправить какую-то неполадку или для устранения уязвимостей ситемы.

Я хочу вовремя и без проблем отдохнуть в отпуске, быть уверенным что моя система при появлении новой дыры автоматически обновится. Я не хочу, чтобы в моё отсутствие систему взломали или система сама потеряла работоспособность после обновления.

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

Технологичность iptables

На мой взгляд iptables позволяет максимально разделить суть разные правила: входящие пакеты, исходящие пакеты, маршрутизируемые пакеты, NAT, QoS, полиси рутинг.

При этом iptables поддерживает создание собственных цепочек и таблиц, стимулируя к делению задачи на мелкие подзадачи.

iptables позволяет не беспокоиться о работе сложных протоколов вроде FTP.

iptables поддерживает технологию statefull (ipfw тоже поддерживает), что избавляет от дублирования правил для двух направлений пакетов.

iptables явно обозначает политику цепочки по умолчанию, при чём для каждой цепочки можно выбирать свою политику по-умолчанию.

iptables-save и iptables-restore позволяют иметь всегда упорядоченный и красиво отформатированный список правил.

Технологичность пакетно-ориентированных систем

Такие системы позволяют избегать траты времени на компилирование пакетов, на обновление пакетов с устранением уязвимостей, на отслеживание взаимозависимостей пакетов, отслеживание опций сборки пакетов.

Для меня пакетно-ориентированной системой является также Cisco IOS. Не являются Windows (не позволяет отслеживать зависимости и легко обновлять ВСЕ программы), *BSD/Gentoo/Slackware (стимулируют к компилированию), *Ubuntu/Mandriva (не обновляют уязвимые пакеты, или обновляют только с одновременной сменой версии пакета, что может привести к необходимости редактировать конфиг).

Ответить | Правка | Наверх | Cообщить модератору

17. "Порядок прохождения пакетов в пакетных фильтрах FreeBSD"  +/
Сообщение от Avgooremail (?), 24-Июн-08, 18:44 
>На мой взгляд iptables позволяет максимально разделить суть разные правила: входящие пакеты,
>исходящие пакеты, маршрутизируемые пакеты, NAT, QoS, полиси рутинг.

Это все мишура. То, что кому-то там легче/сложнее читать - лишь его проблемы.
На практике не встречал случаев когда linux+iptables был бы производительнее fbsd+ipfw (хотя у iptables много "отдельных" таблиц). Скажем в том же PBR. Только это важно. А удобство дело туалетное.

Ответить | Правка | Наверх | Cообщить модератору

18. "Порядок прохождения пакетов в пакетных фильтрах FreeBSD"  +/
Сообщение от www2email (??), 25-Июн-08, 07:38 
>Это все мишура. То, что кому-то там легче/сложнее читать - лишь его проблемы.

Ну да, я вот о Вас забочусь, хочу чтобы Вам не достались такие же через заднее место сделанные системы, а Вы говорите: "Мои проблемы, мне нравиться заниматься сексом с железом" :)

>На практике не встречал случаев когда linux+iptables был бы производительнее fbsd+ipfw (хотя у iptables много "отдельных" таблиц).

А я не встречал случаев, когда производительность ПиСи-роутера была критичной. Если производительность критична, лучше купить аппаратный маршрутизатор.

>Скажем в том же PBR. Только это важно. А удобство дело туалетное.

Вы раб лампы, то есть железа. Я исхожу из позиции, что железо - мой раб. Должно быть удобно мне, а не железу.

Скорость - миф. Лучше купить железку помощнее и пользоваться удобствами, чем сэкономить жалкие крохи и потом ежедневно терять время при эксплуатации оборудования.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру