viernes, 5 de diciembre de 2014

Configuracion de IPTABLES

[root@fircentos6 bin]#vim reglas-basicas.sh
# Reglas para Firewall
todas=0/0
netext=eth0
netint=eth1
redint=11.11.11.1/24

ipfirewall=192.168.1.54

#Limpiando reglas:
/sbin/iptables -F INPUT
/sbin/iptables -F FORWARD
/sbin/iptables -F OUTPUT
/sbin/iptables -F -t nat

#Forward entre paquetes del Firewall
echo 1 > /proc/sys/net/ipv4/ip_forward

/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT ACCEPT

/sbin/iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

# Acepto cadenas de entrada que vengan de conexiones establecidas
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Aceptando todo el trafico de la red privada hacia internet
/sbin/iptables -A FORWARD -i $netint -o $netext -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# Aceptando cadenas de entradas que vengan con conexiones establecidas
/sbin/iptables -A FORWARD -i $netext -o $netint -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A INPUT -s $redint -j ACCEPT
/sbin/iptables -A INPUT -p icmp -m state --state NEW,ESTABLISHED,RELATED --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

# Drop invalid packets.
/sbin/iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
/sbin/iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,FIN SYN,FIN              -j DROP
/sbin/iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,RST SYN,RST              -j DROP
/sbin/iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,RST FIN,RST              -j DROP
/sbin/iptables -A INPUT -p tcp -m tcp --tcp-flags ACK,FIN FIN                  -j DROP
/sbin/iptables -A INPUT -p tcp -m tcp --tcp-flags ACK,URG URG                  -j DROP
/sbin/iptables -A INPUT -p tcp -m tcp --syn -j REJECT
/sbin/iptables -A INPUT -p udp -m udp -j REJECT

# Aceptando Administracion Remota conexion SSH (cualquier puerto ejm. 45683)
#/sbin/iptables -A INPUT -m tcp -p tcp --dport 45683 -m state --state NEW,ESTABLISHED -j ACCEPT
/sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 45683 -j ACCEPT
# en caso de Output DROP
#/sbin/iptables -A OUTPUT -m tcp -p tcp --sport 45683 -m state --state ESTABLISHED -j ACCEPT

# Habilitando el NAT - General of MASQUERADE
/sbin/iptables -t nat -A POSTROUTING -s $redint -j MASQUERADE

# Haciendo PROXY TRANSPARENTE
/sbin/iptables -A OUTPUT -p tcp --sport 3128 -d $redint -j ACCEPT
#/sbin/iptables -A OUTPUT -p tcp --sport 3129 -d $redint -j ACCEPT

/sbin/iptables -t nat -A PREROUTING -i $netint -p tcp --dport 80 -j REDIRECT --to-port 3128
/sbin/iptables -t nat -A PREROUTING -i $netint -p tcp --dport 443 -j REDIRECT --to-port 3129