Added some facts from xakep.ru
This commit is contained in:
parent
f8cb3b1f24
commit
ef283bbd59
|
@ -1,6 +1,7 @@
|
||||||
6.9 For adminnistrators
|
6.9 For adminnistrators
|
||||||
6.1 Docker
|
6.1 Docker
|
||||||
https://blog.aquasec.com/docker-security-best-practices
|
https://blog.aquasec.com/docker-security-best-practices
|
||||||
|
https://xakep.ru/2019/07/05/docker-security/.
|
||||||
6.1.1 Помните, что при использовании FROM наследуются все проблемы исходного имиджа
|
6.1.1 Помните, что при использовании FROM наследуются все проблемы исходного имиджа
|
||||||
Нельзя хардкодить credentials внутри имиджей - для управления такими вещами следует использовать
|
Нельзя хардкодить credentials внутри имиджей - для управления такими вещами следует использовать
|
||||||
соответствующие решения
|
соответствующие решения
|
||||||
|
@ -9,7 +10,8 @@
|
||||||
https://blog.trailofbits.com/2019/07/19/understanding-docker-container-escapes/ - хорошим вариантом
|
https://blog.trailofbits.com/2019/07/19/understanding-docker-container-escapes/ - хорошим вариантом
|
||||||
будет настройка профиля AppArmor для защиты основной системы на уровне ядра.
|
будет настройка профиля AppArmor для защиты основной системы на уровне ядра.
|
||||||
6.1.3 Обратите внимание на сложность и большое количество абстракций
|
6.1.3 Обратите внимание на сложность и большое количество абстракций
|
||||||
6.1.4 Проверяйте образы, скачанные с dockerhub, не доверяйте вслепую
|
6.1.4 Проверяйте образы, скачанные с dockerhub, не доверяйте вслепую. Верифицируйте достоверность через
|
||||||
|
Docker Content Trust
|
||||||
6.1.5 Ограничивайте доступные ресурсы для контейнеров
|
6.1.5 Ограничивайте доступные ресурсы для контейнеров
|
||||||
6.1.6 Необходимо использовать SECCOMP для ограничения доступа
|
6.1.6 Необходимо использовать SECCOMP для ограничения доступа
|
||||||
6.1.7 Необходимо периодически мониторить активность конетйнеров
|
6.1.7 Необходимо периодически мониторить активность конетйнеров
|
||||||
|
@ -27,9 +29,12 @@
|
||||||
6.1.18 Используйте отдельный network namespace для контейнеров
|
6.1.18 Используйте отдельный network namespace для контейнеров
|
||||||
6.1.19 Не открывайте устройства с хоста напрямую в контейнер
|
6.1.19 Не открывайте устройства с хоста напрямую в контейнер
|
||||||
6.1.20 Проверьте настройки cgroups
|
6.1.20 Проверьте настройки cgroups
|
||||||
|
6.1.21 Проверяйте конфигурацию при помощи Docker Bench Security
|
||||||
|
6.1.22 Проверяйте отсутствие смонтированного сокета docker внутри контейнера
|
||||||
6.2 Kubernets
|
6.2 Kubernets
|
||||||
https://www.cncf.io/blog/2019/01/14/9-kubernetes-security-best-practices-everyone-must-follow/
|
https://www.cncf.io/blog/2019/01/14/9-kubernetes-security-best-practices-everyone-must-follow/
|
||||||
https://rancher.com/blog/2019/2019-01-17-101-more-kubernetes-security-best-practices/
|
https://rancher.com/blog/2019/2019-01-17-101-more-kubernetes-security-best-practices/
|
||||||
|
https://xakep.ru/2019/08/28/bulletproof-kubernetes/
|
||||||
6.2.1 K8s всегда должен быть обновлен до последней версии. Новые функции безопасности - а
|
6.2.1 K8s всегда должен быть обновлен до последней версии. Новые функции безопасности - а
|
||||||
не только исправления ошибок - добавляются в каждое ежеквартальное обновление, и чтобы
|
не только исправления ошибок - добавляются в каждое ежеквартальное обновление, и чтобы
|
||||||
воспользоваться ими, мы важно использовать последнюю стабильную версию. Самое лучшее,
|
воспользоваться ими, мы важно использовать последнюю стабильную версию. Самое лучшее,
|
||||||
|
@ -53,6 +58,7 @@
|
||||||
им наименьший набор разрешений, необходимых для каждого сайта использования. Это лучше, чем предоставление
|
им наименьший набор разрешений, необходимых для каждого сайта использования. Это лучше, чем предоставление
|
||||||
слишком широких разрешений учетной записи по умолчанию для пространства имен. Большинству приложений вообще
|
слишком широких разрешений учетной записи по умолчанию для пространства имен. Большинству приложений вообще
|
||||||
не нужен доступ к API; Для них можно установить «false» для automountServiceAccountToken.
|
не нужен доступ к API; Для них можно установить «false» для automountServiceAccountToken.
|
||||||
|
Для аудита и автоматизации настройки RBAC можно использовать Audit2rbac и Rbac-manager.
|
||||||
6.2.4 Выносите чувствительные процессы в отдельный namespace, чтобы ограничить потенциальное влияние компрометации.
|
6.2.4 Выносите чувствительные процессы в отдельный namespace, чтобы ограничить потенциальное влияние компрометации.
|
||||||
Такой подход снижает риск доступа к чувствительному приложению через менее защищенное приложение, которое совместно
|
Такой подход снижает риск доступа к чувствительному приложению через менее защищенное приложение, которое совместно
|
||||||
использует среду выполнения контейнера или хост. Например, учетные данные Kubelet скомпрометированного узла обычно
|
использует среду выполнения контейнера или хост. Например, учетные данные Kubelet скомпрометированного узла обычно
|
||||||
|
@ -80,7 +86,15 @@
|
||||||
попытках входа, желательно их влючить.
|
попытках входа, желательно их влючить.
|
||||||
Проведите бенчмарк. https://www.cisecurity.org/benchmark/kubernetes/
|
Проведите бенчмарк. https://www.cisecurity.org/benchmark/kubernetes/
|
||||||
Даже если вы не используете Rancher, почитайте инструкцию по харденингу https://rancher.com/docs/rancher/v2.x/en/security/hardening-2.2/
|
Даже если вы не используете Rancher, почитайте инструкцию по харденингу https://rancher.com/docs/rancher/v2.x/en/security/hardening-2.2/
|
||||||
и бенчмаркингу https://releases.rancher.com/documents/security/latest/Rancher_Benchmark_Assessment.pdf
|
и бенчмаркингу https://releases.rancher.com/documents/security/latest/Rancher_Benchmark_Assessment.pdf.
|
||||||
|
Утилиты для аудита: kube-bench, тест CIS Kubernetes.
|
||||||
|
6.2.10 Запустите Kubesec и выполните рекомендации по использованию сервисов хранения секретов и настроек безопасности
|
||||||
|
6.2.11 Используйте систему обнаружения вторжения наподобие Falco, настройте оповещения в корпоративный мессенджер
|
||||||
|
6.2.12 Настройте фильтрацию сетевой активности через межсетевой экран Cilium - сервер фильтрации сети с учетом API-вызовов.
|
||||||
|
6.2.13 Используйте сеть Calico для безопасного сетевого соединения. Calico - софтверный свитч, который создает сеть
|
||||||
|
третьего уровня и использует туннелирование.
|
||||||
|
6.2.14 Подумайте об использовании коммерческого SaaS секьюрити-направленности - Aqua Security, Cavirin, NeuVector, Sysdig Secure.
|
||||||
|
6.2.15 Если кластер бежит на AWS, можно использовать Kube2iam для подставления учетных данных AWS IAM в контейнеры
|
||||||
6.3 Bare-metal Nginx
|
6.3 Bare-metal Nginx
|
||||||
https://geekflare.com/nginx-webserver-security-hardening-guide/
|
https://geekflare.com/nginx-webserver-security-hardening-guide/
|
||||||
https://www.upguard.com/articles/10-tips-for-securing-your-nginx-deployment
|
https://www.upguard.com/articles/10-tips-for-securing-your-nginx-deployment
|
||||||
|
|
Binary file not shown.
Loading…
Reference in New Issue