
Берём под контроль безопасность контейнеров
Это OWASP Docker Top 10. Это документ в процессе разработки.
В этом документе описаны 10 наиболее важных пунктов по безопасности для построения безопасной контейнеризированной среды. Вы можете использовать его как спецификацию, если начинаете с нуля, либо передать его подрядчику, который сделает это за вас.
Его также можно использовать для аудита или повышения безопасности существующей установки, но особенно здесь вам стоит задуматься о безопасности как можно раньше. Лучше всего — на этапе проектирования. Позже изменить некоторые принятые решения станет сложно или дорого — в денежном или временном выражении.
Хотя название документа похоже на OWASP Top 10, оно довольно сильно отличается. Во-первых, речь здесь не о рисках, основанных на собранных данных, как в OWASP Top 10. Во-вторых, эти 10 пунктов представляют собой (упреждающие) меры контроля.
Это руководство предназначено для разработчиков, аудиторов, архитекторов, системных и сетевых инженеров. Как указано выше, вы также можете использовать это руководство для внешних подрядчиков, чтобы добавить формальные технические требования в ваш контракт. Сотрудник по информационной безопасности также должен проявить интерес к соблюдению базовых требований безопасности и не только.
Эти 10 пунктов в основном (см. ниже) касаются безопасности систем и сетей, а также архитектуры систем и сетей. Как разработчик вам не обязательно быть экспертом в этом — для этого и существует данное руководство. Но, как указано выше, лучше всего начинать думать об этих пунктах и заниматься ими как можно раньше. Пожалуйста, не начинайте просто строить всё сразу.
Один из пунктов не следует понимать превратно: управление исправлениями — это не технический пункт, а процесс управления. И последнее, но не менее важное: для технических руководителей и руководителей по информационной безопасности, которых не слишком беспокоила контейнеризация, этот документ также даёт представление о связанных с ней рисках.
Безопасность в средах Docker часто понимается неправильно. Вопрос о том, какими должны быть угрозы, был и остаётся предметом острых споров. Поэтому прежде чем перейти к пунктам Docker Top 10, необходимо смоделировать угрозы, что и делается в начале документа. Это не только помогает понять влияние на безопасность, но и даёт возможность расставить приоритеты в ваших задачах.
Пожалуйста, обратитесь к CONTRIBUTING.md. Чтобы упростить работу над открытыми пунктами, отправляйте свои pull request в соответствующие ветви разработки (D06_dev, D07_dev, ...).
Вы можете самостоятельно собрать PDF-версию, если у вас установлены Docker и docker-compose.
docker-compose run --rm build
Она не часто обновляется в этом репозитории, так как иначе засоряла бы его.
Хотя в названии этого проекта присутствует слово «Docker», его с небольшой абстракцией можно использовать и для других решений изоляции. Docker на данный момент является самым популярным из них, поэтому подробности сейчас сосредоточены именно на Docker. В будущем это может измениться.
Если вы запускаете на сервере более трёх контейнеров, у вас, вероятно, есть решение для оркестрации, чтобы управлять ими. Конкретные проблемы безопасности такого инструмента в настоящее время выходят за рамки этого документа. Это не означает, что это руководство касается только одного или нескольких контейнеров, управляемых вручную — как раз наоборот. Это означает лишь то, что мы рассматриваем контейнеры, включая их сети и хост-системы, в такой среде с оркестрацией, а не особые проблемы, например, Kubernetes, Swarm, Rancher или OKD/OpenShift.
Честно говоря, для нас, людей, число 10 звучит броско, и при составлении этого списка именно эти десять пунктов были признаны наиболее важными.