Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 7537|Antwoord: 4

Docker-containers verbieden toegang tot het internet (extranet)

[Link kopiëren]
Geplaatst op 14-12-2022 22:53:18 | | | |
Vereisten: Er is een privé home album-systeem gebouwd met Docker-containers, dat beperkt is tot toegang en weergave op het thuis-LAN, omdat het Docker-image is ontwikkeld door een externe ontwikkelaar, en ik weet niet of het een beveiligingssituatie zal zijnGenereer privacyschendingenOm dit probleem beter op te lossen, willen we een privacygarantie toevoegen door Docker-containers te verbieden toegang te krijgen tot het internet (extern netwerk).

CentOS 7 verbiedt een IP toegang te krijgen tot de server
https://www.itsvse.com/thread-10264-1-1.html

iptables firewall staat alleen toe dat bepaalde IP's toegang krijgen tot bepaalde poorten en specifieke websites
https://www.itsvse.com/thread-2535-1-1.html

CentOS7 View en schakel de firewall uit
https://www.itsvse.com/thread-7771-1-1.html

Dit artikel gebruikt een CentOS7-systeem, Docker-versie: 20.10.20, en gebruikt nginx-images om tests te leveren.

Internettoegang (extranet) is standaard toegestaan

Maak een nieuwe nginx-container aan die webservices biedt die toegankelijk zijn door18080 Poorttoegang, de container kan standaard toegang krijgen tot het internet (extern netwerk), het commando is als volgt:

Betree de container en vraag de resources van deze site aan via het curl-commando, dat normaal kan worden verkregen, zoals weergegeven in de onderstaande figuur:



Docker-containers uitschakelen van internettoegang (extranet)

Eerst moeten we een aangepast netwerk aanmaken via docker en een virtuele netwerkkaart maken, met het volgende commando:



Stel via iptables een regel in op de virtuele NIC om toegang tot het internet te verbieden met het volgende commando:

Ongeacht of de iptables-service beschikbaar is of niet, ongeacht of de firewall is ingeschakeld of niet,IPTables-regels die per commando zijn toegevoegd, gaan onmiddellijk van kracht!!!

Opmerking: Dit plan is passendAls verschillende containers in hetzelfde netwerk aansluiten, kunnen de containers niet met elkaar communiceren!!!!

Bekijk de DOCKER-USER-regel zoals hieronder getoond:



Maak opnieuw een nieuwe nginx-container aan, de container levert de webservice, en de18081 De poort levert diensten aan de buitenwereld, en de container mag geen toegang krijgen tot het internet (publiek netwerk); het commando is als volgt:



We hebben ons doel bereikt, maar,Na het herstarten van de server verdwijnen de regels die we in iptables hebben gemaaktHoe kunnen we automatisch onze aangepaste regels laden nadat de server opnieuw is opgestart?

Het iptables-save-commando wordt gebruikt om de iptables-tabel in de Linux-kernel te exporteren naar een standaard uitvoerleverancier, meestal met behulp van de I/O-omleidingsfunctie in de shell om de uitvoer op te slaan in een opgegeven bestand.

Sla de bestaande iptables-regel op

Voeg de restore iptables-regel toe aan de bootboot, het bootbootbestand is /etc/rc.d/rc.local, bewerk het bestand en voeg aan het einde het volgende commando toe:

Voeg tenslotte de uitvoeringstoestemming toe met het volgende commando:

Nadat de instellingen zijn voltooid, blijven de iptables-regels van kracht, zelfs als de server opnieuw wordt opgestart.

Alle containers in Docker zijn verboden toegang tot het internet (extranet),Niet getest, het commando is als volgt:

(Einde)






Vorig:Het assetbestand "project.assets.json" is niet te vinden. Start NuGet-pakketherstel...
Volgend:BBR vs BBRplus vs BBR2 Algemene netwerksnelheidsvergelijking
Geplaatst op 16-12-2022 21:14:15 |
Leer het
 Huisbaas| Geplaatst op 2-1-2023 17:43:19 |
De zaak is als volgt:

【Practical Combat】Bouw een Gitea privé Git-repository met zachte routering
https://www.itsvse.com/thread-10403-1-1.html


Geplaatst op 7-4-2023 18:55:08 |
Deze functie is erg belangrijk, kom en leer hem
Geplaatst op 21-4-2023 12:00:24 |
Bedankt voor het delen, heb ik geleerd.
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com