Zahteve: Zasebni domači album sistem je bil zgrajen z uporabo Docker kontejnerjev, ki je omejen na dostop in ogled na domačem LAN-u, ker je Dockerjeva slika razvita s strani tretjega razvijalca, in ne vem, ali bo to varnostna situacijaUstvarjanje kršitev zasebnostiDa bi to težavo bolje rešili, želimo dodati garancijo zasebnosti z prepovedjo dostopa do interneta (zunanjega omrežja) Docker kontejnerjev.
Ta članek uporablja sistem CentOS7, Docker različica: 20.10.20, in uporablja nginx slike za izvajanje testov.
Dostop do interneta (ekstranet) je privzeto dovoljen
Ustvarite nov nginx vsebnik, ki zagotavlja spletne storitve, do katerih lahko dostopajo18080 Pri dostopu do vrat lahko kontejner privzeto dostopa do interneta (zunanjega omrežja), ukaz je naslednji:
Vnesite vsebnik in zahtevajte vire tega mesta preko ukaza curl, ki ga lahko dobite običajno, kot je prikazano na spodnji sliki:
Onemogočanje Dockerjevih kontejnerjev za dostop do interneta (ekstranet)
Najprej moramo ustvariti prilagojeno omrežje preko dockerja in virtualno omrežno kartico z naslednjim ukazom:
Nastavite pravilo na virtualni omrežni karti preko iptables, ki prepoveduje dostop do interneta z naslednjim ukazom:
Ne glede na to, ali je storitev iptables na voljo ali ne, ne glede na to, ali je požarni zid vklopljen ali ne,Pravila iptables, dodana z ukazom, začnejo veljati takoj!!!
Opomba: Ta načrt je primerenČe se različni kontejnerji povežejo v isto omrežje, kontejnerji med seboj ne bodo mogli komunicirati!!!!
Poglejte pravilo DOCKER-USER, kot je prikazano spodaj:
Ponovno ustvarite nov nginx kontejner, kontejner zagotavlja spletno storitev, in18081 Pristanišče zagotavlja storitve zunanjemu svetu, kontejnerju pa je prepovedan dostop do interneta (javnega omrežja), ukaz pa je naslednji:
Dosegli smo svoj cilj, vendar,Po ponovnem zagonu strežnika pravila, ki smo jih ustvarili v iptables, izginejoKako lahko samodejno naložimo naša prilagojena pravila po ponovnem zagonu strežnika?
Ukaz iptables-save se uporablja za izvoz tabele iptables v jedru Linuxa standardnemu proizvajalcu izhodov, običajno z uporabo funkcije preusmeritve vhodno/izhodnih operacij v lupini za shranjevanje izhoda v določeno datoteko. Shrani obstoječe pravilo iptables
Dodajte pravilo restore iptables v zagonski zagon, zagonska datoteka je /etc/rc.d/rc.local, uredite datoteko in na koncu dodajte naslednji ukaz:
Na koncu dodajte dovoljenje za izvajanje z naslednjim ukazom:
Ko so nastavitve končane, pravila iptables še vedno začnejo veljati, tudi če se strežnik ponovno zažene.
Vsem kontejnerjem v Dockerju je prepovedan dostop do interneta (ekstranet),Ni testirano, ukaz je naslednji:
(Konec)
|