Firewall bem prático e bom

Publicado por Vitor Hugo sampiron em 13/02/2006

[ Hits: 10.679 ]

 


Firewall bem prático e bom



Aí galera do VOL, andei vendo aí pelo site e vi que tem gente que precisa de um firewall, então aí vai um que eu uso e acho muito bom, pois fui elaborando ele aos poucos.

#!/bin/sh

echo "Ativando Firewall........"

### Limpando as regras ###
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD

# Definindo a Política Default das Cadeias
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

### Passo 2: Desabilitar o trafego IP entre as placas de rede ###
echo "0" > /proc/sys/net/ipv4/ip_forward

# Configurando a Proteção anti-spoofing
for spoofing in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo "1" > $spoofing
done

# Impedimos que um atacante possa maliciosamente alterar alguma rota
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects

# Utilizado em diversos ataques, isso possibilita que o atacante determine o "caminho" que seu
# pacote vai percorrer (roteadores) ate seu destino. Junto com spoof, isso se torna muito perigoso.
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route

# Proteção contra responses bogus
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

# Protecao contra ataques de syn flood (inicio da conexao TCP). Tenta conter ataques de DoS.
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

### Carregando os módulos do iptables ###
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_mangle
modprobe iptable_nat
modprobe ipt_MASQUERADE

### Agora, vamos definir o que pode passar e o que não ###
####################
# Cadeia de Entrada

#Proteção contra
# Proteção contra tronjans
# -------------------------------------------------------

iptables -A INPUT -p TCP -i eth0 --dport 666 -j DROP
iptables -A INPUT -p TCP -i eth0 --dport 666 -j DROP
iptables -A INPUT -p TCP -i eth0 --dport 4000 -j DROP
iptables -A INPUT -p TCP -i eth0 --dport 6000 -j DROP
iptables -A INPUT -p TCP -i eth0 --dport 6006 -j DROP
iptables -A INPUT -p TCP -i eth0 --dport 16660 -j DROP

# LOCALHOST - ACEITA TODOS OS PACOTES
iptables -A INPUT -i lo -j ACCEPT

# PORTA 80 - ACEITA PARA A REDE LOCAL
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT

# PORTA 8050 - ACEITA PARA A REDE LOCAL (VINDO DE FORA)
iptables -A INPUT -i eth0 -p tcp --dport 8050 -j ACCEPT

# No iptables, temos de dizer quais sockets são validos em uma conexao
iptables -A INPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT

################################
# Cadeia de Reenvio (FORWARD).
# Primeiro, ativar o mascaramento (nat).
iptables -t nat -F
iptables -t nat -A POSTROUTING -j MASQUERADE

# Agora dizemos quem e o que podem acessar externamente
# No iptables, o controle do acesso a rede externa e feito na cadeia "FORWARD"

########################VÍRUS######################
# Vírus Protecao porta 445 e interface eth0
iptables -A FORWARD -p tcp --dport 445 -i eth0 -j DROP
iptables -A FORWARD -p tcp --sport 445 -i eth0 -j DROP
iptables -A FORWARD -p udp --dport 445 -i eth0 -j DROP
iptables -A FORWARD -p udp --sport 445 -i eth0 -j DROP

# Vírus Protecao porta 135 e interface eth0
iptables -A FORWARD -p tcp --dport 135 -i eth0 -j DROP
iptables -A FORWARD -p tcp --sport 135 -i eth0 -j DROP
iptables -A FORWARD -p udp --dport 135 -i eth0 -j DROP
iptables -A FORWARD -p udp --sport 135 -i eth0 -j DROP

#iptables -A FORWARD -s 192.168.0.201 -j ACCEPT
# PORTA 3128 - ACEITA PARA A REDE LOCAL
iptables -A FORWARD -i eth1 -p tcp --dport 3128 -j ACCEPT

# Redireciona porta 80 para 3128 (Squid)
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

# PORTA 53 - ACEITA PARA A REDE LOCAL
iptables -A FORWARD -i eth1 -p udp --dport 53 -j ACCEPT

#PORTA 53 UDP - ACEITA PARA A REDE LOCAL
iptables -A FORWARD -i eth1 -p udp --dport 53 -j ACCEPT

# PORTA 110 - ACEITA PARA A REDE LOCAL
iptables -A FORWARD -i eth1 -p tcp --dport 110 -j ACCEPT

# PORTA 25 - ACEITA PARA A REDE LOCAL
iptables -A FORWARD -i eth1 -p tcp --dport 25 -j ACCEPT

# PORTA 443 - ACEITA PARA A REDE LOCAL
iptables -A FORWARD -i eth1 -p tcp --dport 443 -j ACCEPT

# PORTA 21 - ACEITA PARA A REDE LOCAL
iptables -A FORWARD -i eth1 -p tcp --dport 21 -j ACCEPT

# No iptables, temos de dizer quais sockets são validos em uma conexao
iptables -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT

#faz o nat do TS pro notebook da porta do ts
iptables -A PREROUTING -t nat -p tcp --dport 3389 -j DNAT --to 192.168.0.201

# Habilitando o trafego IP, entre as Interfaces de rede
echo "1" > /proc/sys/net/ipv4/ip_forward
echo
echo
echo
echo "Firewall ativado e pronto...."


Beleza! Qualquer duvida ou sugestão:

e-mail: vitor@conflinux.com.br
e-mail2: vitor@a2web.com.br

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Vendo quem está logado no servidor de FTP

Mantendo um alto padrão de segurança

Lista de servidores compatíveis com OpenBSD

Imagem do Windows XP virtual para testes de segurança

Colocando senha criptografada no Grub

  

Comentários
[1] Comentário enviado por ejmjunior em 17/04/2006 - 17:34h

Por favor Vitor, sou iniciante em firewall, e gostaria de tirar algumas duvidas. Tipo, onde salvar esse arquivo de forma q sempre q ligar o pc ele iniciarlizar-se, na minha rede, q tem duas placas de rede, a primeira eht0 fica na rede interna com ip 192.168.1.254 mask 255.255.255.0 e a outra eth1 fica na rede da NET com ip 200.199.241.17 (brturbo) , resumindo quais modificacoes terei q fazer pra eu poder usar esse firewall q vc escreveu.
Desde ja obrigado...

[2] Comentário enviado por gzanatta00 em 06/11/2007 - 17:34h

amigo salva em qualquer lugar tipo /etc/init.d/firewall
pra executar na inicializacao, pra debian executa ln -s /etc/init.d/firewall /etc/rc2.d/S99firewall

para trabalhar com este firewall deixe a eth0 pra internet e eth1 pra interna, ou modifique o firewall



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts