[FUGSPBR] BRIDGE+FIREWALL - PASSO 2 - QUASE LA

FreeBSD User chatcraker em yahoo.com
Seg Maio 6 13:23:07 BRT 2002


OK

Li o artigo:
http://www.freebsd.org/doc/en_US.ISO8859-1/articles/filtering-bridges/index.html

Ja to quase sacando tudo.
As placas do bridge nao tem ip, ate ai tudo bem, com as opcoes setadas
corretamente o sistema faz o forward sem problema.
Agora, pelas regras do ipfw que tem nesse artigo eu queria ver como
garantir que trafego de saída ocorra livre e o de entrada so possa ser
permitido para a porta 80 e 25.

Ficaria algo como isso : ( ? )

            --------------                     -----------------------
internet    |  BRIDGE    |     HUB/interno     |MAQUINA COM IP REAL  |
<-----------|fxp0     xl0|---------------------|fxp0=200.254.12.xxx  |
            |            |                     |                     |
            --------------                     -----------------------

Nao vou definir IP para as placas do BRIDGE, mas eu poderia definir a fxp0 do
BRIDGE com o mesmo IP REAL da maquina que esta atraz so mesmo ???

O ipfw ficaria assim : ( ? )

    add check-state
    
    # Throw away RFC 1918 networks
    add drop all from 10.0.0.0/8 to any in via fxp0
    add drop all from 172.16.0.0/12 to any in via fxp0
    add drop all from 192.68.0.0/16 to any in via fxp0
    
    # Allow the bridge machine to say anything it wants
    # (if the machine is IP-less don't include these rows)
//    add pass tcp from 1.2.3.4 to any setup keep-state
//    add pass udp from 1.2.3.4 to any keep-state
//    add pass ip from 1.2.3.4 to any
    
    # Allow the inside hosts to say anything they want
    add pass tcp from any to any in via xl0 setup keep-state
    add pass udp from any to any in via xl0 keep-state
    add pass ip from any to any in via xl0
    
    # TCP section

    # deny all SSH  (drop ou deny para usar ?)
    add drop tcp from any to any 22 in via fxp0 setup keep-state

    # Allow WWW
    add pass tcp from any to any 80 in via fxp0 setup keep-state

    # Allow SMTP only towards the mail server
    add pass tcp from any to relay 25 in via fxp0 setup keep-state

    # Pass the "quarantine" range
    add pass tcp from any to any 49152-65535 in via fxp0 setup keep-state
    
    # UDP section
    # Allow DNS only towards the name server
    add pass udp from any to ns 53 in via fxp0 keep-state
    (-------!!!!! o "ns" é um ip ? ou o que quer dizer esse ns ? !!!-----)
    essa regra ta permitindo acesso ao dns na maquina real ?

    # Pass the "quarantine" range    ( pra que isso ??? )
    add pass udp from any to any 49152-65535 in via fxp0 keep-state
    
    # ICMP section

    # Pass 'ping'
    add pass icmp from any to any icmptypes 8 keep-state
    # Pass error messages generated by 'traceroute'
    add pass icmp from any to any icmptypes 3
    add pass icmp from any to any icmptypes 11
    
    # Everything else is suspect
    add drop log all from any to any

Com esse script a maquina com ip real so aceitaria as
conexoes entrantes nas portas 25 e 80 correto ?

Todas as outras maquinas que estao com nat atras da maquina
com ip real continuam acessando a rede normalmente ?
E a maquina com ip real pode fazer qualquer acesso externo correto ?

Ta certo isso ai ou tem mais algum detalhe ?



--- Eduardo Augusto Alvarenga <eduardo em thrx.dyndns.org> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> On Mon, 6 May 2002, FreeBSD User wrote:
> 
> [snip]
> > - Tem uma maquina na rede num IP real, nao tenho
> > acesso a essa maquina e preciso bloquear o acesso
> > ssh na mesma.
> >
> > Ja ouvi falar que a configuracao de bridge resolve isso nao ?
> > Pois nao preciso de mais ips reais e posso por esse brigde
> > antes da maquina e bloquear as portas que quero nao ?
> 
> Correto.
> 
> > Alem disso preciso ativar uma outra rede num outro ip.
> > Tenho so uma maquina para fazer isso.
> > Preciso por 3 placas de rede, 2 para o bridge e uma para
> > a outra rede. Correto ?
> 
> Correto, conecte um NIC no servidor a ser bloqueado, outro NIC na mesma
> rede da máquina bloqueada e outro NIC na outra rede.
> 
> > Ta mas para montar o bridge, tenho que recompilar o kernel
> > com as opcoes para o ipfw e bridge correto ?
> 
> Correto. As opcoes sao:
> 
> options BRIDGE
> options IPFIREWALL
> options IPFIREWALL_DEFAULT_TO_ACCEPT
> 
> > Ta, mas e como eu configuro as placas de rede no rc.conf ?
> > Preciso por IP la ?
> 
> Não, simplismente deixe vazio e habilite o bridging(com filtro).
> 
> - - sysctl.conf:
> net.link.ether.bridge_ipfw=1
> 
> > E como faco com o natd da outra rede ?
> > O bridge nao usa natd ?
> 
> Não, como a bridge não possui endereos IPs, não é possível fazer qualquer
> tipo de roteamento, incluindo NAT.
> 
> Para habilitar NAT na sua rede com IPs:
> 
> - - rc.conf:
> firewall_enable="YES"
> firewall_type="open"
> firewall_quiet="NO"
> natd_enable="YES"
> natd_interface="ed0" (substitua por sua interface)
> natd_flags="-m -s"
> 
> > Alguem sabe de um howto de como fazer isso ou pode me dar
> > as dicas.
> 
> http://www.freebsdhowtos.com/105.html
> Mais dicas no mesmo site.
> 
> 
> Atenciosamente,
> 
> - -- 
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
>  Eduardo A. Alvarenga - Analista de Suporte #179653
>  Secretaria de Segurança  Pública do Estado do Pará
>       Belém - Pará - (91) 223-4996 / 272-1611
>  eduardo em thrx.dyndns.org  / eduardo em segup.pa.gov.br
> - -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.0.6 (GNU/Linux)
> Comment: For info see http://www.gnupg.org
> 
> iD8DBQE81qfmpKK2uJoGDlMRAkNjAJ95TwO8lXH9DsMyppjNfAJvjA/7xwCfdySE
> AICXMsg0ACEnsyPaeMYLDyY=
> =KPTY
> -----END PGP SIGNATURE-----
> 
> 
> ----
> Para sair da lista envie um e-mail para majordomo em fugspbr.org
> com as palavras "unsubscribe fugspbr" no corpo da mensagem.


__________________________________________________
Do You Yahoo!?
Yahoo! Health - your guide to health and wellness
http://health.yahoo.com
----
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