Script Iptables para servidor DNS e SSH

Publicado por Marcelo Ferreira 25/06/2009

[ Hits: 9.714 ]

Download rotas.sh




Este script ativa o Iptables permitindo o acesso exclusivo aos serviços de DNS(porta 53 tcp/udp) e SSH(porta 22 tcp).

O script também ativa as seguintes proteções:
- Proteção Contra IP Spoofing
- Proteção contra Syn-floods(tempo de resposta para pacotes)
- Port scanners ocultos
- Proteção contra ping da morte
- Proteção Contra IP Spoofing para Rede Local

  



Esconder código-fonte

# Criado em 11/07/2008 por Marcelo Ferreira - marceferreira@hotmail.com
# Alterado em 24/06/2009 por Marcelo Ferreira - marceferreira@hotmail.com
#
#!/bin/bash

###################
echo "Criando variaveis"
IPLOCAL="10.12.4.15"
IPDAREDE="10.12.4.0/22"
ETHLOCAL="eth0"

###################
echo "****************************@@@@@@@@@@@**************************************"
echo "Criando regras para comunicacao internet e intranet, Servidor DNS e SSH "
echo "****************************@@@@@@@@@@@**************************************"

###################
echo "Proteção Contra IP Spoofing"
for i in /proc/sys/net/ipv4/conf/*/rp_filter; do
    echo 1 >$i
done
    
###################
# Zerar tabelas iptables
iptables -F
    
###################
echo "Define politica da cadeia(bloqueio padrao para INPUT)"
iptables -P INPUT DROP
iptables -P FORWARD DROP
# REGRA PARA EXECUTAR APLICACOES LOCAIS
iptables -A INPUT -i lo -j ACCEPT
# Aceita pacotes que ja estabelecerao conexao ( Statefull)
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

###################
# Relacao de portas
# 22      - ssh
# 53      - dns-bind
    
###################
echo "REGRAS PARA PACOTES DE ENTRADA NO SERVIDOR"
iptables -A INPUT -p icmp -j DROP
iptables -A INPUT -p tcp -s $IPDAREDE -d $IPLOCAL --dport 22 -i $ETHLOCAL -j ACCEPT
iptables -A INPUT -p tcp -s $IPDAREDE -d $IPLOCAL --dport 53 -i $ETHLOCAL -j ACCEPT
iptables -A INPUT -p udp -s $IPDAREDE -d $IPLOCAL --dport 53 -i $ETHLOCAL -j ACCEPT
    
###################
echo "REGRAS PARA OTIMIZAR NAT"
iptables -A FORWARD -s $IPDAREDE -j ACCEPT
iptables -A FORWARD -d $IPDAREDE -j ACCEPT
    
###################
echo "Proteção contra Syn-floods(tempo de resposta para pacotes)"
iptables -A FORWARD -p tcp --syn -m limit --limit 2/s -j ACCEPT
    
###################
echo "Port scanners ocultos"
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
    
###################
echo "Proteção contra ping da morte"
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
    
###################
echo "Proteção Contra IP Spoofing para Rede Local"
iptables -A INPUT -s $IPDAREDE -i ! $ETHLOCAL -j DROP
iptables -A INPUT ! -s $IPDAREDE -i $ETHLOCAL -j DROP

Scripts recomendados

RwlampControle

Nsupdate português

Despertador em Shell Script

Script Iniciador do PostgreSQL

Bookmaker.bash 2.0


  

Comentários
[1] Comentário enviado por messiah em 02/08/2013 - 00:05h

Valeu pelo script @marceferreira. Estou começando a apreender sobre redes e iptables, por isso minhas dúvidas serão básicas.

1 - notei que você não adicionou nenhuma política para o OUTPUT, isto é seguro? O output não restringe possíveis saidas não desejadas de dados?
2 - Talvez você auxilie em uma grande dúvida: o Forward é o redirecionamento de pacotes, portanto se eu uso uma estação de trabalho dentro da rede que a penas acessa um roteador eu poderia simplesmente Dropar todos os pacotes da rede? Excluindo assim, as seguintes regras:

###################
echo "REGRAS PARA OTIMIZAR NAT"
iptables -A FORWARD -s $IPDAREDE -j ACCEPT
iptables -A FORWARD -d $IPDAREDE -j ACCEPT

###################
echo "Proteção contra Syn-floods(tempo de resposta para pacotes)"
iptables -A FORWARD -p tcp --syn -m limit --limit 2/s -j ACCEPT

###################
echo "Port scanners ocultos"
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT





Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts