Использование OpenLDAP для аутентификации в Web App - PullRequest
1 голос
/ 06 марта 2019

Мы создаем веб-приложение, которое подключается к базе данных и выполняет визуализацию данных. Вероятно, будет около 300 пользователей. Мы развернем его с помощью докера.

Чтобы повысить безопасность, мы хотим использовать сервер openLDAP, который хранит для нас учетные данные пользователя. Смысл в том, что это проверенное и протестированное программное обеспечение, которое является более безопасным, чем все, что мы сами написали бы, и нам не пришлось бы беспокоиться об алгоритмах хеширования, солях и т. Д. Кроме того, мы могли бы назначать роли непосредственно в LDAP.

Мы думаем о следующей архитектуре (мы должны использовать один сервер):
- Один док-контейнер с веб-приложением
- Один док-контейнер с базой данных
- Один док-контейнер, на котором работает сервер openLDAP

Мой вопрос:
- подходит ли для этого openLDAP (или LDAP в целом) или есть другое решение, которое инкапсулирует аутентификацию в проверенном и протестированном пакете? (учитывая, что LDAP в первую очередь создан для высоких одновременных нагрузок, чего мы не ожидаем)? - Повысит ли использование docker и, следовательно, инкапсуляцию службы безопасность в целом (при условии правильной реализации)?

Большое спасибо!

1 Ответ

0 голосов
/ 07 марта 2019

Да, OpenLDAP - и LDAP в целом - подходит для аутентификации имени пользователя и пароля, и вы получаете стандартное хеширование пароля и применение политики паролей в одном пакете.Большинство этих функций LDAP стандартизированы в IETF, поэтому вы можете ожидать того же от всех хороших серверов LDAP, включая и особенно OpenLDAP.

Основные ссылки:

Использование Docker или других типов контейнеров (например, LXC) всегда полезно с точки зрения безопасности, поскольку оно предоставляет формуизоляция контейнера (следовательно, приложений, работающих внутри) от других и от хоста по умолчанию.Тем не менее, это очень сильно зависит от вашей конфигурации и среды, есть много способов ослабить изоляцию контейнера (например, включить определенные возможности, подключить общие тома и т. Д.).В частности, демон Docker должен быть должным образом защищен, так как это единственный процесс, который имеет и нуждается в общем привилегированном доступе для выполнения всех своих важных действий.Безопасность Docker может быть улучшена за счет сочетания собственных функций безопасности Docker с функциями безопасности Kernel, такими как SELinux, AppArmor, grsec и т. Д. Подробнее о Docker Security .

...