[FUG-BR] RES: Ipfw

Freebsd-BR freebsd.br em terra.com.br
Quarta Novembro 1 16:09:27 BRST 2006


Ae pessoal tudo certo?

Bem vou deixar minha dica ae para configurar um firewall.

Primeiro precisamos configurar o kernel, adicione estas linhas que passarei
abaixo:


# Configuracao TCP/IP  
options         RANDOM_IP_ID
options         TCP_DROP_SYNFIN
options         IPSTEALTH
options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=3
options         IPDIVERT
options         DUMMYNET

Segundo passo fazer o firewall, coloque isto dentro do /etc/rc.firewall: (
Neste caso estou fazendo com uma conexão speedy e uso junto o ppp para
discar. Este firewall estão com ip´s somente ilustrativos.

[Oo][Pp][Ee][Nn])
        rede_local="10.30.0.0/24"
        rede_local_broadcast="10.30.0.255"
        pcanywhere="10.30.0.5"
        interface_local="vr0"
        interface_externa="tun0"
        setup_loopback

        # lista negra
        ${fwcmd} add allow tcp from any to me 22
        ${fwcmd} add allow tcp from me 22 to any 
        ${fwcmd} add deny icmp from any to any
        ${fwcmd} add deny ip from any to any frag
        ${fwcmd} add deny ip from any to any xmit $interface_externa
tcpflags rst

        # liberacao do servidor
        ${fwcmd} add pass tcp from any to any established
        ${fwcmd} add pass tcp from me to any setup
        ${fwcmd} add pass ip from me to any keep-state
        ${fwcmd} add pass tcp from any to me dst-port 22 setup
        ${fwcmd} add pass tcp from any to me dst-port 80 setup

        # permite acesso da rede local
        ${fwcmd} add pass tcp from $rede_local to 200.0.0.1 dst-port 110
setup via $interface_local in
        ${fwcmd} add pass tcp from $rede_local to 200.0.0.1 dst-port 25
setup via $interface_local in
        ${fwcmd} add pass tcp from $rede_local to 200.0.0.1  dst-port 5432
setup via $interface_local in
        ${fwcmd} add pass tcp from $rede_local to me dst-port 139,3128 via
$interface_local in setup
        ${fwcmd} add pass udp from $rede_local to me dst-port 53 via
$_interface_local in keep-state
        ${fwcmd} add pass udp from $rede_local to 200.0.0.1 dst-port 53 via
$interface_local in keep-state
        ${fwcmd} add pass udp from any to any dst-port 67 via
$interface_local in
        ${fwcmd} add pass udp from $rede_local to $rede_local_broadcast
dst-port 138,137 via $interface_local

        

        # liberacao para a maquina que vai autenticar o speedy
        # se for velox ou similar (trocar a variavel $pcanywhere pela
maquina)
        #
        ${fwcmd} add pass tcp from $pcanywhere to any setup via
$interface_local in
        ${fwcmd} add pass ip from $pcanywhere to any keep-state via
$interface_local in
        ${fwcmd} add pass tcp from any to 10.30.0.5 5631 setup
        ${fwcmd} add pass udp from any to 10.30.0.5 5632 keep-state


        #bloquear e logar o resto
        ${fwcmd} add deny log ip from any to any
        ;;
[Cc][Ll][Ii][Ee][Nn][Tt])

Terceiro passo:

Editar o rc.conf e para quando bootar funcionar.
Adicione esta linhas:

natd_enable="YES"					
natd_interface="tun0"
natd_flags="-f /etc/natd.conf"
ppp_enable="YES"			
ppp_mode="ddial"
ppp_nat="NO"
ppp_profile="default"
firewall_enable="YES"
firewall_type="OPEN"
gateway_enable="YES"

Bom nesse Firewall que foi passado mostra algumas liberações e alguns
bloqueios.
Note que tenho um squid na mesma máquina pois estou liberando a porta 3128
para que a rede interna me acesse, e possa navegar. 

Espero ter ajudado.

Agora é só se divertir.


Binho
“Não discuta com idiotas, você desce ao nível deles e eles te vencem por ter
experiências”
 
 


-----Mensagem original-----
De: freebsd-bounces em fug.com.br [mailto:freebsd-bounces em fug.com.br] Em nome
de Giancarlo Rubio
Enviada em: quarta-feira, 1 de novembro de 2006 13:45
Para: Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)
Assunto: Re: [FUG-BR] Ipfw

On Wed, 2006-11-01 at 15:31 -0300, Bruno Henrique de Oliveira wrote:
> > Citando Giancarlo Rubio <giancarlo.rubio em pucpr.br>:
> > Como eu tinha dito nao era erro na incicializacao e sim na regra
> >
> >
> > deixe as assim
> >
> > add 00005 allow all from any to any via $eth0
> > add 00010 allow all from any to any via lo0
> 
> Giancarlo,
> 
> mesmo com a alteração que você falou a mensagem é a mesma.
> 
rc.conf

firewall_enable=YES
firewall_type=/etc/ipfw.rules

/etc/ipfw.rules

add 00005 allow all from any to any via $eth0
add 00010 allow all from any to any via lo0

Nao precisa colocar o flush, pois sempre q vc carregar via
sh /etc/rc.firewall ele da um flush e sempre q inicializar tbm

Atente para o numero da linha, se der erro

-- 
"Linux is for people who hate Windows,
BSD is for people who love UNIX"
Freebsd-BR User #88
---
Giancarlo Rubio

-------------------------
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