
Entendiendo la seguridad de contenedores
Este es el OWASP Docker Top 10. Es un trabajo en curso.
Este documento describe los 10 puntos de seguridad más importantes para construir un entorno containerizado seguro. Puedes usarlo como una hoja de especificaciones si empiezas desde cero, o bien entregárselo a un contratista que lo hará por ti.
También puede usarse para auditar o asegurar una instalación existente, pero especialmente aquí deberías empezar a pensar en la seguridad muy pronto. Lo mejor es en la fase de diseño. Más adelante resulta difícil cambiar algunas decisiones que hayas tomado o se vuelven costosas, en términos de dinero o tiempo.
Aunque el nombre del documento se asemeja al OWASP Top 10, es bastante diferente. Primero, no se trata de riesgos basados en datos recopilados como el OWASP Top 10. En segundo lugar, los 10 puntos aquí se asemejan a controles (proactivos).
Esta guía es para desarrolladores, auditores, arquitectos, ingenieros de sistemas y de redes. Como se indicó anteriormente, también puedes usar esta guía para contratistas externos y añadir requisitos técnicos formales a tu contrato. El responsable de seguridad de la información también debería tener cierto interés para cumplir con los requisitos de seguridad de referencia y más allá.
Estos 10 puntos tratan principalmente (ver más abajo en este párrafo) sobre seguridad de sistemas y redes y arquitectura de sistemas y redes. Como desarrollador no tienes que ser un experto en esos temas — para eso está esta guía. Pero como se indicó anteriormente, lo mejor es empezar a pensar y abordar estos puntos pronto. Por favor, no te limites a empezar a construir.
Uno de los puntos no debe malinterpretarse: la gestión de parches no es un punto técnico. Es un proceso de gestión. Por último, pero no menos importante, para la gestión técnica o de seguridad de la información que no ha estado muy preocupada por la containerización, este documento también proporciona información sobre los riesgos involucrados.
La seguridad en entornos Docker a menudo parecía malinterpretada. Fue/es un
tema muy discutido cuáles se supone que son las amenazas. Así que antes de
profundizar en los puntos del Docker Top 10, las amenazas deben modelarse, lo
cual se hace al principio de este documento. No solo ayuda a comprender
cualquier impacto de seguridad, sino que también te brinda la capacidad de
priorizar tus tareas.
Consulta CONTRIBUTING.md. Para facilitar las contribuciones a los puntos abiertos, envía tus PRs contra las ramas de desarrollo correspondientes (D06_dev, D07_dev, ...).
Puedes crear tu propia versión en PDF siempre que tengas Docker y docker-compose instalados.
docker-compose run --rm build
No se actualiza con frecuencia en este repositorio, ya que de lo contrario obstruye este repo.
Aunque el nombre de este proyecto lleva la palabra "Docker", también puede usarse con poca abstracción para otras soluciones de contención. Docker es, por ahora, el más popular, por lo que los detalles en profundidad se centran por ahora en Docker. Esto podría cambiar más adelante.
Si ejecutas más de 3 contenedores en un servidor, probablemente tengas una solución de orquestación para gestionarlos. Las trampas de seguridad específicas de una herramienta de este tipo están actualmente fuera del alcance de este documento. Eso no significa que esta guía solo se refiera a uno o unos pocos contenedores gestionados manualmente — todo lo contrario. Significa únicamente que estamos viendo los contenedores, incluyendo sus redes y sus sistemas host, en un entorno tan orquestado y no las trampas especiales de, por ejemplo, Kubernetes, Swarm, Rancher u OKD/OpenShift.
Para ser honestos, para nosotros los humanos el número 10 suena atractivo y, mientras lo reuníamos todo, se consideró que esos 10 eran los más importantes.