Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 7537|Risposta: 4

Vietare ai container Docker di accedere a Internet (extranet)

[Copiato link]
Pubblicato il 14-12-2022 22:53:18 | | | |
Requisiti: È stato costruito un sistema privato di album domestico utilizzando container Docker, limitato all'accesso e alla visualizzazione sulla LAN domestica, perché l'immagine Docker è sviluppata da uno sviluppatore terzo, e non so se sarà una situazione di sicurezzaGenera violazioni della privacyPer risolvere meglio questo problema, vogliamo aggiungere una garanzia di privacy vietando ai container Docker di accedere a Internet (rete esterna).

CentOS 7 impedisce a un IP di accedere al server
https://www.itsvse.com/thread-10264-1-1.html

Il firewall iptables consente solo a determinati IP di accedere a determinate porte e siti web specifici
https://www.itsvse.com/thread-2535-1-1.html

Visualizza CentOS7 e disattiva il firewall
https://www.itsvse.com/thread-7771-1-1.html

Questo articolo utilizza un sistema CentOS7, versione Docker: 20.10.20, e utilizza immagini nginx per fornire test.

L'accesso a Internet (extranet) è consentito di default

Crea un nuovo container nginx che fornisca servizi web accessibili tramite18080 Accesso alla porta, il container può accedere a Internet (rete esterna) di default, il comando è il seguente:

Inserisci il contenitore e richiedi le risorse di questo sito tramite il comando curl, che può essere ottenuto normalmente, come mostrato nella figura sottostante:



Disabilitazione dei container Docker dall'accesso a internet (extranet)

Per prima cosa, dobbiamo creare una rete personalizzata tramite docker e creare una scheda di rete virtuale, con il seguente comando:



Stabilisci una regola sulla scheda virtuale tramite iptables per vietare l'accesso a Internet con il seguente comando:

Indipendentemente dal fatto che il servizio iptables sia disponibile o meno, indipendentemente dal fatto che il firewall sia attivato o meno,Le regole iptables aggiunte tramite comando entrano in vigore immediatamente!!!

Nota: Questo piano è appropriatoSe contenitori diversi si uniscono alla stessa rete, i contenitori non potranno comunicare tra loro!!!!

Guarda la regola DOCKER-USER come mostrato di seguito:



Crea di nuovo un nuovo container nginx, il container fornisce il servizio web, e il18081 La porta fornisce servizi al mondo esterno e il container è vietato dall'accesso a Internet (rete pubblica), il comando è il seguente:



Abbiamo raggiunto il nostro obiettivo, ma,Dopo aver riavviato il server, le regole che abbiamo creato in iptables sparisconoCome possiamo caricare automaticamente le nostre regole personalizzate dopo che il server è stato riavviato?

Il comando iptables-save viene utilizzato per esportare la tabella iptables nel kernel Linux a un fornitore standard di output, solitamente utilizzando la funzione di reindirizzamento I/O nella shell per salvarne l'output in un file specificato.

Salva la regola iptables esistente

Aggiungi la regola di restore iptables all'avvio di avvio, il file di avvio è /etc/rc.d/rc.local, modifica il file e aggiungi il seguente comando alla fine:

Infine, aggiungi il permesso di esecuzione con il seguente comando:

Dopo aver completato le impostazioni, le regole iptables continueranno a entrare in vigore anche se il server viene riavviato.

Tutti i container in Docker sono vietati dall'accesso a Internet (extranet),Non testato, il comando è il seguente:

(Fine)






Precedente:Il file degli asset "project.assets.json" non può essere trovato. Esegui NuGet package restore...
Prossimo:Confronto generale della velocità di rete BBR vs BBRplus vs BBR2
Pubblicato il 16-12-2022 21:14:15 |
Imparalo
 Padrone di casa| Pubblicato il 2023-1-2 17:43:19 |
Il caso è il seguente:

【Combattimento Pratico】Crea un repository Git privato Gitea con routing soft
https://www.itsvse.com/thread-10403-1-1.html


Pubblicato il 7-4-2023 18:55:08 |
Questa funzione è molto importante, vieni a impararla
Pubblicato il 21-04-2023 12:00:24 |
Grazie per aver condiviso, ho imparato.
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com