Pessoal, estou criando regras de Iptables para montar um firewall, ainda estou aprendendo, então esou seguindo um livro que comprei sobre iptables e pegando também na internet.
bom criei este firewall que esta em teste, gostaria que os senhores que são mestre no assunto nalalizem se as regras estão coerente.
A principio estou com problema de https, pois não consigo acessar nenhum siste que use https.
Temos aqui 4 redes sendo que 3 delas são Vlans criada em Switch Gerenciaveis.
Vlan2 Rede principal 192.168.0.0/24
Vlan3 wireless 10.0.0.10.0/24
Vlan4 Departamento 192.168.2.0/24
Vlan5 Filial 192.168.3.0/24
Interface eth0: Internet IP Fixo
Interface eth1: rede local 192.168.0.0/24
Segue abaixo o scripit de Firewall
#!/bin/bash
# Compartilha a conexãoi
modprobe iptable_nat
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
####### Limpar Regras ########
iptables -F
iptables -X
iptables -Z
iptables -t filter -F
iptables -t nat -F
iniciar(){
#Abre para a rede local
iptables -A INPUT -p tcp --syn -s 192.168.0.0/24 -j ACCEPT
# Proteções diversas contra 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
#Proteção Contra IP Spoofing
iptables -A INPUT -s 10.0.0.0/8 -i eth0 -j DROP
iptables -A INPUT -s 172.16.0.0/16 -i eth0 -j DROP
iptables -A INPUT -s 192.168.0.0/24 -i eth0 -j DROP
# Bloqueando tracerroute
iptables -A INPUT -p udp -s 0/0 -i eth0 --dport 33435:33525 -j DROP
# libera o loopback
iptables -A OUTPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 -j ACCEPT
# Mesmo assim fechar todas as portas abaixo de 32000
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 32000 -j DROP
# Protecoes contra ataques
iptables -A INPUT -m state --state INVALID -j DROP
# Performance - Setando acesso a web com delay minimo
iptables -t mangle -A OUTPUT -o eth0 -p tcp --dport 53 -j TOS --set-tos Minimize-Delay
iptables -t mangle -A OUTPUT -o eth0 -p tcp --dport 80 -j TOS --set-tos Minimize-Delay
# libera conexoes de fora pra dentro
iptables -A INPUT -p tcp --destination-port 80 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 443 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 25 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 110 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT
#libera conexoes de dentro pra fora:
iptables -A OUTPUT -p tcp --destination-port 80 -j ACCEPT
iptables -A OUTPUT -p tcp --destination-port 22 -j ACCEPT
iptables -A OUTPUT -p tcp --destination-port 25 -j ACCEPT
iptables -A OUTPUT -p tcp --destination-port 110 -j ACCEPT
iptables -A OUTPUT -p tcp --destination-port 443 -j ACCEPT
#Redirecionar Terminal Server
iptables -t nat -A PREROUTING -s 189.47.204.199 -i eth1 -j DNAT --to 192.168.0.4
iptables -t nat -A POSTROUTING -s 189.47.204.199 -o eth1 -p tcp --dport 3389 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.4 -o eth1 -j SNAT --to 189.47.204.199
iptables -t nat -A POSTROUTING -s 192.168.0.4 -o eth1 -p tcp --dport 3389 -j ACCEPT
#Proxy Transparente, para todas as Vlans
iptables -t nat -A PREROUTING -p tcp -s 0/0 --dport 80 -j REDIRECT --to-port 3128
# Fecha o resto
iptables -A INPUT -p tcp --syn -j DROP
echo "Regras de firewall ativadas"
}
parar(){
iptables -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
echo "Regras de firewall desativadas"
}
case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Use os parâmetros start ou stop"
esac
Quem ouder fazer uma analise agradeço muito.
Abraço