1.1, netc (??), 10:23, 22/04/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
забавно, и я тоже делал по лисяре
спасибо за еще один хороший вроде мануал
вроде все так отлично и просто и как раз то что неужно на каждый день
| |
1.2, goshanecr (??), 10:47, 22/04/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Я вот всё что можно из сервисов сую в chroot... почему бы тут с bind'ом это не сделать? Как ни как а хоть малюсенькая но доп защита.
| |
|
2.8, Dorlas (??), 14:22, 22/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
В FreeBSD уже с версий 6.x Bind по умолчанию сразу в chroot стартует:
freebsd:/root@[16:20]# grep "named" /etc/defaults/rc.conf
# named. It may be possible to run named in a sandbox, man security for
named_enable="NO" # Run named, the DNS server (or NO).
named_program="/usr/sbin/named" # Path to named, if you want a different one.
#named_flags="-c /etc/namedb/named.conf" # Uncomment for named not in /usr/sbin
named_pidfile="/var/run/named/pid" # Must set this in named.conf as well
named_uid="bind" # User to run named as
named_chrootdir="/var/named" # Chroot directory (or "" not to auto-chroot it)
named_chroot_autoupdate="YES" # Automatically install/update chrooted
# components of named. See /etc/rc.d/named.
named_symlink_enable="YES" # Symlink the chrooted pid file
Остальные сервисы можно запихнуть в Jail-ы (делал неоднократно, работает хорошо (VSFTPD, Samba, Squid, связка FAMP и прочие).
Потерю производительности при использовании Jail заметить очень трудно - на глаз не видно точно :)
| |
|
3.33, goshanecr (??), 11:04, 23/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Остальные сервисы можно запихнуть в Jail-ы (делал неоднократно, работает хорошо (VSFTPD, Samba,
>Squid, связка FAMP и прочие).
>
>Потерю производительности при использовании Jail заметить очень трудно - на глаз не
>видно точно :)
А можно попросить поподробней про jail, можно ли как-то автоматизировать создание окружения для jail'а чтобы при обновлении портов, и системы всё это не надо было руками пересобирать (различные библиотеки копировать и т.п. ) или просто как с минимумом трудозатрат это сделать?
Если не поподробней, то хоть ссылочку бы :)
| |
|
|
1.5, rakis (ok), 11:06, 22/04/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Вот это "makeoptions DEBUG=-g" зачем на "боевом" сервере? :-)
P.S. pf отлично работает и модулем, пихать его в ядро не обязательно
| |
1.6, rm (??), 11:12, 22/04/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Люди ну хоть кто нибудь ну хоть когда нибудь , написал нормальный анализатор логов Pf,и перевода в человеческий вид? вывод tcpdump не предлагать:), а если еще и веб морда то былабы красота, в идеале нужна статистика по интерфейсам айпишникам и портам?
| |
|
2.9, Dorlas (??), 14:25, 22/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Люди ну хоть кто нибудь ну хоть когда нибудь , написал нормальный
>анализатор логов Pf,и перевода в человеческий вид? вывод tcpdump не предлагать:),
>а если еще и веб морда то былабы красота, в идеале
>нужна статистика по интерфейсам айпишникам и портам?
Меня вот эта штука устраивает: /usr/ports/sysutils/pflogx/
А вообще как правило нужно вот такое: tcpdump -n -e -i pflog0 'host XXX && port YYY'
Хватает за глаза.
И еще очень /usr/ports/sysutils/pftop/ пригождается - например: pftop -f "port 5190" :)
| |
|
3.11, Dorlas (??), 15:18, 22/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>> в идеале
>>нужна статистика по интерфейсам айпишникам и портам?
Поставьте себе NetAMS - именно статистика по IP и портам :)
| |
3.28, rm (??), 10:12, 23/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
/usr/ports/sysutils/pflogx/ -конвертер в xml
ага этим tcpdump -n -e -i pflog0 'host XXX && port YYY' не насобираться статистику
pftop -f "port 5190" ну а это вообще онлайн отображение соединение
| |
|
4.29, Dorlas (??), 10:20, 23/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>/usr/ports/sysutils/pflogx/ -конвертер в xml
>ага этим tcpdump -n -e -i pflog0 'host XXX && port YYY'
>не насобираться статистику
>pftop -f "port 5190" ну а это вообще онлайн отображение соединение
Откуда вообще такие мысли - собирать статистику межсетевым экраном - это же не его задачи по дизайну...не для этого он разрабатывался и применяется.
Нужна статистика - ставьте программу, для этого предназначенную.
Мне, например, NetAMS и ng_ipacct+perl+mysql хватает за глаза.
С помощью первого инструмента можно быстро оценить объемы и характер трафика (+ понять, что и куда пошло).
С помощью второго можно вообще любые данные вытянуть (например сколько ping-ов послал Вася в понедельник с 10 до 12 и куда он их послал...).
| |
|
3.30, rm (??), 10:20, 23/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
/usr/ports/sysutils/pflogx/ -конвертер в xml
ага этим tcpdump -n -e -i pflog0 'host XXX && port YYY' не насобираться статистику
pftop -f "port 5190" ну а это вообще онлайн отображение соединение
| |
|
|
1.10, iZEN (ok), 14:41, 22/04/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Заменить:
client_ports = "{ 21, 22, 25, 110, 123, 80, 443, 3128, 3129, 3389,8080, >=49151 }"
На эту (лучше и понятнее):
client_ports = "{ ftp, ssh, smtp, pop3, ntp, http, https, 3128, 3129, rdp, 8080, >=49151 }"
И ещё кучу правил можно упростить -- из нескольких сделать одно.
| |
1.12, rm (??), 15:35, 22/04/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
вроде как это редактор файервола , но щас поподробнее изучу
| |
1.13, Touch (??), 15:39, 22/04/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Не навязывайте новичкам PF! Потому как потом у них возникает вопрос: а как сделать так чтобы люди из этой "корпоративной" сети могли подключать наружу ВПН. Или, не дай боже, как отфильтровать пакеты по TTL при ДДОС атаке!
| |
|
2.15, iZEN (ok), 15:44, 22/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Не навязывайте новичкам PF! Потому как потом у них возникает вопрос: а
>как сделать так чтобы люди из этой "корпоративной" сети могли подключать
>наружу ВПН. Или, не дай боже, как отфильтровать пакеты по TTL
>при ДДОС атаке!
А что, "ассемблером" ipfw (или IPTABLES в Linux) это сделать легче? :)) Может и легче, но зачем?
Не нужно множить сущности. Нужно от них максимально абстрагироваться. Мыслить не процедурами, но декларациями.
| |
|
3.23, User294 (ok), 02:17, 23/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Не нужно множить сущности. Нужно от них максимально абстрагироваться. Мыслить не процедурами,
>но декларациями.
Вы только декларациями и мыслите, при том - громкими :D.А благодаря вашему подходу есть риск через много лет однажды с удивлением узнать что "вон то", при том нужное и полезное, чего так хотелось сделать оказывается уже давно на самом деле было можно.Если немного мозг погреть.Да, айпитаблес - явно дальний родственник брэйнфака, зато умеет наверное почти все :).А если реально вломак думать - ну так есть куча гуйных морд и вебфэйсов для него, там вообще думать в стандартных базовых вещах не надо: вбил айпишники, порты и т.п. в формочку и вуаля.Зато как только потребуются хитрые навороты - тот же айпитаблес с его брэйнфакерским синтаксисом - выручит, после небольшого прогрева мозга, в отличие от многих других.
| |
|
|
|
2.16, Dorlas (??), 16:29, 22/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>А где настройки ALTQ или зачем собрали это в ядре?
1) ALTQ модулем не подгружается.
2) Если ALTQ нет в ядре, то каждый раз при загрузке правил PF предупреждает (чувак, у тебя нет ALTQ)
3) Поэтому многие при сборке ядра сразу его (ALTQ) включают (чтобы не ругался) :)
4) Правила по настройке есть в статьях Сгибнева (см тут на opennet.ru) или в man pf.conf (аналог - только на English).
Вот рабочий пример с использованием CBQ:
altq on ng0 cbq bandwidth 10Mb queue { rsync, ssh, ftp, squid, other }
queue rsync bandwidth 1Mb priority 1
queue ssh bandwidth 1Mb priority 7 cbq(borrow)
queue squid bandwidth 2Mb priority 6 cbq(borrow)
queue ftp bandwidth 2Mb priority 3 cbq(borrow)
queue other bandwidth 2Mb priority 3 cbq(default,borrow)
Очереди вешаются на нужные правила (исходящего трафика: FTP, RSYNC, SSH и прочее) :)
Например:
pass in on $if_ext_local proto tcp from any to any port 60606 modulate state queue ssh
pass in on $if_ext_local proto tcp from any to any port 873 modulate state queue rsync
pass in log on $if_ext_local proto tcp from any to any port 80 modulate state queue other
pass in on $if_ext_local proto tcp from any to any port {21 20000><21000} modulate state queue ftp
pass in on $if_ext_local proto tcp from any to any port 63128 modulate state queue squid
| |
|
3.21, iZEN (ok), 00:39, 23/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>[оверквотинг удален]
>
>1) ALTQ модулем не подгружается.
>2) Если ALTQ нет в ядре, то каждый раз при загрузке правил
>PF предупреждает (чувак, у тебя нет ALTQ)
>
>3) Поэтому многие при сборке ядра сразу его (ALTQ) включают (чтобы не
>ругался) :)
>
>4) Правила по настройке есть в статьях Сгибнева (см тут на opennet.ru)
>или в man pf.conf (аналог - только на English).
Да, но пересобирать ядро с ALTQ ради того "чтобы не ругалось" как бы смешно.
Очереди обслуживания в статье не используются.
| |
|
4.24, Dorlas (??), 06:15, 23/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Да, но пересобирать ядро с ALTQ ради того "чтобы не ругалось" как бы смешно.
>Очереди обслуживания в статье не используются.
Ну кому-то смешно, а кто-то может просто смотреть в будущее и думать, что такой функционал он через некоторое время будет использовать...
Особенно смешно будет тем, кому этот функционал понадобится внезапно (а ядро будет не подготовлено) и сервер перезагружать в рабочее время начальство не дает :)
| |
|
5.34, iZEN (ok), 15:20, 23/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>>Да, но пересобирать ядро с ALTQ ради того "чтобы не ругалось" как бы смешно.
>>Очереди обслуживания в статье не используются.
>
>Ну кому-то смешно, а кто-то может просто смотреть в будущее и думать,
>что такой функционал он через некоторое время будет использовать...
>
>Особенно смешно будет тем, кому этот функционал понадобится внезапно (а ядро будет
>не подготовлено) и сервер перезагружать в рабочее время начальство не дает
>:)
Вы неправы.
Если в статье не предлагаются решения по шейпингу трафика, то не нужно о нём даже говорить и чего-то куда-то вкомпилировать по принципу "а вдруг понадобится...".
Профессионализм отличается от делитантизма тем, что профессионал учитывает всё, но убирает всё лишнее и ненужное.
В данном случае, интернет-шлюз, описанный в статье, можно создать БЕЗ перекомпиляции ядра, подгружая PF модулем. А это сразу же снимает вопросы по обновлению исходников системы и времени компиляции.
| |
|
6.35, Dorlas (??), 15:41, 23/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>>>можно создать БЕЗ перекомпиляции ядра
А что - Автор написал, что собирать ядро обязательно и без этого работать не будет?
Мы тут свободные системы и программы обсуждаем - кто как хочет, так и делает...и даже работать будет :)
Хотите - подгружайте модулем (я, например, так и использую - ни разу в жизни PF в ядро не вкомпиливал), хотите - компилируйте ядро...
Я же не виноват, что каждый второй написатель статей вставляет в свои творения описания, как ядро пересобирать...
>>>Если в статье не предлагаются решения по шейпингу трафика,
>>>то не нужно о нём даже говорить
Вы взяли на себя роль цензора? Как вы можете Автору указывать, что он может, а что нет...это его творчество и его право...
| |
|
|
|
|
2.36, Alchemist (ok), 13:08, 24/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>А где настройки ALTQ или зачем собрали это в ядре?
Очереди не прикручивал. Ядро собрал с запасом на будущее, плюс чтобы алерт глаза не мозолил.
| |
|
1.17, netc (??), 16:43, 22/04/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Все таки есть предложение!
Ребят подскажите прав ли я
Если он пишет правила rdr, то он подразумеваеь, что
все машины в сети, на которые идет проброс портов имеют в качестве шлюза по умолчанию именно этот корпоративный свеже настроенный free7.1+pf сервер
Иначе не должны работать пробросы, нужно будет делать что то типа этого
nat on $int_if proto tcp from any to $ironws port 3389 -> $int_if
прав ли я ?
| |
|
2.18, artemrts (ok), 17:00, 22/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>[оверквотинг удален]
>Если он пишет правила rdr, то он подразумеваеь, что
>все машины в сети, на которые идет проброс портов имеют в качестве
>шлюза по умолчанию именно этот корпоративный свеже настроенный free7.1+pf сервер
>
>Иначе не должны работать пробросы, нужно будет делать что то типа
>этого
>
>nat on $int_if proto tcp from any to $ironws port 3389 -> $int_if
>
>прав ли я ?
Прав.
| |
2.19, Dorlas (??), 17:01, 22/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Если он пишет правила rdr, то он подразумеваеь, что
>все машины в сети, на которые идет проброс портов имеют в качестве
>шлюза по умолчанию именно этот корпоративный свеже настроенный free7.1+pf сервер
>Иначе не должны работать пробросы
Это должно быть очевидно каждому, кто такие вещи настраивает (иначе учите мат-часть)...
| |
|
3.25, netc (??), 09:24, 23/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
И все таки to> уважаемый автор
Пожалуйста не для меня, я лично уже уяснил а для тех, кто еще не успел
Сделайте ремейк - допишите в начале статьи или перед настройкой pf об основном шлюзе иначе будут и будут продолжаться вопросы в форумах. Причем сделайте это пожирнее - плиз .
| |
|
4.37, Alchemist (ok), 13:22, 24/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>И все таки to> уважаемый автор
>Пожалуйста не для меня, я лично уже уяснил а для тех, кто
>еще не успел
>Сделайте ремейк - допишите в начале статьи или перед настройкой pf об
>основном шлюзе иначе будут и будут продолжаться вопросы в форумах. Причем
>сделайте это пожирнее - плиз .
"Задача: организовать шлюз, раздающий корпоративной сети Интернет
сервисы, пробросить необходимые порты на внутренние серверы с учетом
использования диапазона внешних ip адресов."
Имхо такая формулировка более предполагает использование в сети одного шлюза, нежели нескольких. Есть конечно некоторая степень неоднозначности, но она мала. ;)
| |
|
3.26, netc (??), 09:26, 23/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
(иначе учите мат-часть)...
сколько я порезал, сколько перерезал мануалов ну ни где явного упоминания об основном шлюзе не видел, поэтому будьте любезны объясните:
под "учите мать часть" вы понимаете
1. общую образованность и опыт
2. какую-то определенную статью или мануал
?
| |
|
4.27, Dorlas (??), 09:42, 23/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>под "учите мать часть" вы понимаете
По этой фразой я понимаю:
1) Знание модели OSI (всех 7 уровней)
2) Изучение протокола IPv4 (в ходе его изучения информация о шлюзе по умолчанию ну просто обязана зашиться в подкорку головного мозга...)
>сколько я порезал, сколько перерезал мануалов
Вначале читать нужно не мануалы и статьи типа этой - а учебники по сетям, протоколам и т.д.
PS: В любом деле логично сначала освоить теорию и потом идти на практику...
| |
|
|
|
1.20, jordan (?), 23:31, 22/04/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
в named.conf можно добавить кментарий для forwarders { };
И если есть желание можно упомянуть утилиту pftop.
| |
|
2.38, Alchemist (ok), 13:26, 24/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>в named.conf можно добавить кментарий для forwarders { };
Согласен, поправил.
| |
|
1.22, Ilya Evseev (?), 01:54, 23/04/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Не проще ли заменить bind на dnsmasq?
Он способен запускаться без собственных настроек,
только с /etc/hosts и /etc/resolv.conf
Использую его везде, где не требуется пересылка зон.
| |
|
2.39, Alchemist (ok), 13:28, 24/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Не проще ли заменить bind на dnsmasq?
>Он способен запускаться без собственных настроек,
>только с /etc/hosts и /etc/resolv.conf
>Использую его везде, где не требуется пересылка зон.
Ну тогда напишите нам об этом ;)
| |
|
3.40, Ivan_83 (?), 14:38, 16/06/2009 [^] [^^] [^^^] [ответить] | +/– | device pfsync - НЕ НУЖЕН Это для горячего резервирования на несколких машинах ... большой текст свёрнут, показать | |
|
4.41, Alchemist (ok), 15:23, 16/06/2009 [^] [^^] [^^^] [ответить]
| +/– |
>synproxy state должна использоватся только в правилах публикации внутренних сервисов наружу
собственно так и сделано
>От локал хоста и к локал хосту - вообще keep state можно ставить
В этой версии PF keep state подразумевается даже там, где он не прописан
По всему остальному - конструктивно, спасибо.
| |
4.42, iZEN (ok), 18:20, 16/06/2009 [^] [^^] [^^^] [ответить]
| +/– |
>># Разрешаем нашему шлюзу полный выход с обоих интерфейсов
>> pass out on $ext_if proto tcp from any to any
>> pass out on $ext_if proto udp from any to any keep state
>> pass out on $int_if proto tcp from any to any
>> pass out on $int_if proto udp from any to any keep state
>
>Тоже ужасно.
>pass out from (self) to any flags S/SA modulate state # allow
>out self to anywere - красота.
% pfctl -nf /etc/pf.conf
/etc/pf.conf:XY: syntax error
Лучше так:
pass out all
| |
|
5.43, Ivan_83 (?), 18:58, 16/06/2009 [^] [^^] [^^^] [ответить]
| +/– |
>>pass out from (self) to any flags S/SA modulate state # allow
>>out self to anywere - красота.
>
>% pfctl -nf /etc/pf.conf
>/etc/pf.conf:XY: syntax error
>
>Лучше так:
>pass out all
"pass out quick from (self) to any modulate state"
Без кавычек, фряха 7 и выше (ниже не тестил).
В других версиях бсд список поддерживаемых возможностей для пф может отличатся.
В DragonFlyBSD пф не полный, относительно фряхи.
В вашем случае траффик вышел, но записи в таблице состояний не создалось и как он будет возвращатся зависит от погоды и правил остальных.
Более того, с точки зрения скорости вы теряете, ибо пф ответные пакеты всё равно проверяет по таблице состояний, и только после этого пф лезет в правила.
| |
|
6.44, iZEN (ok), 12:14, 17/06/2009 [^] [^^] [^^^] [ответить]
| +/– |
>[оверквотинг удален]
>>>out self to anywere - красота.
>>
>>% pfctl -nf /etc/pf.conf
>>/etc/pf.conf:XY: syntax error
>>
>>Лучше так:
>>pass out all
>
>"pass out quick from (self) to any modulate state"
>Без кавычек, фряха 7 и выше (ниже не тестил).
У меня -- ошибка и на этой строчке:
pass out quick from (self) to any modulate state
% uname -rsm
FreeBSD 7.2-STABLE amd64
>В вашем случае траффик вышел, но записи в таблице состояний не создалось
>и как он будет возвращатся зависит от погоды и правил остальных.
man pf.conf
По умолчанию PF использует "flags S/SA" и "keep state" ВЕЗДЕ, если не указано иное.
В выводе команды pfctl -s all правило "pass out all" у меня разворачивается в "pass out all flags S/SA keep state".
>Более того, с точки зрения скорости вы теряете, ибо пф ответные пакеты
>всё равно проверяет по таблице состояний, и только после этого пф
>лезет в правила.
Я в курсе.
| |
|
7.45, klim (??), 22:56, 06/01/2010 [^] [^^] [^^^] [ответить]
| +/– |
В роли шлюза - вирт. машина:
FreeBSD 7.2 +
Памяти 1 гб
2 сетевые по 1 гб\сек в бридже
2 проц. по 2.4 ггц
Скорость передачи данных через нат не превышает 10 магабайт в секунду.
Статистика при передаче:
процессор 30.21% natd (пиковая цифра)
свободно памяти больше половины
snmp показывает что на сетевых интерфейсах скорость не больше 10 мегабайт в секунду
Где узкое место? Как добиться увеличения скорости?
| |
|
|
9.47, klim (??), 13:57, 08/01/2010 [^] [^^] [^^^] [ответить] | +/– | Гипервизор - VMWare ESXi 4 на Sun Fire X6250 Виртуалка - FreeBSD 7 2 2Gb RAM,... текст свёрнут, показать | |
|
|
|
|
|
|
|
|
1.48, Стас (??), 12:03, 10/08/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Доброго времени, сделал по мануалу, все заработало. Только, пожалуй, слишком. Такое чувство что в работе вообще сквид не участвует: комментил его порты, перезапускал, интернет все равно пашет.
А хочу всего лишь написать правило, которое будет разрешать определенным пользователям доступ в интернет.
Помогите пожалуйста разобраться. Если можно, то подсткажите как сделать еще авторизацию по логину и пароль
| |
|