Vaatimukset: Yksityinen kotialbumijärjestelmä rakennettiin käyttäen Docker-kontteja, jotka rajoittuvat pääsyyn ja katseluun kotiverkon LAN-verkossa, koska Docker-kuva on kolmannen osapuolen kehittäjän kehittämä, enkä tiedä, onko kyseessä turvallisuustilanneLuo yksityisyyden loukkauksiaTämän ongelman ratkaisemiseksi haluamme lisätä yksityisyyden takuun estämällä Docker-kontteja pääsemästä Internetiin (ulkoiseen verkkoon).
Tässä artikkelissa käytetään CentOS7-järjestelmää, Docker-versio: 20.10.20, ja nginx-kuvia testien tekemiseen.
Internet-yhteys (extranet) on oletuksena sallittu
Luo uusi nginx-kontti, joka tarjoaa verkkopalveluita, joihin voi päästä käsiksi18080 Porttikäyttö, kontti pääsee oletuksena Internetiin (ulkoiseen verkkoon), komento on seuraava:
Syötä säiliö ja pyydä tämän sivuston resurssit curl-komennolla, joka on normaalisti saatavilla kuten alla olevassa kuvassa näkyy:
Docker-konttien pääsyn estäminen internetiin (extranet)
Ensiksi meidän täytyy luoda oma verkko dockerin kautta ja luoda virtuaalinen verkkokortti seuraavalla komennolla:
Aseta virtuaaliselle NIC:lle sääntö iptablesin kautta, joka estää pääsyn Internetiin seuraavalla komennolla:
Riippumatta siitä, onko iptables-palvelu saatavilla vai ei, riippumatta siitä, onko palomuuri päällä vai ei,iptables-säännöt, jotka lisätään komennolla, astuvat voimaan välittömästi!!!
Huomautus: Tämä suunnitelma on sopivaJos eri kontit liittyvät samaan verkkoon, kontit eivät pysty kommunikoimaan keskenään!!!!
Katso alla olevaa DOCKER-USER-sääntöä:
Luo uusi nginx-kontti uudelleen, kontti tarjoaa verkkopalvelun, ja18081 Satama tarjoaa palveluita ulkomaailmalle, ja konttia ei saa käyttää Internetiin (julkiseen verkkoon), komento on seuraava:
Olemme saavuttaneet tavoitteemme, mutta,Kun palvelimen käynnistetään uudelleen, iptablesissa luomamme säännöt katoavatMiten voimme automaattisesti ladata omat sääntömme palvelimen uudelleenkäynnistyksen jälkeen?
iptables-save -komentoa käytetään iptables-taulun vientiin Linux-ytimessä tavanomaiselle lähtötoimittajalle, yleensä käyttäen shellin I/O-ohjaustoimintoa tallentaakseen sen ulostulon tiettyyn tiedostoon. Tallenna olemassa oleva iptables-sääntö
Lisää restore iptables -sääntö käynnistysohjelmaan, käynnistystiedosto on /etc/rc.d/rc.local, muokkaa tiedostoa ja lisää seuraava komento loppuun:
Lopuksi lisää suoritusoikeus seuraavalla komennolla:
Kun asetukset on valmis, iptables-säännöt astuvat voimaan, vaikka palvelin käynnistettäisiin uudelleen.
Kaikki Dockerin kontit ovat kiellettyjä käyttämästä Internetiä (extranet),Ei testattu, komento on seuraava:
(Loppu)
|