Reikalavimai: Privati namų albumų sistema buvo sukurta naudojant "Docker" konteinerius, kurie apsiriboja prieiga ir peržiūra namų LAN, nes "Docker" vaizdą sukūrė trečiosios šalies kūrėjas, ir nežinau, ar tai bus saugumo situacijaGeneruokite privatumo pažeidimusNorėdami geriau išspręsti šią problemą, norime pridėti privatumo garantiją, uždrausdami "Docker" konteineriams prisijungti prie interneto (išorinio tinklo).
Šiame straipsnyje naudojama CentOS7 sistema, Docker versija: 20.10.20, ir testams pateikti naudojami nginx vaizdai.
Interneto prieiga (ekstranetas) leidžiama pagal numatytuosius nustatymus
Sukurkite naują nginx konteinerį, kuriame teikiamos žiniatinklio paslaugos, kurias galima pasiekti18080 Prieiga prie prievado, konteineris pagal numatytuosius nustatymus gali pasiekti internetą (išorinį tinklą), komanda yra tokia:
Įveskite konteinerį ir paprašykite šios svetainės išteklių naudodami komandą curl, kurią galima gauti įprastai, kaip parodyta paveikslėlyje žemiau:
"Docker" konteinerių prieigos prie interneto išjungimas (ekstranetas)
Pirmiausia turime sukurti pasirinktinį tinklą per docker ir sukurti virtualią tinklo plokštę su šia komanda:
Nustatykite taisyklę virtualiame NIC per iptables, kad uždraustumėte prieigą prie interneto naudodami šią komandą:
Nepriklausomai nuo to, ar iptables paslauga yra prieinama, ar ne, nepriklausomai nuo to, ar ugniasienė įjungta, ar ne,"iptables" taisyklės, pridėtos komanda, įsigalioja nedelsiant!!!
Pastaba: Šis planas yra tinkamasJei skirtingi konteineriai prisijungs prie to paties tinklo, konteineriai negalės bendrauti tarpusavyje!!!!
Pažvelkite į DOCKER-USER taisyklę, kaip parodyta toliau:
Dar kartą sukurkite naują nginx konteinerį, konteineris teikia žiniatinklio paslaugą ir18081 Uostas teikia paslaugas išoriniam pasauliui, o konteineriui draudžiama prisijungti prie interneto (viešojo tinklo), komanda yra tokia:
Mes pasiekėme savo tikslą, betIš naujo paleidus serverį, "iptables" sukurtos taisyklės išnyksKaip galime automatiškai įkelti pasirinktines taisykles paleidus serverį iš naujo?
Komanda iptables-save naudojama eksportuoti "Linux" branduolio lentelę "iptables" į standartinį išvesties tiekėją, paprastai naudojant apvalkalo įvesties / išvesties peradresavimo funkciją, kad išsaugotų jos išvestį nurodytame faile. Išsaugokite esamą iptables taisyklę
Pridėkite atkūrimo iptables taisyklę prie įkrovos įkrovos, įkrovos įkrovos failas yra /etc/rc.d/rc.local, redaguokite failą ir pabaigoje pridėkite šią komandą:
Galiausiai pridėkite vykdymo leidimą naudodami šią komandą:
Baigus nustatymus, iptables taisyklės vis tiek įsigalios, net jei serveris bus paleistas iš naujo.
Visiems "Docker" konteineriams draudžiama prisijungti prie interneto (ekstraneto),Neišbandyta, komanda yra tokia:
(Pabaiga)
|