[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