Script Iptables para servidor DNS e SSH

Publicado por Marcelo Ferreira 25/06/2009

[ Hits: 9.716 ]

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

BKP Completo Sem compactação (com exclusao)

Adicionando Chaves de Repositórios Facilmente

Remoção de arquivos pela data

Bookmaker.bash 2.0

Script em bash para compilação do kernel 3.3.2 para Ubuntu 11.10 com patch 3.3.0-ck1


  

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