Wymagania: Prywatny system albumów domowych został zbudowany przy użyciu kontenerów Docker, który jest ograniczony do dostępu i przeglądania w domowej sieci LAN, ponieważ obraz Dockera jest tworzony przez dewelopera zewnętrznego i nie wiem, czy będzie to kwestia bezpieczeństwaGenerowanie naruszeń prywatnościAby lepiej rozwiązać ten problem, chcemy dodać gwarancję prywatności, zakazując kontenerom Dockerów dostępu do Internetu (sieci zewnętrznej).
Ten artykuł wykorzystuje system CentOS7, wersja Docker: 20.10.20, oraz wykorzystuje obrazy nginx do przeprowadzania testów.
Domyślnie dozwolony jest dostęp do Internetu (extranet)
Stwórz nowy kontener nginx, który dostarcza usługi sieciowe dostępne przez18080 Dostęp do portu, kontener domyślnie może uzyskać dostęp do Internetu (sieci zewnętrznej), a polecenie brzmi następująco:
Wprowadź kontener i zażądaj zasobów tej strony za pomocą polecenia curl, które można uzyskać normalnie, jak pokazano na poniższym rysunku:
Wyłączanie dostępu do internetu kontenerów Dockerów (extranet)
Najpierw musimy utworzyć niestandardową sieć za pomocą Dockera i wirtualną kartę sieciową, wykonując następujące polecenie:
Ustaw regułę na wirtualnej NIC-ie przez iptables, aby uniemożliwić dostęp do Internetu za pomocą następującego polecenia:
Niezależnie od tego, czy usługa iptables jest dostępna, niezależnie od tego, czy zapora sieciowa jest włączona, czy nie,Zasady iptables dodane przez polecenie zaczynają obowiązywać natychmiast!!!
Uwaga: Ten plan jest odpowiedniJeśli różne kontenery dołączą do tej samej sieci, nie będą mogły się ze sobą komunikować!!!!
Spójrz na regułę DOCKER-USER, jak pokazano poniżej:
Ponownie tworząc nowy kontener nginx, kontener dostarcza usługę sieciową, a18081 Port świadczy usługi dla świata zewnętrznego, a kontener nie ma dostępu do Internetu (sieci publicznej), polecenie brzmi następująco:
Osiągnęliśmy nasz cel, ale,Po restarcie serwera reguły, które stworzyliśmy w iptables, zniknąJak możemy automatycznie załadować nasze niestandardowe reguły po restarcie serwera?
Polecenie iptables-save służy do eksportu tabeli iptables w jądrze Linuksa do standardowego dostawcy wyjściowego, zwykle wykorzystując funkcję przekierowania I/O w powłoce, aby zapisać wynik do określonego pliku. Zapisz istniejącą regułę iptables
Dodaj regułę restore iptables do bootu, plik boot to /etc/rc.d/rc.local, edytuj plik i na końcu dodaj następujące polecenie:
Na koniec dodaj uprawnienia do wykonania za pomocą następującego polecenia:
Po zakończeniu ustawień reguły iptables nadal wejdą w życie, nawet jeśli serwer zostanie zrestartowany.
Wszystkie kontenery w Dockerze mają zakaz dostępu do Internetu (extranetu),Nie testowane, polecenie brzmi następująco:
(Koniec)
|