De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Alexis Alves
Data de Publicação: 27 de Outubro de 2004
Neste artigo mostrarei como criar um script de firewall usando iptables para compartilhar a conexao e bloquear servicos de lan como messenger e kaZaa e outros:
Após a criacão deste script salve em "/usr/local/bin" com o nome de blok_firewall como exemplo e mude sua permisão de execução utilizando o comando "chmod a+x blok_firewall" no diretorio salvo. Para o script inicializar junto com a maquina salve em "/etc/rc.d/rc.local":
Utilize um editor de texto de sua preferencia como "vi" ou "mcedit". Caracteres como "#" (cerquilha) indicam comentarios. Para tornar valido retire a "#" quando desejado.
Para executar o script manualmente execute o comando "./blok_firewall" após ter salvo em "/usr/local/bin" e alterado as permissões de execução.
#!/bin/bash ############################################################################# # # # ScripT de Regras de Firewall [ IPTABLES ] # # Autor: Alexis Alves [ alexis.alves@GLOBO.COM ] # # # ############################################################################# #Adicionar em /etc/rc.d/rc.local a #Linha /usr/local/bin/blok_firewall #========================================================================================== # Carrega os m?ulos do IPtables #========================================================================================== modprobe iptables modprobe iptable_nat iptables -F #========================================================================================== #Bloquear pessoas que tentarem enviar qualquer pacotes #com IPs locais, como se fossem de uma rede interna #(Esse c?igo n? ?recomendado para pessoas que utilizem rede local) #========================================================================================== #iptables -A INPUT -s 10.0.0.0/255.0.0.0 -j DROP #iptables -A INPUT -s 172.0.0.0/255.0.0.0 -j DROP #iptables -A INPUT -s 192.0.0.0/255.0.0.0 -j DROP #========================================================================================== #Protege contra pacotes danificados #Portscanners, Ping of Death, ataques DoS, Etc. #========================================================================================== iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT iptables -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP iptables -A FORWARD -m unclean -j DROP #========================================================================================== iptables -N VALID_CHECK iptables -A VALID_CHECK -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP iptables -A VALID_CHECK -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP iptables -A VALID_CHECK -p tcp --tcp-flags ALL ALL -j DROP iptables -A VALID_CHECK -p tcp --tcp-flags ALL FIN -j DROP iptables -A VALID_CHECK -p tcp --tcp-flags SYN,RST SYN,RST -j DROP iptables -A VALID_CHECK -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP iptables -A VALID_CHECK -p tcp --tcp-flags ALL NONE -j DROP #========================================================================================== #Se voc?quiser que o PC tamb? n? responda a ICMP Broadcasting,Ping,synflood #========================================================================================== echo "1" > /proc/sys/net/ipv4/tcp_syncookies echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts #========================================================================================== # Compartilha a conex?, ""eth0** se refere a sua iterface com a internet" #modprobe iptable_nat #========================================================================================== #iptables -t nat -A POSTROUTING -o eth0** -j MASQUERADE #echo 1 > /proc/sys/net/ipv4/ip_forward #========================================================================================== # Abre algumas portas #========================================================================================== #iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT #iptables -A INPUT -p tcp --destination-port 1021 -j ACCEPT #iptables -A INPUT -p tcp --destination-port 1080 -j ACCEPT #========================================================================================== # Abre para a rede local #========================================================================================== #iptables -A INPUT -p tcp --syn -s 192.168.0.0/255.255.255.0 -j ACCEPT #========================================================================================== # Fecha o resto #========================================================================================== #iptables -A INPUT -p tcp --syn -j DROP #========================================================================================== #Em seguida vem as regras para fazer o foward da porta. #Neste caso estou direcionando a porta 22 (do SSH) na conex? com a #internet (eth0) para o micro 192.168.0.2 da rede local: #========================================================================================== #iptables -t nat -A PREROUTING -i etho -p tcp --dport 22 -j DNAT --to-dest 192.168.0.2 #iptables -A FORWARD -p tcp -i eth0 --dport 22 -d 192.168.0.2 -j ACCEPT #========================================================================================== # #Bloqueando servicos P2P e chat # #Bloqueando MSN #iptables -A FORWARD -s LAN* -p tcp --dport 1863 -j REJECT #iptables -A FORWARD -s LAN* -d loginnet.passport.com -j REJECT # *LAN Rede Local #=========================================================================================== #Bloqueando WebMsn #=========================================================================================== #iptables -A FORWARD -s *LAN -d webmessenger.msn.com -j REJECT #=========================================================================================== #*LAN = Rede interna (192.168.0.0/24) #=========================================================================================== #Bloquear IMesh com IPTables: #=========================================================================================== iptables -A FORWARD -d 216.35.208.0/24 -j REJECT #=========================================================================================== #Bloquear Bearshare com IPTables: #=========================================================================================== iptables -A FORWARD -p TCP --dport 6346 -j REJECT #=========================================================================================== #Bloquear ToadNode com IPTables: #=========================================================================================== iptables -A FORWARD -p TCP --dport 6346 -j REJECT #=========================================================================================== #Bloquear WinMX com IPTables: #=========================================================================================== iptables -A FORWARD -d 209.61.186.0/24 -j REJECT iptables -A FORWARD -d 64.49.201.0/24 -j REJECT #=========================================================================================== #Bloquear Napigator com IPTables: #=========================================================================================== iptables -A FORWARD -d 209.25.178.0/24 -j REJECT #=========================================================================================== #Bloquear Morpheus com IPTables: #=========================================================================================== iptables -A FORWARD -d 206.142.53.0/24 -j REJECT iptables -A FORWARD -p TCP --dport 1214 -j REJECT #=========================================================================================== #Bloquear KaZaA com IPTables: #=========================================================================================== iptables -A FORWARD -d 213.248.112.0/24 -j REJECT iptables -A FORWARD -p TCP --dport 1214 -j REJECT #=========================================================================================== #Bloquear Limewire com IPTables: #=========================================================================================== iptables -A FORWARD -p TCP --dport 6346 -j REJECT #=========================================================================================== #Bloquear Audiogalaxy com IPTables: #=========================================================================================== iptables -A FORWARD -d 64.245.58.0/23 -j REJECT #=========================================================================================== #Bloquear AIM com IPTables: #=========================================================================================== iptables -A FORWARD --dport 5190 -j REJECT iptables -A FORWARD -d login.oscar.aol.com -j REJECT #=========================================================================================== #Bloquear ICQ com IPTables: #=========================================================================================== iptables -A FORWARD -p TCP --dport 5190 -j REJECT iptables -A FORWARD -d login.icq.com -j REJECT #=========================================================================================== #Bloquear MSN Messenger com IPTables: #=========================================================================================== iptables -A FORWARD -p TCP --dport 1863 -j REJECT iptables -A FORWARD -d 64.4.13.0/24 -j REJECT #=========================================================================================== #Bloquear Yahoo Messenger com IPTables: #=========================================================================================== iptables -A FORWARD -d cs.yahoo.com -j REJECT iptables -A FORWARD -b scsa.yahoo.com -j REJECT #=========================================================================================== #Bloquear Napster com IPTables #=========================================================================================== iptables -A FORWARD -d 64.124.41.0/24 -j REJECT #===========================================================================================
Sugestões para melhoria ou correção de erros neste script podem ser enviadas para <alexis alves (a) GLOBO COM>.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários