martes, 15 de mayo de 2012

Firewall linux centos y RHEL

bueno, otra de mis aventuras en el trabajo ... jejejeje, crear reglas en el firewall, entonces para esto es importante tener el firewall abajo y probar que se tenga acceso a lo que se necesita primero, luego si se desea entonces pues primero que todo agregar el puerto 22 si la conexion se está haciendo remotamente por que es el puerto de ssh (ya me pasó que no lo agregué a las reglas del firewall y entonces me desconectó despues de reiniciar el firewall, jejejeje) y despues si agregar las otras reglas necesarias, aca les dejo una muestra de reglas creadas:

/sbin/iptables -A FORWARD -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

  /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

   /sbin/iptables -A OUTPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

  /sbin/service iptables status

   /sbin/service iptables save

   /sbin/service iptables restart


recomiendo especial cuidado con las palabras FORWARD, OUPUT e INPUT.




algo importante o configuraciones un poco mas detalladas las especifico a continuación (las lineas de # son comentarios):

*filter
#:INPUT ACCEPT [2:80]
#:FORWARD ACCEPT [0:0]
#:OUTPUT ACCEPT [13:876]

#acepta todas las reglas de entrada por la interfaz de loopback (127.0.0.1)
-A INPUT -i lo -j ACCEPT

#acepta todas las reglas de salida por la interfaz de loopback (127.0.0.1)
-A OUTPUT -o lo -j ACCEPT
#acepta todas las solicitudes de PING tanto entrada como salida, es util para el monitoreo y fragmentacion de paquetes
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT
-A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
-A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
-A INPUT -p icmp --icmp-type echo-reply -j ACCEPT

#acepta la conexion por el puerto 22 ssh para poder conectarse remotamente
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 14243 -m state --state NEW -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 14244 -m state --state NEW -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 14245 -m state --state NEW -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 42424 -m state --state NEW -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 42425 -m state --state NEW -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 42426 -m state --state NEW -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 42427 -m state --state NEW -j ACCEPT

#acepta conexion por el puerto 3306 usado por mysql
-A INPUT -p tcp -m tcp --dport 3306 -m state --state NEW -j ACCEPT
# se pueden colocar rangos de puertos como en este caso, tiene un rango de puertos abiertos para entrada
-A INPUT -p tcp -m tcp --dport 14243:14499 -m state --state NEW -j ACCEPT
-A INPUT -p tcp -m tcp --dport 42424:42699 -m state --state NEW -j ACCEPT

#dice que las conexiones que han sido establecidas con OUT se aceptan como seguras
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

#se abre un puerto especifico diferencia sport (source port) dport (destination port)
-A OUTPUT -p tcp -m tcp --dport 12586 -m state --state NEW -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 12586 -m state --state NEW -j ACCEPT

(permite aceptar las conexiones que han salido)
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#elimina todas las conexiones de entrada o solicitudes de puertos que no han sido abiertos
-A INPUT -j DROP

COMMIT
# Completed on Thu Jul  5 16:00:14 2012
 

No hay comentarios:

Publicar un comentario

Agradezco el interes en el tema, estaré atento para poder leer su comentario.