você está aqui: Home  → Arquivo de Mensagens

Compartilhando a Internet e Bloqueando servicos de sua Lan

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
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>#
  #                                                                           #
  #     ScripT de Regras de Firewall [ IPTABLES ]                             #
  #     Autor: Alexis Alves [ alexis.alves@GLOBO.COM ]                        #
  #                                                                           #
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>#
  #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>.



Veja a relação completa dos artigos de Alexis Alves

 

 

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script