Auteur Sujet: Conteneur Docker + localhost, problème iptables ?  (Lu 8545 fois)

0 Membres et 1 Invité sur ce sujet

ochbob

  • Abonné Orange Fibre
  • *
  • Messages: 231
  • Beauzelle (31)
Conteneur Docker + localhost, problème iptables ?
« Réponse #12 le: 24 février 2021 à 20:31:23 »
Je pense que je vais migrer en effet, surtout que je compte pas utiliser docker énormément.
Son aspect rootless + daemonless pour 2/3 conteneurs par ci par là, ça sera parfait je pense.

Mais va falloir attendre la sortie de Bullseye ;D (pas dispo sur les backports Buster)

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
Conteneur Docker + localhost, problème iptables ?
« Réponse #13 le: 24 février 2021 à 21:02:56 »
Ca reste quand même très curieux que ca ne fonctionne pas avec Docker. C'est quand meme tres utilisé et ce probleme n'est pas remonté.

Peut-etre fail2ban. y'a quoi dans jail.local ?

ochbob

  • Abonné Orange Fibre
  • *
  • Messages: 231
  • Beauzelle (31)
Conteneur Docker + localhost, problème iptables ?
« Réponse #14 le: 24 février 2021 à 21:31:32 »
Disons que suite au passage de Docker sans iptables et le conteneur en mode host j'ai plus de soucis :D
(J'ai pas testé juste avec le conteneur en mode host et en laissant docker géré iptables, de toute façon je n'aime pas ne pas savoir ce que fait une appli... surtout quand elle touche à iptables... donc c'est pas plus mal comme ça ;D)

Mais ça semble voulu comme indiqué sur la page d'avant:

If you use the host network mode for a container, that container’s network stack is not isolated from the Docker host
Donc sur un mode réseau autre que host pour le conteneur, le conteneur est bien isolé de l'hôte => raison pour laquelle je n'arrivais pas à joindre le conteneur depuis localhost (de l'hôte) et j'arrivais à joindre le conteneur depuis l'extérieur de l'hôte.

En tout cas je le comprends comme ça...

Concernant mon jail.local rien de particulier, quelques jails activé sur ssh/dovecot/proftpd/postfix/etc...
Je n'ai jamais eu de soucis, c'est juste une première avec docker en mode bridge..

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
Conteneur Docker + localhost, problème iptables ?
« Réponse #15 le: 25 février 2021 à 07:01:08 »

If you use the host network mode for a container, that container’s network stack is not isolated from the Docker host
Donc sur un mode réseau autre que host pour le conteneur, le conteneur est bien isolé de l'hôte => raison pour laquelle je n'arrivais pas à joindre le conteneur depuis localhost (de l'hôte) et j'arrivais à joindre le conteneur depuis l'extérieur de l'hôte.

En tout cas je le comprends comme ça...


c'est  le mode host network qui est moins secure en fait. On l'utilise que très rarement. Ce n'est pas le mode par défaut et il est rarement recommandé...ca va un peu a l'encontre du pourquoi Docker existe...

Citer
> raison pour laquelle je n'arrivais pas à joindre le conteneur depuis localhost
Non pas du tout. L'isolation des stacks réseaux n'empêche pas le trafic de passer: il faut juste explicitement préciser quel port entre vers le conteneur et s'il faut le changer (c'est le role de l'option -p X:Y ou la section 'ports' du compose file).
Le trafic est routé et NATé via l'interface Docker0, l'hote se comporte comme un routeur vis a vis a du conteneur. rien de plus.

En mode 'net=host', l'option -p est ignoré, tous ports que le containeur ouvre sont ouverts totalement sur l'hote et peut être en conflit avec un port utilisé par un service de l'hôte lui-même. Ca n'est vraiment pas recommandé.


ochbob

  • Abonné Orange Fibre
  • *
  • Messages: 231
  • Beauzelle (31)
Conteneur Docker + localhost, problème iptables ?
« Réponse #16 le: 02 mars 2021 à 17:07:25 »
Pour mon usage et pour garder une certaine cohérence avec tous le reste qui tourne déjà sur mon serveur, c'est la solution la plus simple finalement.
Franchement tout le stack réseaux de docker (avec les isolation entre conteneur de bases, etc...) je m'en contre fiche, mon but avec docker c'est juste faire tourner l'unique service par conteneur indivudellement, rien de plus (et pas un soucis qu'un conteneur voit un autre)
Si je pouvais me passer de docker je l'aurais fait pour le coup ;D

Dans mon cas mes conteneurs écoute bien sur un unique port que je n'utilise pas déjà (vérifier avec docker inspect), donc pas de conflit possible mais effectivement le risque d'un conflit est possible.

Par contre si effectivement l'isolation des stacks réseaux n'empêche pas le trafic de passer: pourquoi une fois une fois l'option host rajoutée, tout fonctionne bien ?
Il y avait bien une isolation qqpart, à quel niveau, ça, je ne sais pas malheureusement.  :-\


FloBaoti

  • Abonné MilkyWan
  • *
  • Messages: 1 300
  • 34
Conteneur Docker + localhost, problème iptables ?
« Réponse #17 le: 02 mars 2021 à 17:10:20 »
Mais pour quelle raison utiliser Docker alors ? j'ai du mal à comprendre pourquoi utiliser ça, si ça ne fonctionne pas comme on veut.
Moi par exemple, je n'y connaît rien, n'y voit aucun intérêt donc je reste sur de la virtualisation qui fait tout ce dont j'ai besoin.

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
Conteneur Docker + localhost, problème iptables ?
« Réponse #18 le: 02 mars 2021 à 17:33:55 »
Par contre si effectivement l'isolation des stacks réseaux n'empêche pas le trafic de passer: pourquoi une fois une fois l'option host rajoutée, tout fonctionne bien ?
Il y avait bien une isolation qqpart, à quel niveau, ça, je ne sais pas malheureusement.  :-\

Disons que sur un hôte nouvellement installé et propre, Docker marche normalement. Comme sur 99,9% des installations.

C'est ta hôte qui a un truc particulier qui fait que ca ne marche qu'en mode host. On ne sait pas pourquoi du coup. Sans doute un souci du coté d'iptables ou autre chose qui perturbe. L'important c'est que c'est ton cas qui est spécial et pas représentatif de la généralité.

Mais pour quelle raison utiliser Docker alors ? j'ai du mal à comprendre pourquoi utiliser ça, si ça ne fonctionne pas comme on veut.
Moi par exemple, je n'y connaît rien, n'y voit aucun intérêt donc je reste sur de la virtualisation qui fait tout ce dont j'ai besoin.

c'est plus léger qu'une VM , plus rapide a démarrer, plus simple a configurer.
Tout le principe de Docker c'est de partager le même noyau (kernel) et on partitionne (isole) tout le reste au dessus.
On n'a pas d'autre OS a gérer que celui de l'hôte. Et on utilise le même environnement que le développeur de l'application du coup on a moins de souci de compatibilité/versions (on peut par exemple faire tourner une application sur Debian dans un conteneur hébergé sur Ubuntu sans devoir installer, configurer et maintenir une VM Debian complète).




FloBaoti

  • Abonné MilkyWan
  • *
  • Messages: 1 300
  • 34
Conteneur Docker + localhost, problème iptables ?
« Réponse #19 le: 02 mars 2021 à 17:52:00 »
Je connais très bien la théorie sur Docker  ;) Dans la pratique, les avantages sont plus discutables.

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
Conteneur Docker + localhost, problème iptables ?
« Réponse #20 le: 02 mars 2021 à 18:46:44 »
Je connais très bien la théorie sur Docker  ;) Dans la pratique, les avantages sont plus discutables.

