¡Hola chicos! :-) .
Necesito (¿varios?) consejos de usted sobre la configuración de mi iptables. Soy bastante nuevo en iptables, y esta es la primera vez que configuro un servidor con iptables SÓLO como firewall (no tenemos dinero ni tiempo para configurar un firewall "verdadero" por adelantado).
Me gustaría conectarme a mi servidor a través de SSH únicamente desde Specific.location.com.
Por lo tanto, configuro las siguientes reglas en INPUT:
target in out source destination
ACCEPT lo any localhost anywhere
ACCEPT any any specific.location.com myserver.local tcp dpt:ssh
Mis políticas predeterminadas son:
INPUT DROP
FORWARD DROP
OUTPUT ACCEPT
Con esta primera configuración, pude conectarme a mi servidor, pero no pude acceder al exterior (como google.com) y la conexión fue muy lenta.
Entendí que mi firewall no tenía ninguna regla que incluyera el estado "ESTABLECIDO" de un paquete. De hecho, supongo que mis paquetes pudieron salir, pero no se les permitió regresar...
Entonces agregué esta regla:
target in out source destination
ACCEPT any any anywhere anywhere state ESTABLISHED
Ahora todo funciona de maravilla, puedo acceder al exterior desde el servidor, la conexión es muy rápida como antes y solo puedo acceder a mi servidor en SSH desdespecific.location.com.
Mi única pregunta es que necesito sus consejos, ¿es una configuración limpia? No encuentro ningún ejemplo como este en Internet, así que me pregunto...
¿O simplemente cometí un ENORME fallo de seguridad?
Gracias por su ayuda chicos :-)
Respuesta1
Canónicamente, esa regla ESTABLECIDA en realidad está RELACIONADA, ESTABLECIDA. Sin embargo, no afectará a SSH ni a HTTP(S); la diferencia es que RELATION también abarca lo que sontécnicamentenuevas conexiones, pero están relacionadas con una existente, como en las comunicaciones de canal de datos FTP o las respuestas de eco ICMP.
En general, lo que has hecho aquí está bien.