28 lines
2.8 KiB
Plaintext
28 lines
2.8 KiB
Plaintext
|
6.1 Docker
|
|||
|
https://blog.aquasec.com/docker-security-best-practices
|
|||
|
- Помните, что при использовании FROM наследуются все проблемы исходного имиджа
|
|||
|
- Нельзя хардкодить credentials внутри имиджей - для управления такими вещами следует использовать
|
|||
|
соответствующие решения
|
|||
|
- Следует помнить, что контейнеры - это не секьюрити-решение и все контейнеры и сам демон бегут
|
|||
|
от рута и соответственно, есть возможность повышения привилегий и выхода за пределы контейнера
|
|||
|
https://blog.trailofbits.com/2019/07/19/understanding-docker-container-escapes/ - хорошим вариантом
|
|||
|
будет настройка профиля AppArmor для защиты основной системы на уровне ядра.
|
|||
|
- Обратите внимание на сложность и большое количество абстракций
|
|||
|
- Проверяйте образы, скачанные с dockerhub, не доверяйте вслепую
|
|||
|
- Ограничивайте доступные ресурсы для контейнеров
|
|||
|
- Необходимо использовать SECCOMP для ограничения доступа
|
|||
|
- Необходимо периодически мониторить активность конетйнеров
|
|||
|
- Необходимы правила менеджмента жизненных циклов контейнеров
|
|||
|
- Контейнеры должны находиться на отдельном разделе
|
|||
|
- Необходима грамотная настройка сети для контейнеров
|
|||
|
- legacy registry и Userland Proxy должен быть отключен
|
|||
|
- В случае удаленного доступа необходимо использовать TLS для демона
|
|||
|
- Включите логгирование на уровне хотя бы INFO
|
|||
|
- Делайте HEALTHCHECK в контейнере
|
|||
|
- Запретите setuid и setgid в образах
|
|||
|
- COPY более безопасный, чем ADD
|
|||
|
- По возможности не используйте привилегированные контейнеры
|
|||
|
- Настройте container restart policy
|
|||
|
- Используйте отдельный network namespace для контейнеров
|
|||
|
- Не открывайте устройства с хоста напрямую в контейнер
|
|||
|
- Проверьте настройки cgroups
|