Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- # Firewall criado por Tlaloc (Rafael Umbelino).
- # Qualquer um pode utilizar este firewall, modificar conforme suas intenções, estudar e
- # propor melhorias.
- # Caso encontre falhas ou queira fazer sugestões, mande um e-mail para:
- # rafael.umb at hotmail dot com dot br
- # VIVA O LINUX! - Porque de graça é mais gostoso
- depend()
- {
- after net.lo
- after net.eth0
- }
- start()
- {
- # -- FIREWALL
- # Estes comandos limpam qualquer configuração residual
- iptables -F
- iptables -P INPUT ACCEPT
- iptables -P OUTPUT ACCEPT
- iptables -P FORWARD ACCEPT
- # Definindo padrões
- # estes padrões definem que TODA conexão que não for tratada por regra alguma será
- # descartada sem aviso
- iptables -P INPUT DROP
- iptables -P OUTPUT DROP
- iptables -P FORWARD DROP
- # Definindo regras internas
- # estas regras abaixo permitem a conversação entre servidores dentro do host que rodar o
- # firewall
- iptables -I INPUT -i lo -j ACCEPT
- iptables -I OUTPUT -o lo -j ACCEPT
- # Definindo regras de entrada
- # regra 1: conexões de entrada, protocolo TCP, estabelecidas ou relacionadas, estão OK
- # regra 2: respostas de pings que eu solicitar estão OK
- # regra 3: respostas de "tempo excedido" para pings que eu solicitar estão OK
- # regra 4: respostas de "destino inacessível" que eu solicitar estão OK
- # regra 5: conexões de entrada, protocolo UDP, estabelecidas ou relacionadas, estão OK
- iptables -I INPUT -p tcp -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
- iptables -I INPUT -i eth0 -p icmp --icmp-type echo-reply -j ACCEPT
- iptables -I INPUT -i eth0 -p icmp --icmp-type time-exceeded -j ACCEPT
- iptables -I INPUT -i eth0 -p icmp --icmp-type destination-unreachable -j ACCEPT
- iptables -I INPUT -p udp -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
- # Definindo regras de saída
- # Tem uma regra de saída do protocolo TCP para HTTP, HTTP seguro, SMTP, SMTP com SSL
- # POP, POP com SSL e portas do MSN. Há uma regra em branco, basta preencher se quiser
- # liberar algo além do que já está liberado.
- # Se quiser bloquear alguma coisa que não use, basta comentar ou remover a linha.
- iptables -I OUTPUT -p tcp -o eth0 --dport 80 -j ACCEPT # HTTP
- iptables -I OUTPUT -p tcp -o eth0 --dport 443 -j ACCEPT # HTTPS
- iptables -I OUTPUT -p tcp -o eth0 --dport 25 -j ACCEPT # SMTP
- iptables -I OUTPUT -p tcp -o eth0 --dport 465 -j ACCEPT # SMTPS
- iptables -I OUTPUT -p tcp -o eth0 --dport 110 -j ACCEPT # POP
- iptables -I OUTPUT -p tcp -o eth0 --dport 965 -j ACCEPT # POPS
- iptables -I OUTPUT -p tcp -o eth0 --dport 6891:6901 -j ACCEPT # MSN
- iptables -I OUTPUT -p tcp -o eth0 --dport 1863 -j ACCEPT # MSN
- iptables -I OUTPUT -p tcp -o eth0 --dport 5190 -j ACCEPT # MSN
- iptables -I OUTPUT -p udp -o eth0 --dport 6891:6901 -j ACCEPT # MSN
- iptables -I OUTPUT -p udp -o eth0 --dport 1863 -j ACCEPT # MSN
- iptables -I OUTPUT -p udp -o eth0 --dport 5190 -j ACCEPT # MSN
- iptables -I OUTPUT -p icmp -o eth0 -m state --state NEW,ESTABLISHED -j ACCEPT # ping para fora
- # iptables -I OUTPUT -p (tcp/udp) -o eth0 --dport (portaInício:portaFim/porta) -j ACCEPT
- # Definindo regras do DNS
- # altere o DNS informado para o que você utiliza
- iptables -I OUTPUT -p tcp -o eth0 --dport 53 -d 8.8.8.8 -j ACCEPT
- iptables -I OUTPUT -p tcp -o eth0 --dport 53 -d 8.8.4.4 -j ACCEPT
- iptables -I OUTPUT -p udp -o eth0 --dport 53 -d 8.8.8.8 -j ACCEPT
- iptables -I OUTPUT -p udp -o eth0 --dport 53 -d 8.8.4.4 -j ACCEPT
- # Definindo demais regras
- # Defina aqui outras regras que você possa querer, como regras de tratamento de pacotes.
- }
- stop()
- {
- iptables -F
- iptables -P INPUT ACCEPT
- iptables -P OUTPUT ACCEPT
- iptables -P FORWARD ACCEPT
- }
- reload()
- {
- stop
- start
- }
Advertisement
Add Comment
Please, Sign In to add comment