Por que o UFW não bloqueia as portas que foram expostas usando o docker?

7

Eu configurei algumas regras no meu ufw, mas acho que não está bloqueando nada. Este é o seu status atual:

~# ufw status verbose

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22                         ALLOW IN    Anywhere
80                         ALLOW IN    Anywhere
27015:27115/udp            ALLOW IN    Anywhere
27015:27115/tcp            ALLOW IN    Anywhere
22 (v6)                    ALLOW IN    Anywhere (v6)
80 (v6)                    ALLOW IN    Anywhere (v6)
27015:27115/udp (v6)       ALLOW IN    Anywhere (v6)
27015:27115/tcp (v6)       ALLOW IN    Anywhere (v6)

Como você pode ver, está negando conexões de entrada por padrão e permitindo apenas determinadas portas. Mas ainda assim, acabei de configurar um novo serviço na porta 8083 e posso acessá-lo de fora. Por que isso acontece?

Eu usei um contêiner docker para executar este novo serviço, caso isso seja importante.

    
por Ivan 18.06.2016 / 13:05

1 resposta

5

Parece que

Docker tampers directly with IPTables

É possível sobrescrever este comportamento adicionando --iptables = false ao daemon do Docker.

Edite o / etc / default / docker e o remova o comentário da linha DOCKER_OPTS:

DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 --iptables=false"

O autor concluiu o seguinte:

  • UFW doesn’t tell you iptables true state (not shocking, but still).
  • Never use the -p option (or -P) in Docker for something you don’t want to be public.
  • Only bind on either the loopback interface or an internal IP.
    
por 18.06.2016 / 15:10