[FUG-BR] Ajuda para liberacao de acesso externo no PF
irado em hotpop.com
irado em hotpop.com
Sex Jan 20 08:14:27 BRST 2006
bão.. eu o trouxe mesmo. Como disse, algo muito simpes mesmo, foi todo
construido baseado no exemplo - aliás, um pf.conf funcional - que está em
/etc/pf.conf e várias coisas "pescadas" do manual lá em benzedrine.cx:
:=== begin
# variaveis
EXT_nic = "rl0"
INT_nic = "rl1"
ftp_proxy = "> 49151"
LAN = "192.168.1.0/24"
Net_Admin = "192.168.1.30" # maquina do administrador
table <autorizados> persist file "/etc/autorizados"
table <firewall> const { self }
servicos = "{ http, https, smtp, pop3, nntp, ssh }"
# Options: tune the behavior of pf, default values are given.
set timeout { interval 10, frag 30 }
set timeout { tcp.first 120, tcp.opening 30, tcp.established 86400 }
set timeout { tcp.closing 900, tcp.finwait 45, tcp.closed 90 }
set timeout { udp.first 60, udp.single 30, udp.multiple 60 }
set timeout { icmp.first 20, icmp.error 10 }
set timeout { other.first 60, other.single 30, other.multiple 60 }
set timeout { adaptive.start 0, adaptive.end 0 }
set limit { states 10000, frags 5000 }
set loginterface $EXT_nic
set optimization normal # para uma rede de muito trafego, definir como
"aggressive".
set block-policy return
set require-order yes
set fingerprints "/etc/pf.os"
# normalizacao
scrub on $EXT_nic reassemble tcp no-df random-id
# queueing --> aqui devem ser definidos os controles de banda
# nat e redirecionamentos
no rdr on { lo0, lo1 } from any to any
nat on $EXT_nic from <autorizados> to any -> $EXT_nic
# redirecionar as solicitacoes de ftp para o ftp-proxy
rdr on $INT_nic proto tcp from <autorizados> to any port 21 -> localhost
port 8081
# filtragem
block return log all #bloqueia tudo
pass quick on lo0 all
pass out on $EXT_nic inet proto tcp all flags S/SA modulate state
pass out on $EXT_nic inet proto { udp, icmp } all keep state
# incoming active ftp-data (this is required for active ftp to work
pass in log quick on $EXT_nic inet proto tcp from any port 20 to ($EXT_nic)
port $ftp_proxy modulate state
# o administrador pode acessar o firewall por ssh e verifica-lo
(ping/traceroute)
pass in log quick on $INT_nic inet proto tcp from $Net_Admin to <firewall>
port ssh modulate state
pass in log quick on $INT_nic proto { udp, icmp } from $Net_Admin to
<firewall>
pass in log quick on $INT_nic proto tcp from <autorizados> to !<firewall>
port $servicos flags S/SA modulate state
pass in log quick on $INT_nic inet proto { udp, icmp } from <autorizados>
to !<firewall> keep state
pass out log quick on $INT_nic inet proto tcp from <firewall> to $Net_Admin
port ssh modulate state
:=== end
em vários pontos está a palavra mágica "log", que vai gravar o tráfego em
/var/log/pflog e também (real-time) na interface pflog0. Êsse tráfego pode
ser analisado pelo tcpdump, conforme instruções em "man pf".
Pra facilitar, pode-se habilitar log apenas para o tráfego rejeitado. Êsse
é um firewall "fecho tudo, abro só o que convém", observem a regra:
block return log all #bloqueia tudo
se existir APENAS essa regra, simplesmente não haverá tráfego algum de/para
essa máquina, mas tudo será logado.
experimentem e me contem :)
Original Message:
-----------------
> From: irado em hotpop.com irado em hotpop.com
> Date: Thu, 19 Jan 2006 05:15:43 -0500
> To: Freebsd em fug.com.br
> Subject: Re: [FUG-BR] Ajuda para liberacao de acesso externo no PF
> amanhã eu trago um scriptizinho que estou o "trabalhando".
saudações,
irado
FreeBSD BSD50853/Linux User 179402
--------------------------------------------------------------------
mail2web - Check your email from the web at
http://mail2web.com/ .
_______________________________________________
Freebsd mailing list
Freebsd em fug.com.br
http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
Mais detalhes sobre a lista de discussão freebsd