Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 7537|Respuesta: 4

Prohibición de los contenedores Docker de acceder a Internet (extranet)

[Copiar enlace]
Publicado el 14-12-2022 22:53:18 | | | |
Requisitos: Se construyó un sistema privado de álbumes domésticos usando contenedores Docker, que está limitado al acceso y visualización en la LAN doméstica, porque la imagen Docker está desarrollada por un desarrollador externo, y no sé si será una situación de seguridadGenerar brechas de privacidadPara resolver mejor este problema, queremos añadir una garantía de privacidad prohibiendo que los contenedores Docker accedan a Internet (red externa).

CentOS 7 prohíbe que una IP acceda al servidor
https://www.itsvse.com/thread-10264-1-1.html

El firewall iptables solo permite que ciertas IPs accedan a ciertos puertos y sitios web específicos
https://www.itsvse.com/thread-2535-1-1.html

CentOS7 Visualiza y desactiva el cortafuegos
https://www.itsvse.com/thread-7771-1-1.html

Este artículo utiliza un sistema CentOS7, versión Docker: 20.10.20, y utiliza imágenes nginx para proporcionar pruebas.

El acceso a Internet (extranet) está permitido por defecto

Crea un nuevo contenedor nginx que proporcione servicios web accesibles mediante18080 Acceso al puerto, el contenedor puede acceder a Internet (red externa) por defecto, el comando es el siguiente:

Introduzca el contenedor y solicite los recursos de este sitio mediante el comando curl, que puede obtenerse normalmente, como se muestra en la figura siguiente:



Deshabilitando el acceso a internet de contenedores Docker (extranet)

Primero, necesitamos crear una red personalizada a través de docker y crear una tarjeta de red virtual, con el siguiente comando:



Establezca una regla en la tarjeta virtual de red a través de iptables para prohibir el acceso a Internet con el siguiente comando:

Independientemente de si el servicio iptables está disponible o no, independientemente de si el cortafuegos está activado o no,Las reglas de iptables añadidas por comando entran en vigor inmediatamente!!!

Nota: Este plan es apropiadoSi diferentes contenedores se unen a la misma red, ¡no podrán comunicarse entre sí!!!!

Mira la regla DOCKER-USER que se muestra a continuación:



Crea de nuevo un contenedor nginx, el contenedor proporciona el servicio web, y el18081 El puerto proporciona servicios al exterior, y el contenedor tiene prohibido acceder a Internet (red pública), el comando es el siguiente:



Hemos conseguido nuestro objetivo, pero,Tras reiniciar el servidor, las reglas que creamos en iptables desaparecerán¿Cómo podemos cargar automáticamente nuestras reglas personalizadas después de reiniciar el servidor?

El comando iptables-save se utiliza para exportar la tabla iptables en el núcleo de Linux a un proveedor estándar de salida, normalmente usando la función de redirección de E/S en el shell para guardar su salida en un archivo especificado.

Guardar la regla existente de iptables

Añade la regla de restauración iptables al arranque, el archivo de arranque es /etc/rc.d/rc.local, edita el archivo y añade el siguiente comando al final:

Finalmente, añade el permiso de ejecución con el siguiente comando:

Una vez completadas las configuraciones, las reglas de iptables seguirán vigentes incluso si el servidor se reinicia.

Todos los contenedores en Docker tienen prohibido acceder a Internet (extranet),No probado, el comando es el siguiente:

(Fin)






Anterior:No se puede encontrar el archivo de activos "project.assets.json". Ejecuta la restauración de paquetes NuGet...
Próximo:Comparación general de velocidades de red BBR vs BBRplus vs BBR2
Publicado el 16-12-2022 21:14:15 |
Apréndelo
 Propietario| Publicado el 2023-1-2 17:43:19 |
El caso es el siguiente:

【Combate Práctico】Construye un repositorio privado Git de Gitea con enrutamiento suave
https://www.itsvse.com/thread-10403-1-1.html


Publicado el 7-4-2023 18:55:08 |
Esta función es muy importante, ven y aprendela
Publicado el 2023-4-21 12:00:24 |
Gracias por compartirlo, lo aprendí.
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com