MeetupStandup/6. For administrators

28 lines
2.8 KiB
Plaintext
Raw Normal View History

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