- Establezca la política predeterminada para denegar todo. (
iptables -P INPUT DENY
)
- Permitir ICMP
- Agregue las reglas mínimas requeridas para los servicios que necesita.
Si tiene puertos que solo usan las máquinas locales, establezca reglas de permiso para esa combinación de puerto y rango de IP solamente.
iptables -A INPUT -p tcp --dport 80 -s 192.168.1.0/24 -j ACCEPT
El tráfico de salida también necesita reglas (permitir consultas de DNS, permitir que los servicios respondan a las conexiones, etc.). Usar reglas relacionadas / establecidas puede ayudar con esto. Incluso entre los cortafuegos bloqueados, permitir que todo el tráfico saliente por simplicidad sea común.
Si tiene tiempo, un caso ideal aunque laborioso sería utilizar SELinux para restringir aún más las cosas, por ejemplo, permitiendo que las bibliotecas de resolución de DNS consulten DNS, etc.
En cuanto a la "protección de un puerto abierto" que se reduce a configurar el software escuchándolo correctamente y garantizando que se solucionen los problemas de seguridad dentro de él.