lcspimentel
(usa Debian)
Enviado em 28/09/2014 - 00:27h
Ola pessoal... sou novo na comunidade e meio leigo em linux ainda. Por isso queria à opinião de vocês sobre um script no qual eu criei pois não é lá grande coisa comparado aos que eu já vi. Por isso toda crítica é bem vinda!!
Obrigado pela atenção de todos.
Segue o script abaixo:
#!bin/bash
#
#iptables script created by: pimentel
#
#echo "iniciando regras do firewall"
#limpando tabelas
iptables -F -t filter
iptables -F -t nat
iptables -F -t mangle
#
#alterando politicas
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP
iptables -X -t filter
iptables -X -t nat
iptables -X -t mangle
#
#ativando loopback
iptables -A INPUT -i lo -j ACCEPT
#
iptables -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED, RELATED -j ACCEPT
#ativando modulos de segurança no kernel
echo "1" >/proc/sys/net/ipv4/conf/all/rp_filter
echo "1" >/proc/sys/net/ipv4/tcp_syncookies
echo "1" >/proc/sys/net/ipv4/ip_forward
echo "1" >/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo "1" >/proc/sys/net/ipv4/ip_always_defrag
#
#compartilhando web com a rede interna
iptables -t nat -A POSTROUTING -s 0.0.0.0/24 -o eth0 -j MASQUERADE
#
#liberando acesso a HTTP e FTP para web
iptables -I INPUT -p tcp -d 0.0.0.0/24 --dport 80 -j ACCEPT
iptables -I INPUT -p tcp -d 0.0.0.0/24 --dport 20 -j ACCEPT
iptables -I INPUT -p tcp -d 0.0.0.0/24 --dport 21 -j ACCEPT
#
#liberando acesso interno da rede
iptables -I INPUT -p tcp --syn -s 0.0.0.0/24 --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --syn -s 0.0.0.0/24 --dport 20 -j ACCEPT
iptables -I INPUT -p tcp --syn -s 0.0.0.0/24 --dport 21 -j ACCEPT
#
#redirecionamento de porta
iptables -A FORWARD -s 0.0.0.0/24 -p tcp -m multiport 80,20,21 -j DNAT --to 0.0.0.0
#proteçoes contra ataques
#bloqueia pacotes nao identificados que entram na rede
iptables -A INPUT -m state --state INVALID -j DROP
#
#protecao contra syn flood
iptables -A FORWARD -p tcp --syn -m limit 5/s -j ACCEPT
#
#bloqueia ping de um ip
iptables -A INPUT -p icmp -s 0.0.0.0/24 -j DROP
#
#protecao contra ping da morte
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
#
#bloqueando endereços
iptables -A INPUT -s 0.0.0.0/24
#
#bloqueia pacotes fragmentados
iptables -i eth2 -m unclean -j log_unclean
iptables -A INPUT -f -i eth2 -j log_fragment
#
#bloqueando endereço mac
iptables -A INPUT -m -mac --mac-source XX:XX:XX:XX:XX:XX -j DROP