Követelmények: Egy privát otthoni albumrendszert építettek Docker konténerekkel, amely csak az otthoni LAN-on való hozzáférésre és megtekintésre korlátozódik, mert a Docker képet egy harmadik féltől származó fejlesztő fejlesztette, és nem tudom, biztonsági helyzet lesz-eAdatvédelmi incidensek generálásaEnnek a problémának a jobb megoldása érdekében szeretnénk magánéleti garanciát adni azzal, hogy megtiltjuk a Docker konténereknek az internethez (külső hálózathoz) való hozzáférést.
Ez a cikk egy CentOS7 rendszert használ, Docker verzió: 20.10.20, és nginx képeket használ a tesztekhez.
Az internet-hozzáférés (extranet) alapértelmezés szerint engedélyezett
Hozzon létre egy új nginx konténert, amely webes szolgáltatásokat biztosít, amelyeket18080 Porthozzáférés, a konténer alapértelmezés szerint hozzáfér az internethez (külső hálózathoz), a parancs a következő:
Lépj be a konténerbe, és kérd az oldal erőforrásait a curl parancs segítségével, amely normálisan elérhető, ahogy az alábbi ábrán látható:
Docker konténerek internet-hozzáférésének letiltása (extranet)
Először egyedi hálózatot kell létrehoznunk a docker-en keresztül, és létre kell hoznunk egy virtuális hálózati kártyát a következő parancsval:
Állíts be egy szabályt a virtuális NIC-en az iptables segítségével, hogy megtiltsd az internethez való hozzáférést a következő parancssal:
Függetlenül attól, hogy elérhető-e az iptables szolgáltatás, függetlenül attól, hogy a tűzfal be van kapcsolva vagy sem,Parancs által hozzáadott iptables szabályok azonnal lépnek hatályba!!!
Megjegyzés: Ez a terv megfelelőHa különböző konténerek csatlakoznak ugyanahhoz a hálózathoz, a konténerek nem fognak tudni kommunikálni egymással!!!!
Nézze meg a DOCKER-USER szabályt, ahogy az alábbiakban látható:
Létrehozz újra egy új nginx konténert, a konténer biztosítja a webszolgáltatást, és a18081 A port szolgáltatásokat nyújt a külvilágnak, és a konténer nem fér hozzá az internethez (nyilvános hálózathoz), a parancs a következő:
Elértük a célunkat, de,A szerver újraindítása után az iptable-ban létrehozott szabályok eltűnnekHogyan tölthetjük be automatikusan a testreszabott szabályainkat, miután a szerver újraindított?
Az iptables-save parancsot arra használják, hogy exportálják a Linux magban lévő iptables táblát egy szabványos kimeneti szolgáltatóhoz, általában a shell I/O átirányítási funkciójával a kimenetet egy meghatározott fájlba menti. Mentsd meg a meglévő iptables szabályt
Hozzáadjuk a restore iptables szabályt a boot boothoz, a boot boot fájl /etc/rc.d/rc.local, szerkeszted a fájlt, és add hozzá a következő parancsot a végére:
Végül a végrehajtási engedélyt a következő parancshoz csatoljuk:
A beállítások befejezése után az iptables szabályai akkor is érvényesek, ha a szervert újraindítják.
Minden Docker konténer tilos az internethez (extranethez) való hozzáférést,Nem tesztelve, a parancs a következő:
(Vége)
|