问题: MySQL 端口 3306 已开放并可供公众访问。我想关闭它。
防火墙状态
$ sudo firewall-cmd --state
running
$ sudo firewall-cmd --zone=public --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: ssh dhcpv6-client https http
ports: 80/tcp 443/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
$ nmap IP
Starting Nmap 7.70
..cut..
Host is up (0.47s latency).
Not shown: 994 filtered ports
PORT STATE SERVICE
22/tcp closed ssh
80/tcp open http
443/tcp open https
3306/tcp open mysql
为什么端口 3306 开放?为什么默认情况下端口不关闭?
答案1
所以我明白了。
端口 3306 暴露了码头工人和docker 绕过典型的 iptables 规则。 嗯是的。
解决方案是更改docker-composer.yml
配置
ports:
- 3306:3306
到
expose:
- 3306