abra iptables dentro da rede docker-compose e um servidor externo

abra iptables dentro da rede docker-compose e um servidor externo

Estou tentando implantar um sistema usando docker compose que contém o servidor mysql. O servidor é compartilhado entre os contêineres docker na mesma rede.

Preciso acessar o banco de dados mysql de um servidor externo específico em nossa rede, então publiquei a porta mysql (3306) no arquivo docker compose.

Mas por questão de segurança quero bloquear qualquer outro ip que tente acessar esta porta.

Eu tentei muitas regras de iptables e todas elas bloquearam contêineres dentro do docker-compose ou permitiram que outros servidores acessassem a porta.

ps: Vou alterar as permissões do usuário no servidor mysql, mas bloquear a porta é a primeira coisa que queremos fazer.

Responder1

Você pode configurar as entradas iptables na tabela DOCKER-USER. Isso é feito fora do docker. Por exemplo, se você estiver preocupado com solicitações na interface eth0 para a porta 3306 de qualquer rede diferente de 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

Observe que conntracka porta de destino original da trilha de conexão é necessária em vez de uma regra de porta tcp normal para lidar com as regras NAT e o mapeamento de portas.

informação relacionada