Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 7537|Répondre: 4

Interdiction des conteneurs Docker d’accéder à Internet (extranet)

[Copié le lien]
Publié le 14-12-2022 à 22:53:18 | | | |
Exigences : Un système d’album domestique privé a été construit avec des conteneurs Docker, qui est limité à l’accès et à la visualisation sur le réseau local domestique, car l’image Docker est développée par un développeur tiers, et je ne sais pas si ce sera une situation de sécuritéGénérer des violations de la vie privéePour mieux résoudre ce problème, nous souhaitons ajouter une garantie de confidentialité en interdisant aux conteneurs Docker d’accéder à Internet (réseau externe).

CentOS 7 interdit à une IP d’accéder au serveur
https://www.itsvse.com/thread-10264-1-1.html

Le pare-feu iptables ne permet que certaines IP d’accéder à certains ports et sites web spécifiques
https://www.itsvse.com/thread-2535-1-1.html

Vue de CentOS7 et désactive le pare-feu
https://www.itsvse.com/thread-7771-1-1.html

Cet article utilise un système CentOS7, version Docker : 20.10.20, et utilise des images nginx pour fournir des tests.

L’accès à Internet (extranet) est autorisé par défaut

Créer un nouveau conteneur nginx qui fournit des services web accessibles par18080 Accès au port, le conteneur peut accéder à Internet (réseau externe) par défaut, la commande est la suivante :

Entrez dans le conteneur et demandez les ressources de ce site via la commande curl, qui peut être obtenue normalement, comme montré dans la figure ci-dessous :



Désactiver l’accès à Internet des conteneurs Docker (extranet)

Tout d’abord, nous devons créer un réseau personnalisé via docker et créer une carte réseau virtuelle, avec la commande suivante :



Fixez une règle sur la carte réseau virtuelle via iptables pour interdire l’accès à Internet avec la commande suivante :

Que le service iptables soit disponible ou non, que le pare-feu soit activé ou non,Les règles iptables ajoutées par commande prennent effet immédiatement!!!

Note : Ce plan est appropriéSi différents conteneurs rejoignent le même réseau, ils ne pourront pas communiquer entre eux !!!!

Regardez la règle DOCKER-USER comme illustrée ci-dessous :



Créez à nouveau un nouveau conteneur nginx, le conteneur fournit le service web, et le18081 Le port fournit des services au monde extérieur, et le conteneur n’a pas accès à Internet (réseau public), la commande est la suivante :



Nous avons atteint notre objectif, mais,Après avoir redémarré le serveur, les règles que nous avons créées dans iptables disparaissentComment pouvons-nous charger automatiquement nos règles personnalisées après le redémarrage du serveur ?

La commande iptables-save sert à exporter la table iptables dans le noyau Linux vers un fournisseur de sortie standard, généralement en utilisant la fonction de redirection d’E/S dans le shell pour enregistrer sa sortie dans un fichier spécifié.

Sauvegarder la règle iptables existante

Ajoutez la règle de restauration iptables au démarrage, le fichier de démarrage est /etc/rc.d/rc.local, modifiez le fichier, et ajoutez la commande suivante à la fin :

Enfin, ajoutez la permission d’exécution avec la commande suivante :

Une fois les paramètres terminés, les règles iptables resteront en vigueur même si le serveur est redémarré.

Tous les conteneurs dans Docker sont interdits d’accès à Internet (extranet),Non testé, la commande est la suivante :

(Fin)






Précédent:Le fichier d’actifs « project.assets.json » est introuvable. Lancer NuGet package restore...
Prochain:Comparaison générale des vitesses réseau BBR vs BBRplus vs BBR2
Publié le 16-12-2022 à 21:14:15 |
Apprends-le
 Propriétaire| Publié le 2023-1-2 17:43:19 |
Le cas est le suivant :

【Combat Pratique】Construis un dépôt Git privé Gitea avec un routage logiciel
https://www.itsvse.com/thread-10403-1-1.html


Publié le 07-04-2023 à 18:55:08 |
Cette fonctionnalité est très importante, venez la découvrir
Publié le 2023-04-21 à 12:00:24 |
Merci de partager, j’ai appris.
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com