Mais pour quelle raison utiliser Docker alors ? j'ai du mal à comprendre pourquoi utiliser ça, si ça ne fonctionne pas comme on veut.
Moi par exemple, je n'y connaît rien, n'y voit aucun intérêt donc je reste sur de la virtualisation qui fait tout ce dont j'ai besoin.

?!  ;D

FloBaoti

  • Abonné MilkyWan
  • *
  • Messages: 1 300
  • 34
Conteneur Docker + localhost, problème iptables ?
« Réponse #21 le: 02 mars 2021 à 18:49:03 »
Je ne connais pas la partie pratique ni le fonctionnement interne ;) par rapport aux problèmes rencontrés dans le topic.
la théorie ça va
Quand je vois les problèmes rencontrés et la quasi impossibilité à débugguer, ça fait peur...

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
Conteneur Docker + localhost, problème iptables ?
« Réponse #22 le: 02 mars 2021 à 19:56:51 »
Quand je vois les problèmes rencontrés et la quasi impossibilité à débugguer, ça fait peur...

ce qui ne marche pas n'est pas a cause de Docker mais de son OS/réseau.

Comme indiqué son cas est exceptionnel , du jamais vu pour moi en tout cas.

Tu peux avoir les mêmes souci avec une VM de toute façon si au niveau de l'hôte iptables et/ou la config réseau ne sont pas clean...
Au niveau debug c'est pareil qu'avec une VM voir même souvent plus simple avec Docker car il n'y a pas 2 stack réseau distinctes (avec une VM et une config tordue tu peux avoir a toucher a iptables dans l'hote et a iptables dans la vm et ca peut vite être la zone).

Bref c'est vraiment pas le cas ou il faut juger Docker sur cet exemple. D'ailleurs de nos jours y'a surement plus de conteneurs que de VM qui tournent dans le monde.

Perso dans son cas je ferais: désinstaller Docker, reset iptables complet, install Docker, lancer son conteneur, tester si tout ok. puis commencer a rajouter les blocages & règles dans iptables et vraiment si nécessaire.

pour la sécurité de base de ssh:
-ne pas mettre ssh sur le port 22 mais un autre port pas commun.
-interdire les accès ssh avec mot de passe (donc autoriser que les accès par clés crypto)
-du coup plus besoin d'utiliser fail2ban

ochbob

  • Abonné Orange Fibre
  • *
  • Messages: 231
  • Beauzelle (31)
Conteneur Docker + localhost, problème iptables ?
« Réponse #23 le: 03 mars 2021 à 22:41:03 »
Mais pour quelle raison utiliser Docker alors ? j'ai du mal à comprendre pourquoi utiliser ça, si ça ne fonctionne pas comme on veut.
Moi par exemple, je n'y connaît rien, n'y voit aucun intérêt donc je reste sur de la virtualisation qui fait tout ce dont j'ai besoin.

Dans mon cas j'utilise docker car je n'ai pas le choix si je veux utiliser certains services (comme Filestash qui n'est proposé qu'en Docker)...
Les devs se mettent de plus en plus à Docker, et ne proposent que du docker  ::) (plus facile pour eux a maintenir j'imagine...)

Mes VMs KVM/QEMU fonctionnent très bien sur ma machine host, je n'ai aucun soucis de la sorte  :-X

J'applique déjà tes points concernant la sécurité SSH mais pour fail2ban, tu serais surpris des @IP qui essayent encore de forcer malgré l'auth par clé.
(Et mon fail2ban me sert pour d'autre services et les alertes mails, je préfère le garder  ;D)

Par contre je testerais en virant docker et en essayant Podman (qui m’a bien donné envie sur le papier vs docker)
Je reviendrais poster mes résultats à la sortie de Bullseye du coup :)