Страница 1 из 1

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

Добавлено: 2010-11-17 15:20:24
koklushkin
Собственно задача поднять шлюз со статистикой и максимально(в разумных пределах) защититься от внешней среды, на машине будут крутиться 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:

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

Добавлено: 2011-01-10 0:35:24
Alex Keda
нихт ферштейн

IPFW - наше фсё =)

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

Добавлено: 2011-01-10 15:28:42
unix-admin
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".

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

Добавлено: 2011-01-13 20:46:07
TITANius
избыточное правило:

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

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 желательно перенести на другой порт.

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

Добавлено: 2011-01-13 20:56:31
TITANius
... вдогонку

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

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

scrub in all no-df fragment reassemble

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

Добавлено: 2011-01-31 15:05:07
koklushkin
подскажите еще один момент,понадобилось на внешний сервер пропустить 1-о VPN соединение из локалки. Буду очень признателен!

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

Добавлено: 2011-01-31 15:27:24
koklushkin
С VPN дела не имел, а срочно надо сделать

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

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

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

Добавлено: 2011-02-02 16:24:36
koklushkin
Просто необходимо выпустить 1 машину, на которой настроен VPN для связи с домом и все.

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

Добавлено: 2011-03-27 18:24:45
koklushkin
есть проблемка с пробросом порта для торрента на 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

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

Добавлено: 2011-03-28 10:29:09
unix-admin
есть проблемка...
какого плана?
клиент на 10.48.245.200 и раздает, и принимает на 6882-ом порту?

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

Добавлено: 2011-03-28 10:38:54
koklushkin
проблема в том, что не качает и не раздает, на 6882

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

Добавлено: 2011-03-28 11:07:22
unix-admin
при отключенном файерволе

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

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

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

Добавлено: 2011-03-28 11:55:29
koklushkin
отпишусь вечерком, сейчас нельзя

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

Добавлено: 2011-03-28 12:04:55
unix-admin
koklushkin писал(а):...сейчас нельзя
Я бы поставил rtorrent на шлюзе, если все так печально ;-)

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

Добавлено: 2011-03-28 12:20:48
koklushkin
поставить не проблема, хочется разобраться да и потом пригодиться!