jorjaop
(usa CentOS)
Enviado em 29/03/2014 - 11:14h
Bom dia a todos.
Implantei um servidor de e-mail exim, que funciona perfeitamente, porem na hora de implantar o firewall ele para de receber e enviar e-mail para outros dominios. Sem firewall funciona normalmente.
#!/bin/bash
#description:Firewall - Servidor Email
#
#chkconfig: 2345 80 30
#processname:Firewall
iniciar(){
#Protege contra IP spoofing
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
#Portas IN
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -p udp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 26 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -p tcp --dport 135 -j ACCEPT
iptables -A INPUT -p tcp --dport 139 -j ACCEPT
iptables -A INPUT -p tcp --dport 143 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p udp --dport 445 -j ACCEPT
iptables -A INPUT -p tcp --dport 465 -j ACCEPT
iptables -A INPUT -p tcp --dport 587 -j ACCEPT
iptables -A INPUT -p tcp --dport 593 -j ACCEPT
iptables -A INPUT -p tcp --dport 993 -j ACCEPT
iptables -A INPUT -p tcp --dport 995 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
#Portas OUT
iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT
iptables -A OUTPUT -p udp --dport 25 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 26 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 110 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 135 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 139 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 143 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -p udp --dport 445 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 465 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 587 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 593 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 993 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 995 -j ACCEPT
#portas cpanel
iptables -A INPUT -p tcp --dport 2082 -j ACCEPT
iptables -A INPUT -p tcp --dport 2083 -j ACCEPT
iptables -A INPUT -p tcp --dport 2086 -j ACCEPT
iptables -A INPUT -p tcp --dport 2087 -j ACCEPT
iptables -A INPUT -p tcp --dport 2095 -j ACCEPT
iptables -A INPUT -p tcp --dport 2096 -j ACCEPT
#Libera acesso SSH para meus IP
iptables -A INPUT -s XXX.XXX.XXX.XXX -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s XXX.XXX.XXX.XXX -p tcp --dport 22 -j ACCEPT
#Orienta o firewall a deixar passar os pacotes enviados atravéda interface de loopback
iptables -A INPUT -i lo -j ACCEPT
# Ignora pings:
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
iptables -A INPUT -p tcp --syn -j DROP
#Descarta pacotes mal formados
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -p tcp -j DROP
#Bloqueia as portas UDP de 0 a 1023
iptables -A INPUT -p udp -j DROP
iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
echo "Regras de firewall ativadas"
}
parar(){
iptables -F
iptables -t nat -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
echo 0 > /proc/sys/net/ipv4/ip_forward
echo "Regras de firewall desativadas"
}
case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Use os parâtros start ou stop ou restart"
esac