pf rules? что бы изменить

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
koklushkin
мл. сержант
Сообщения: 85
Зарегистрирован: 2010-06-12 11:45:07

pf rules? что бы изменить

Непрочитанное сообщение koklushkin » 2010-11-17 15:20:24

Собственно задача поднять шлюз со статистикой и максимально(в разумных пределах) защититься от внешней среды, на машине будут крутиться APACHE,SQUID,REJIK,LIGHTSQUID(пока все) Squid не прозрачный. Нарисовал вот такое:
pf.conf

Код: Выделить всё

ext_if="rl0"
int_if="re0"
icmp_types="echoreq"
proxy_if="xxx.xxx.xxx.xxx"
proxy_port="3128"
admin="xxx.xxx.xxx.xxx"
tcp_out = "25,110,465, 80"
non_route_nets_inet="{ 172.16.0.0/12,  169.254.0.0/16,  240.0.0.0/4 }"

table <bruteforce> persist file "/var/log/bruteforce"

set block-policy drop
set skip on lo0
set timeout { frag 10, tcp.established 3600 }
scrub in all

nat on $ext_if from $int_if:network to !(self)  -> ($ext_if)

block all
antispoof log quick for { lo0, $int_if, $ext_if }
block drop in log quick on $ext_if from $non_route_nets_inet to any
block drop in log quick on $int_if from !$int_if:network to any
block drop in log quick on { $int_if, $ext_if } proto tcp from any to any port smtp
block drop quick from <bruteforce>

pass in on $int_if  proto udp from $int_if:network  to any   port domain   queue qdns keep state

pass in quick on $int_if inet proto tcp from $int_if:network to any port { $tcp_out } keep state

pass in on $int_if proto tcp from { $admin } to $int_if port ssh  queue ( qssh, qack ) synproxy state ( max-src-conn-rate 5/360, overload <bruteforce> flush global )

pass in on $int_if  proto tcp from $int_if:network to $proxy_if port $proxy_port

pass out on $ext_if   modulate state

pass in inet proto icmp all icmp-type $icmp_types keep state
Прошу указать на изъяны, явные ошибки или просто что стоит изменить. Обоснованная критика приветствуется :friends:

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35426
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: pf rules? что бы изменить

Непрочитанное сообщение Alex Keda » 2011-01-10 0:35:24

нихт ферштейн

IPFW - наше фсё =)
Убей их всех! Бог потом рассортирует...

Аватара пользователя
unix-admin
ст. сержант
Сообщения: 324
Зарегистрирован: 2010-11-26 12:43:04
Откуда: Cornucopia

Re: pf rules? что бы изменить

Непрочитанное сообщение unix-admin » 2011-01-10 15:28:42

koklushkin писал(а):Прошу указать на изъяны, явные ошибки или просто что стоит изменить. Обоснованная критика приветствуется :friends:
Да все очень грамотно написано... Только один вопос по таймаутам. Вы указываете:

Код: Выделить всё

set timeout { frag 10, tcp.established 3600 }
Для чего вы уменьшаете дефолтные значения?

Код: Выделить всё

tcp.established           86400s
frag                         30s
Еще посмотрите вот тут http://www.openbsd.org/faq/pf/options.html на предмет "set optimization option".

Аватара пользователя
TITANius
сержант
Сообщения: 197
Зарегистрирован: 2009-10-27 11:33:10

Re: pf rules? что бы изменить

Непрочитанное сообщение TITANius » 2011-01-13 20:46:07

избыточное правило:

Код: Выделить всё

block drop in log quick on $int_if from !$int_if:network to any
дальше по правилам вы пропускаете в локальном интерфейсе только локальную подсеть, поэтому вышеуказанное правило сравнимо с:

Код: Выделить всё

block all
для большего контроля можно все "keep state" (где имеются "proto tcp") заменить на modulate state.

Про исходящий скраб забыли:

Код: Выделить всё

scrub out all random-id max-mss 1400
можно ещё вставить правило для трейс роута

Код: Выделить всё

## allow trace route
pass in inet proto udp from any to (self) port 33433 >< 33626 keep state
Сам SSH желательно перенести на другой порт.

Аватара пользователя
TITANius
сержант
Сообщения: 197
Зарегистрирован: 2009-10-27 11:33:10

Re: pf rules? что бы изменить

Непрочитанное сообщение TITANius » 2011-01-13 20:56:31

... вдогонку

входящий скраб:

Код: Выделить всё

scrub in all no-df fragment reassemble

koklushkin
мл. сержант
Сообщения: 85
Зарегистрирован: 2010-06-12 11:45:07

Re: pf rules? что бы изменить

Непрочитанное сообщение koklushkin » 2011-01-31 15:05:07

подскажите еще один момент,понадобилось на внешний сервер пропустить 1-о VPN соединение из локалки. Буду очень признателен!

