[FUG-BR] Problema de firewall PF

Diogo Dalfovo b1n4r1w0rm em gmail.com
Terça Outubro 8 16:08:13 BRT 2013


Boa Tarde Pessoal,

Desculpe a demora em retornar, mas estava em viagem....

Tiago,

Sim, estou recarregando as regras com pfctl -f /etc/pf.conf agora se eu der
um restart ele funciona mas mata todas as minhas conexões. E gostaria de
evitar isso.

Marcelo,
Isso mesmo ele esta mantendo o status da conexões mesmo depois de remover
ou dropar a regra dando um "flush" ele também funciona mas elimina todas as
minhas sessões.
Como vai ser algo que vai ter um certo volume ficaria ruim isso acontecer.


Pensando nisso durante a madruga fiz alguns testes e vi o seguinte
concluindo o problema.
Por padrão no FBSD 9.2 o PF ja tem implicito o "keep state" e na
documentação se eu faço um binat/nat ele também vai manter a conexão.

Dai comecei a fazer as regras como "no state" e funcionou perfeitamente  se
removo a regra In ou Out ele já trava o fluxo que é o que eu queria.

Voltei as regras como antes e alterei os parametros do "options"
# Options: tune the behavior of pf, default values are given.
...
set timeout { icmp.first 1, icmp.error 1 }
...

A principio funcionou como eu queria se eu removo ou drop um sessão que ja
estava aberta ele trava não mantendo a sessão...

Fica no histórico caso mais alguem passe por isso.

Muito obrigado













Em 8 de outubro de 2013 09:31, Marcelo Gondim <gondim em bsdinfo.com.br>escreveu:

> Em 07/10/13 18:50, Diogo Dalfovo escreveu:
> > Boa noite pessoal,
> >
> > Bom eu acredito que seja algo simples de resolver mas não estou achando
> uma
> > solução.
> > Estou montando um firewall com a seguinte configuração:
> >
> > root em fw:~ # pfctl -sr
> > ...
> > block drop in log inet all label "BLOQUEIO PADRAO ENTRADA IPV4"
> > block drop out log inet all label "BLOQUEIO PADRAO SAIDA IPV4"
> > pass in log quick on vlan3 inet proto icmp from $IP_EXTERNO to 10.2.2.30
> > icmp-type echoreq code 0 keep state label "libera icmp WAN" rtable 1
> >
> > root em fw:~ # pfctl -sn
> > binat on vlan3 inet from 10.2.2.30 to any -> $IP_EXTERNO
> >
> > Neste IP eu tenho nat 1:1
> >
> > Disparo ping para o $IP_EXTERNO funciona sem problema algum. Depois eu
> > removo a regra de liberação, mando recarregar as regras e maldito
> continua
> > pingando.
> > Se depois de um tempo sem ping volto a disparar dai sim ele faz o
> bloqueio.
> >
> > 00:00:04.999486 rule 2..16777216/0(match): block in on vlan3: x.x.x.x >
> > 10.2.2.30: ICMP echo request, id 11861, seq 8081, length 40
> > 00:00:05.000195 rule 7..16777216/0(match): pass in on vlan3: x.x.x.x >
> > 10.2.2.30: ICMP echo request, id 11861, seq 8082, length 40
> > 00:20:08.074826 rule 2..16777216/0(match): block in on vlan3: x.x.x.x >
> > 10.2.2.30: ICMP echo request, id 47373, seq 9262, length 40
> >
> > Precisa de alguma configuração no "options"? set timeout qualquer coisa
> > para quando eu remover a regra e recarregar ele ja fazer o bloqueio?
> > Como se ele tivesse mantendo a sessão anterior ainda liberada.
> >
> > Diogo Dalfovo
> > -------------------------
> > Histórico: http://www.fug.com.br/historico/html/freebsd/
> > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> >
> Olá Digo,
>
> Uso o PF mais para NAT e para filtro o ipfw mas tudo indica que você
> continua pingando por causa do state da conexão, mesmo você removendo a
> regra, ela continua lá. Experimenta fazer um flush para você ver se
> continua pingando:
>
> pfctl -F states
>
> E depois tenta pingar logo em seguida.
>
> []'s
> Gondim
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>


Mais detalhes sobre a lista de discussão freebsd