Es muy común que la gente simplemente desactive IPtables en lugar de averiguar qué puertos abrir. Tengo que admitir que yo mismo lo he hecho. Bueno, tenemos que parar eso. IPtables es nuestro amigo, de verdad. Para ello, aquí está el cuerpo de un script que puede utilizar para configurar IPtables.

# Puertos del servidor Couchbase DB
iptables -A INPUT -p tcp -m estado -state NEW -m tcp -dport 4369 -j ACCEPT
iptables -A INPUT -p tcp -m estado -state NEW -m tcp -dport 8091 -j ACCEPT
iptables -A INPUT -p tcp -m estado -state NEW -m tcp -dport 8092 -j ACCEPT
iptables -A INPUT -p tcp -m estado -state NEW -m tcp -dport 11209 -j ACCEPT
iptables -A INPUT -p tcp -m estado -state NEW -m tcp -dport 11210 -j ACCEPT
iptables -A INPUT -p tcp -m estado -state NEW -m tcp -dport 11211 -j ACCEPT
iptables -A INPUT -p tcp -m estado -state NEW -m tcp -dport 11214 -j ACCEPT
iptables -A INPUT -p tcp -m estado -state NEW -m tcp -dport 11215 -j ACCEPT
iptables -A INPUT -p tcp -m estado -state NEW -m tcp -dport 18091 -j ACCEPT
iptables -A INPUT -p tcp -m estado -state NEW -m tcp -dport 18092 -j ACCEPT

iptables -A INPUT -p tcp -m estado -state NEW -m tcp -dport 21100:21199 -j ACCEPT
 

# Puertos sync_gateway de Couchbase
iptables -A INPUT -p tcp -m estado -state NEW -m tcp -dport 4984 -j ACCEPT

# Si desea abrir la interfaz de administración del servicio sync_gateway al tráfico exterior:
iptables -A INPUT -p tcp -m estado -state NEW -m tcp -dport 4985 -j ACCEPT

# Cuando termine de añadirlos, deberá ejecutar los dos comandos siguientes para asegurarse de que el REJECT es
al final de la cadena. De lo contrario, las cosas no funcionarán. El primero lo borra y el segundo lo vuelve a añadir.
# El motivo es que, de lo contrario, tendríamos que entrar en los números de línea de la cadena y eso sería más difícil de explicar.
si no está familiarizado con IPTables.

iptables -D INPUT -j REJECT -reject-with icmp-host-prohibited
iptables -A INPUT -j REJECT -reject-with icmp-host-prohibited???

 

Comprueba que están todos correctamente ejecutando como root iptables --list. Debería tener este aspecto:

# iptables -list
Cadena INPUT (política ACCEPT)
target prot opt source destination         
ACCEPT all - anywhere anywhere state RELATED,ESTABLISHED 
ACCEPT icmp - en cualquier lugar en cualquier lugar            
ACEPTAR todo - en cualquier lugar            
ACCEPT tcp - anywhere anywhere state NUEVO tcp dpt:ssh 
ACCEPT tcp - anywhere anywhere state NUEVO tcp dpt:epmd 
ACCEPT tcp - anywhere anywhere state NUEVO tcp dpt:jamlink 
ACCEPT tcp - anywhere anywhere state NUEVO tcp dpt:8092 
ACCEPT tcp - anywhere anywhere state NUEVO tcp dpt:11209 
ACCEPT tcp - anywhere anywhere state NUEVO tcp dpt:11210 
ACCEPT tcp - anywhere anywhere state NEW tcp dpt:memcache 
ACCEPT tcp - anywhere anywhere state NUEVO tcp dpt:11214 
ACCEPT tcp - anywhere anywhere state NUEVO tcp dpt:11215 
ACCEPT tcp - anywhere anywhere state NUEVO tcp dpt:18091 
ACCEPT tcp - anywhere anywhere state NUEVO tcp dpt:18092 
ACCEPT tcp - anywhere anywhere state NUEVO tcp dpt:webyast
REJECT all - anywhere anywhere reject-with icmp-host-prohibited

Cadena FORWARD (política ACCEPT)
target prot opt source destination         
REJECT all - anywhere anywhere reject-with icmp-host-prohibited 

Cadena OUTPUT (política ACCEPT)
target prot opt source destination

Sólo recuerda guardar esta configuración una vez que la tengas en su lugar (service iptables guardar). Además, necesita confirmar que el RECHAZO para la cadena de ENTRADA está al final. De lo contrario rechazará cualquier tráfico a los puertos listados debajo de ese REJECT.

Recuerda que se trata únicamente de la seguridad del servidor local. Esto no NO sustituir a un cortafuegos de red o a los grupos de seguridad/red de AWS ACL. Debería utilizar ambas.

Si desea obtener más información sobre los puertos de red, consulte la página Documentación de Couchbase Admin o la documentación de Couchbase mobile.

No hay garantías, expresas o implícitas en esta entrada del blog, para IPTables o estos ajustes. Tienes que hacer tu propia diligencia cuando se trata de la seguridad de tu sistema. Así que usa el sentido común, por favor.

Autor

Publicado por Kirk Kirkconnell, Ingeniero Superior de Soluciones, Couchbase

Kirk Kirkconnell fue Ingeniero Senior de Soluciones en Couchbase trabajando con clientes en múltiples capacidades para ayudarles en la arquitectura, despliegue y gestión de Couchbase. Su experiencia se centra en operaciones, alojamiento y soporte de aplicaciones a gran escala e infraestructuras de bases de datos.

1 Comentarios

  1. ¿Cuáles serían los scripts para Windows Server?
    Gracias

Dejar una respuesta