koklushkin
мл. сержант
Сообщения: 85
Зарегистрирован: 2010-06-12 11:45:07

Re: pf rules? что бы изменить

Непрочитанное сообщение koklushkin » 2011-01-31 15:27:24

С VPN дела не имел, а срочно надо сделать

Аватара пользователя
BlackCat
прапорщик
Сообщения: 469
Зарегистрирован: 2007-10-16 22:40:42

Re: pf rules? что бы изменить

Непрочитанное сообщение BlackCat » 2011-02-02 15:36:55

koklushkin писал(а):на внешний сервер пропустить 1-о VPN соединение из локалки. Буду очень признателен!
VPN для МСЭ, если это не IPSEC, обычное TCP-соединение на определённый TCP-порт. Просто разрешите его - и вся настройка.

koklushkin
мл. сержант
Сообщения: 85
Зарегистрирован: 2010-06-12 11:45:07

Re: pf rules? что бы изменить

Непрочитанное сообщение koklushkin » 2011-02-02 16:24:36

Просто необходимо выпустить 1 машину, на которой настроен VPN для связи с домом и все.

koklushkin
мл. сержант
Сообщения: 85
Зарегистрирован: 2010-06-12 11:45:07

Re: pf rules? что бы изменить

Непрочитанное сообщение koklushkin » 2011-03-27 18:24:45

есть проблемка с пробросом порта для торрента на 1-у машину во внутреннюю сеть, 2й день сижу =/..выручайте; немного переработал прошлый конфиг...на данный момент он выглядит вот так:
pf.conf

Код: Выделить всё

ext_if="em0"
int_if="xl0"
admin="10.48.245.200"
t_port="6882"

int_net="{10.0.0.0/8}"
tcp_out="25, 110, 443, 465, 3128, 21845, 5025, 5110, 995, 21555, 37777"



table <bruteforce> persist file "/var/log/bruteforce"

set block-policy drop
set skip on lo0
set timeout { frag 10, tcp.established 3600 }
set fingerprints "/etc/pf.os"
scrub in all fragment reassemble
scrub out all random-id max-mss 1400

nat on $ext_if from $int_net  to !(self)  -> ($ext_if)
??????rdr on $ext_if proto tcp from any  to ($ext_if) port $t_port -> $admin port $t_port???????

block all

antispoof log quick for { lo0, $int_if, $ext_if }

block drop quick from <bruteforce>

pass in on $int_if  proto udp from $int_net  to any   port domain   queue qdns keep state

pass in quick on $int_if inet proto tcp from $int_net to any port { $tcp_out } keep state

?????pass in quick on $ext_if proto tcp from any to $admin port $t_port keep state?????


pass in on $int_if proto tcp from { $admin } to $int_if  port ssh  queue ( qssh, qack ) synproxy state ( max-src-conn-rate 5/360, overload <bruteforce> flush global)

pass out on $ext_if   modulate state

Аватара пользователя
unix-admin
ст. сержант
Сообщения: 324
Зарегистрирован: 2010-11-26 12:43:04
Откуда: Cornucopia

Re: pf rules? что бы изменить

Непрочитанное сообщение unix-admin » 2011-03-28 10:29:09

есть проблемка...
какого плана?
клиент на 10.48.245.200 и раздает, и принимает на 6882-ом порту?

koklushkin
мл. сержант
Сообщения: 85
Зарегистрирован: 2010-06-12 11:45:07

Re: pf rules? что бы изменить

Непрочитанное сообщение koklushkin » 2011-03-28 10:38:54

проблема в том, что не качает и не раздает, на 6882

Аватара пользователя
unix-admin
ст. сержант
Сообщения: 324
Зарегистрирован: 2010-11-26 12:43:04
Откуда: Cornucopia

Re: pf rules? что бы изменить

Непрочитанное сообщение unix-admin » 2011-03-28 11:07:22

при отключенном файерволе

Код: Выделить всё

pass in all 
pass out all
работает?

koklushkin
мл. сержант
Сообщения: 85
Зарегистрирован: 2010-06-12 11:45:07

Re: pf rules? что бы изменить

Непрочитанное сообщение koklushkin » 2011-03-28 11:55:29

отпишусь вечерком, сейчас нельзя

Аватара пользователя
unix-admin
ст. сержант
Сообщения: 324
Зарегистрирован: 2010-11-26 12:43:04
Откуда: Cornucopia

Re: pf rules? что бы изменить

Непрочитанное сообщение unix-admin » 2011-03-28 12:04:55

koklushkin писал(а):...сейчас нельзя
Я бы поставил rtorrent на шлюзе, если все так печально ;-)

koklushkin
мл. сержант
Сообщения: 85
Зарегистрирован: 2010-06-12 11:45:07

Re: pf rules? что бы изменить

Непрочитанное сообщение koklushkin » 2011-03-28 12:20:48

поставить не проблема, хочется разобраться да и потом пригодиться!