Meu firewall
Publicado por Matheus 27/10/2006
[ Hits: 7.154 ]
Homepage: http://www.facebook.com/zipmatheus
Super completo, com muito recursos (baseado no iptables), baseado em outros firewalls e com alguns pequenos ajustes, vale à pena conferir.
#!/bin/bash ################################################################# #****************************Ziper_linux************************# # # # Autor: Ziper_linux zip_linux@hotmail.com # # se for alterar favor colocar meu nome como base # # # # Agradecimentos: MNB # # Ch3m0nZ # # www.vivaolinux.com.br # # # ################################################################# echo "Iniciando firewall:" # variaveis ENT="ppp0" # Edite esta variável de acordo com sua interface de conecção. Pt='printf ===' # carregando os modulos modprobe ip_tables modprobe iptable_nat #Limpando regras e politicas. iptables -F iptables -X $Pt # Drop source routed packets echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route # Seta entrada de pings e resposta à 1 por segundo, para evitar DoS. iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT iptables -A INPUT -p icmp --icmp-type echo-reply -m limit --limit 1/s -j RETURN #Ativando syn cookies, proteção no kernel. echo 1 > /proc/sys/net/ipv4/tcp_syncookies # Don't accept ICMP redirect messages echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects $Pt # Don't send ICMP redirect messages echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects # Enable source address spoofing protection echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter # Protege contra os ataques do tipo "Syn-flood, DoS, etc" iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT $Pt # Protege contra port scanners avançados. iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT # Proteção Contra IP Spoofing. iptables -A INPUT -s 10.0.0.0/8 -i $ENT -j DROP iptables -A INPUT -s 172.16.0.0/16 -i $ENT -j DROP iptables -A INPUT -s 192.168.0.0/24 -i $ENT -j DROP #Bloqueando Multicast iptables -A INPUT -s 224.0.0.0/8 -d 0/0 -j DROP iptables -A INPUT -s 0/0 -d 224.0.0.0/8 -j DROP $Pt # Protege contra todos os pacotes danificados e ou suspeitos. iptables -A INPUT -m unclean -j DROP # Bloqueando traceroute. iptables -A INPUT -p udp -s 0/0 -i $ENT --dport 33435:33525 -j DROP # Protecoes contra ataques diversos. iptables -A INPUT -m state --state INVALID -j DROP # Performance - Setando acesso a web com delay minimo(aumentando a prioridade para determinada porta) iptables -t mangle -A OUTPUT -o $ENT -p tcp --dport 1863 -j TOS --set-tos Minimize-Delay #papo no msn em "tempo real" iptables -t mangle -A OUTPUT -o $ENT -p tcp --dport 80 -j TOS --set-tos Minimize-Delay $Pt # Proteção contra ssh brute force - criar um "rejeite-e-logue-SSH-brute-force" iptables -N REJECT-SSSSH iptables -A REJECT-SSSSH -j DROP -m recent --rcheck --name SSSSH --seconds 60 --hitcount 10 iptables -A REJECT-SSSSH -j LOG --log-prefix SSH-Bruteforce: iptables -A REJECT-SSSSH -j REJECT -p tcp --reject-with tcp-reset iptables -A REJECT-SSSSH -j REJECT #Bloqueando acesso para o X Server. iptables -A INPUT -p tcp -i $ENT --dport 5999:6003 -j DROP iptables -A INPUT -p udp -i $ENT --dport 5999:6003 -j DROP iptables -A INPUT -p tcp -i $ENT --dport 7100 -j DROP #Bloqueando acesso a algumas portas frequentemente atacadas por hackers desinformados. iptables -A INPUT -p tcp -i $ENT --dport 139 -j DROP iptables -A INPUT -p udp -i $ENT --dport 139 -j DROP iptables -A INPUT -p tcp -i $ENT --dport 135 -j DROP iptables -A INPUT -p udp -i $ENT --dport 135 -j DROP # Responde pacotes icmp especificados e rejeita o restante iptables -A INPUT -i $ENT -p icmp --icmp-type host-unreachable -j ACCEPT iptables -A INPUT -i $ENT -p icmp --icmp-type source-quench -j ACCEPT iptables -A INPUT -i $ENT -p icmp -j REJECT --reject-with icmp-host-unreachable $Pt # libera o loopback. iptables -I INPUT -i lo -j ACCEPT iptables -I OUTPUT -o lo -j ACCEPT iptables -I INPUT -i ! lo -s 127.0.0.0/255.0.0.0 -j DROP #Barrando SSH (porta 4632) #iptables -A INPUT -p TCP --dport 4632 -j DROP #Barrando VNC iptables -A INPUT -p TCP --dport 5901 -j DROP #nessus iptables -A INPUT -p tcp --destination-port 1241 -j ACCEPT #Liberando socks iptables -A OUTPUT -p tcp --sport 1024:5999 --dport 1080:1080 -m state --state NEW -j ACCEPT #Liberando SSH (porta 4632) iptables -A INPUT -p tcp --destination-port 4632 -j ACCEPT #Abrindo interface lo iptables -A INPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 -j ACCEPT #Liberando pacotes que realmente devem estabelecer conexão. iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT #Liberar Apache na porta 8080 iptables -A INPUT -p tcp --destination-port 8080 -j ACCEPT #iptables -A FORWARD -j ACCEPT -p tcp --dport 8080 #Liberar acesso http (www) iptables -A OUTPUT -p tcp --sport 1024:5999 --dport 80:80 -m state --state NEW -j ACCEPT iptables -A OUTPUT -p tcp --sport 1024:5999 --dport 8080:8080 -m state --state NEW -j ACCEPT #Liberando MSN iptables -A OUTPUT -p tcp --sport 1024:5999 --dport 1863:1863 -m state --state NEW -j ACCEPT #Liberando ping externo local p internet #iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT #Liberando conexão (P2P Gnutela) #iptables -A OUTPUT -p tcp --sport 0:65535 --dport 6346:6346 -m state --state NEW -j ACCEPT #Liberando conexão (P2P aMule) iptables -A INPUT -p tcp --destination-port 4662 -j ACCEPT iptables -A FORWARD -j ACCEPT -p tcp --dport 4672 #Liberando Azureus #iptables -A INPUT -p tcp --destination-port 6881 -j ACCEPT #iptables -A FORWARD -j ACCEPT -p tcp --dport 6881 echo == echo 'Firewall rodando!' # good luck.
Ferramenta para o CBQ - parte 1
Script para gravar DVD, gera imagem e grava na mídia
Testa a conexão com a internet e se não tem reinicia o pc.
bash: função para validação de IP (IPv4)
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Alguém já usou o framework Avalonia para desenvolver interfaces de usu... (4)
Ajuda Pra Melhoria do NFTABLES. (8)
Sinto uma leve lentidão ao arrastar, miniminizar e restauras as janela... (2)
Pastas da raiz foram para a área de trabalho [RESOLVIDO] (7)