abra iptables dentro de la red docker-compose y un servidor externo

abra iptables dentro de la red docker-compose y un servidor externo

Estoy intentando implementar un sistema usando Docker Compose que contiene el servidor MySQL. El servidor se comparte entre los contenedores acoplables de la misma red.

Necesito acceder a la base de datos mysql desde un servidor externo específico en nuestra red, así que publiqué el puerto mysql (3306) dentro del archivo de redacción de la ventana acoplable.

Pero por motivos de seguridad, quiero bloquear cualquier otra IP que intente acceder a este puerto.

Probé muchas reglas de iptables y todas bloquearon contenedores dentro de Docker-Compose o permitieron que otros servidores accedieran al puerto.

PD: Todos cambiaré los permisos de usuario dentro del servidor MySQL, pero bloquear el puerto es lo primero que queremos hacer.

Respuesta1

Puede configurar las entradas de iptables en la tabla DOCKER-USER. Esto se hace fuera de la ventana acoplable. Por ejemplo, si le preocupan las solicitudes en la interfaz eth0 al puerto 3306 desde cualquier red que no sea 10.0.0.0/24:

iptables -I DOCKER-USER -i eth0 ! -s 10.0.0.0/24 -p tcp \
  -m conntrack --ctorigdstport 3306 -j DROP

Tenga en cuenta que conntrackse necesita el puerto de destino original de seguimiento de conexión en lugar de una regla de puerto tcp normal para manejar las reglas NAT y la asignación de puertos.

información relacionada