Назад | Перейти на главную страницу

Брандмауэр Centos7 не блокирует порты по умолчанию

Проблема: Порт 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? Почему по умолчанию порты не закрыты?

Вот и разобрался.

Порт 3306 был открыт с докер и docker обходит типичные правила iptables. Так что да.

Решением было изменить docker-composer.yml конфигурация из

ports:
 - 3306:3306

к

expose:
 - 3306

где expose не будет открывать порт публично, только для других контейнеров.