[FUGSPBR] DE novo a minha bridge

Garcia, Leonardo lgarcia em vserver.com.br
Qui Abr 11 14:43:51 BRT 2002


Ola!

UDP nao pode ter regra established pois nao existe ACK para UDP, somente 
para TCP!

[]'s

Leonardo Garcia
UNIX Newbie!


At 14:30 11/04/2002 -0300, you wrote:
>Não consigo usar a seguinte regra. O ipfw imprime na tela aquele help dele 
>quando
>tento adicona-la...
>Preciso alguma coisa especial compilada no kernel ou algo do tipo???
>ipfw add 5100 allow udp from any to any established
>
>
>Capriotti wrote:
>
> > Cristian:
> >
> > Está faltando informação aqui: Como o processo de "via-e-vem"pode acabar
> > sendo lento, vou tentar preencher o que eu acho que está faltando, ok ?
> >
> > At 04:16 PM 4/8/2002 -0300, you wrote:
> >
> > >       [Free BSD1 - email e DNS]
> > >                                /\
> > >                                ||
> > >                                \/
> > >  [roteador] <==> [HUB] <==> [FreeBSD2 - Bridge]
> > >                                /\                       /\
> > >                                ||                        ||
> > >                                \/                       \/
> > >                           [redeNT1]         [HUB] <==> [redeNT2]
> > >
> > >O que eu quero é o seguinte:
> > >A rede 2 deve conseguir usar o servidor DNS do FreeBSD1.
> > >A rede 2 deve ter acesso a internet com limitaco de banda de 64Kbit/s
> > >A rede 2 não deve enchergar os pcs da redeNT1
> >
> > Estou assumindo que redeNT1 e redeNT2 estão em HUBs/Switches diferentes, e
> > a máquina FreeBSD2 tenha 3 placas de rede.
> >
> > Claro que todo esse controle tem que ser feito na máquina FreeBSD2.
> >
> > redeNT1 - 140.0.0.x (exemplo)
> > redeNT2 - 150.0.0.x (fornecido)
> >
> > Interface de rede do FreeBSD2 para redeNT1 - rl0 (exemplo)
> > interface de rede do FreeBSD2 para redeNT2 - fxp1 (fornecido)
> >
> > O que nós vamos discutir agora só é válido se seus usuários não puderem
> > alterar o IP das máquinas ! Caso eles tenham essa liberdade, o único jeito
> > seria um switch/roteador programável, onde VC limita o acesso de
> > determinado "ponto" (porrta de entrada do cabo); Mas isso foge do escopo e
> > não vou discutir.
> >
> > Bloquear acesso da nedeNT1 para redeNT2 e vice-versa (estou assumindo o
> > vice-versa).
> >
> > ipfw add 300 deny ip from 140.0.0.0/24 to 150.0.0.0/24 via rl0
> > ipfw add 400 deny ip from 150.0.0.0/24 to 140.0.0.0/24 via fxp1
> >
> > Limitação de banda: do jeito que VC fez vai funcionar perfeitamente.
> >
> > então, na ordem ficaria
> >
> > ipfw pipe...
> > ipfw pipe...
> >
> > ipfw add 500 [limitação 1]
> > ipfw add 600 [limitação 2]
> >
> > Agora, com relação à navegação, VC especificou apenas usar o DNS do
> > FreeBSD1, mas as linhas que VC definiu são para outros serviços também...
> > Além disso, você não especificou se você que que seja usado apenas, única e
> > exclusivamente o DNS do FreeBSD1 e mais nenhum outro no mundo (o que seria
> > extremamente nazinsta, mas administrativamente poderia ter sua validade).
> >
> > Então, para o caso do DNS exclusivo, existe uma solução extremamante
> > elegante que seria assim:
> >
> > ipfw add 700 fwd [ip.do.FreeBSD1] udp from 150.0.0.0/24 to any 53 via fxp1
> >
> > Essa linha, na prática, está dizendo que qualquer solicitação de DNS feita
> > na redeNT2, com qualquer endereço, vai ser direcionada para o FreeBSD1; Se
> > esse serviço estiver disponível naquela máquina (como está, segundo seu
> > esquema) vai ser aquela máquina que vai responder.
> >
> > Mas pode ser que não seja essa a sua idéia, baseado nas regras que VC
> > colocou no seu exemplo. Então, se for esse o caso, vamos estudar:
> >
> > ipfw add 800 allow udp from any to [ip.do.FreeBSD1] 53 via fxp1
> >
> > esta linha está ok, liberando o tráfego, e todas as outras linhas que forem
> > baseadas nela vão estar ok, mas, para seu firewall ficar 100%, você tem que
> > bloquear o resto dos pacotes indesejados. E para fazer isso coloque a
> > seguinte linha:
> >
> > ipfw add 65500 deny log ip from any to any
> >
> > Note a opção LOG na linha ! Vou discuti-la depois.
> >
> > Só que as linhas baseadas na linha 800 acima apenas liberam o tráfego de
> > saída, mas não o de entrada ! Isso significa que os computadores fazem a
> > pergunta mas a resposta é bloqueada na linha 65500 !
> >
> > Nesse caso temos que adicionar uma linha que permita a entrada das 
> respostas:
> >
> > ipfw add 5000 allow tcp from any to any established
> >
> > Na grande maioria dos casos isto funciona, mas no seu caso pode ser que
> > você precise de
> >
> > ipfw add 5100 allow udp from any to any established
> >
> > e
> >
> > ipfw add 5200 allow icmp from any to any
> >
> > para manter sua rede rodando redondinha.
> >
> > Nota: é importante que você observe a ordem das linhas. Eu colocaria nesta
> > ordem NUMÉRICA (e não na ordem que eu escreve) que eu estou discutindo
> > aqui; É o mais lógico NA MINHA OPINIÃO.
> >
> > Por último, gostaria de sugerir aqui uma estrutura geral de firewall, bem
> > genérica:
> >
> > # Nat, se houver
> >
> > #primeiro bloco de filtros:
> > #
> > # Filtros de segurança, contra spoofing, endereços de classes reservadas
> > (192.168, 172, 10) que não podem estar presentes em redes abertas, etc...
> >
> > #segundo bloco
> > #
> > # Redirecionamentos
> >
> > #Terceiro bloco
> > #
> > # O que é proibido na siua rede
> >
> > #Quarto bloco
> > #
> > # O que é permitido em sua rede
> >
> > # Quinto bloco - cláusula única:
> > #
> > # Proibir o resto que não foi previsto anteriormenmte
> >
> > Agora, sobre a opção "LOG": Ela vai manter um registro de todo o tráfego
> > daquela linha no arquivo /var/log/security
> >
> > Pode ser muito bom verificar esse arquivo para ver tentativas de invasão, e
> > também para estudar o porque seu firewall não está deixando passar
> > determinado tipo de acesso ou serviço.
> >
> > Eu acho que fomos a fundo o suficiente neste caso. Caso ainda tenha alguma
> > dúvida escreva :)
> >
> > []s
> >
> > Capriotti
> >
> > >Arquivo /usr/local/etc/rc.d/firewall.sh : (o q eu acho q deveria ser
> > >feito)
> > >
> > >#INICIO
> > >#LIMITACAO DE BANDA
> > >ipfw pipe 10 config bw 64Kbit/s
> > >ipfw pipe 20 config bw 64kbit/s
> > >ipfw 1000 add pipe 10 all from any to any out via fxp1
> > >ipfw 1001 add pipe 20 all from any to any in via fxp1
> > >
> > >#Libera servicos da internet
> > >ipfw 750 add allow udp from any to any 53 via fxp1 #DNS
> > >ipfw 700 add allow tcp from any to any 80 via fxp1   #HTTP
> > >ipfw 650 add allow tcp from any to any 21 via fxp1 #FTP
> > >ipfw 640 add allow tcp from any to any 22 via fxp1 #SSH
> > >
> > >#ISOLA Acessos fxp1 -> rede1
> > >ipfw 800 add deny all from any to 150.xxx.xxx.1/24 via fxp1
> > >#FIM
> > >
> > >Alguma recomendacao extra, alguma correção???
> > >
> > >[]'s
> > >Cristian
> > >--
> > >---------------------------------------
> > >  Cristian Thiago Moecke
> > >  CPD - LMP - UFSC
> > >  moecke em lmp.ufsc.br
> > >---------------------------------------
> > >
> > >
> > >----
> > >Para sair da lista envie um e-mail para majordomo em fugspbr.org
> > >com as palavras "unsubscribe fugspbr" no corpo da mensagem.
> >
> > ----
> > Para sair da lista envie um e-mail para majordomo em fugspbr.org
> > com as palavras "unsubscribe fugspbr" no corpo da mensagem.
>
>--
>---------------------------------------
>  Cristian Thiago Moecke
>  CPD - LMP - UFSC
>  moecke em lmp.ufsc.br
>---------------------------------------
>
>
>----
>Para sair da lista envie um e-mail para majordomo em fugspbr.org
>com as palavras "unsubscribe fugspbr" no corpo da mensagem.

----
Para sair da lista envie um e-mail para majordomo em fugspbr.org
com as palavras "unsubscribe fugspbr" no corpo da mensagem.



Mais detalhes sobre a lista de discussão freebsd