Безопасность с облачными приложениями и соединениями PHP/LDAP
Я занимаюсь разработкой корпоративного облачного приложения и решаю проблемы безопасности, с которыми я столкнусь при использовании библиотеки PHP LDAP для подключения к сетям клиентов для получения пользовательских объектов.
Во-первых, проблема заключается в том, что моим клиентам придется открыть свою сеть для моих веб-серверов, что для многих является огромной угрозой безопасности. Большинство даже скажет "нет" созданию правил брандмауэра, разрешающих запросы LDAP только с моих общедоступных IP-адресов.
Во-вторых, соединение должно оставаться доступным всегда, чтобы мое приложение могло опрашивать и обнаруживать новые, отключенные и удаленные пользовательские объекты. Это еще больше увеличивает фактор риска для моих клиентов.
Третья проблема заключается в том, что я получаю права на чтение только на мой клиентский сервер AD. Как я могу гарантировать, что мои клиенты случайно не дадут нам доступ на запись к их AD? Могу ли я с помощью PHP запросить разрешения для предоставленной учетной записи домена и, если включена запись, отказаться принять / сохранить учетные данные?
У кого-нибудь есть предложения получше? С моей стороны я могу установить API для прослушивания и принятия инструкций из сценария, который могут размещать мои клиенты, но это неприятность - безусловно, исправляет проблемы безопасности.
Существует так много способов подключения к серверу LDAP, но не так много статей о том, как лучше всего синхронизироваться с сервером LDAP в частной сети с сервера в общедоступной сети.
Совет крайне необходим:)
Спасибо!
1 ответ
Слишком много смелых утверждений, но вот попытка.
Третья проблема заключается в том, что я получаю права на чтение только на мой клиентский сервер AD. Как я могу гарантировать, что мои клиенты случайно не дадут нам доступ на запись к их AD? Могу ли я с помощью PHP запросить разрешения для предоставленной учетной записи домена и, если включена запись, отказаться принять / сохранить учетные данные?
Конечно, почему бы и нет. Но вы можете иметь права на вашу запись, но не другие.
У кого-нибудь есть предложения получше?
Я даже не мог представить себе доступ к какой-либо, и, конечно, не большой, организации LDAP через Интернет. Даже если это было безопасно как API. Вам действительно нужен интерфейс API, такой как OAuth или OpenID Connect.