Pourquoi UFW ne bloque-t-il pas les ports qui ont été exposés à l'aide de Docker?

8

J'ai installé quelques règles sur mon ufw mais je pense que ça ne bloque rien. Voici son statut actuel:

~# 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)

Comme vous pouvez le voir, il refuse les connexions entrantes par défaut et n'autorise que certains ports. Mais encore, je viens de configurer un nouveau service sur le port 8083 et je peux y accéder de l'extérieur. Pourquoi en est-il ainsi?

J'ai utilisé un conteneur Docker pour exécuter ce nouveau service, au cas où cela importerait.

Ivan
la source
Pouvez-vous recharger l'UFW? Avez-vous essayé de redémarrer le serveur? Y a-t-il des règles dans iptables? Veuillez ajouteriptables -L
Christopher Perrin
Merci, en regardant la sortie iptables -L, j'ai découvert que docker édite directement les iptables. Je peux remplacer cela en modifiant la configuration du docker
Ivan

Réponses:

6

On dirait

Docker tamponne directement avec IPTables

. Il est possible de remplacer ce comportement en ajoutant --iptables = false au démon Docker.

Modifiez / etc / default / docker et décommentez la ligne DOCKER_OPTS:

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

L'auteur a conclu ce qui suit:

  • UFW ne vous dit pas le vrai état d'iptables (pas choquant, mais quand même).
  • N'utilisez jamais l'option -p (ou -P) dans Docker pour quelque chose que vous ne voulez pas rendre public.
  • Liez uniquement sur l'interface de bouclage ou sur une IP interne.
Ivan
la source