Назад | Перейти на главную страницу

Аутентификация LDAP через брандмауэр

У меня есть Rails Gem, который выполняет аутентификацию Active Directory, и его набор тестов имеет довольно много проверок аутентификации. Когда я запускаю тестовый набор в нашей локальной сети, все работает без проблем (как и следовало ожидать), но мы думаем о переносе одного из наших приложений на облачный сервер, что, конечно, означает, что оно будет получать доступ к DC извне сети.

Я вытащил копию LDAP Gem на облачный сервер, который мы можем протестировать, и настроил переадресацию порта на нашем брандмауэре, а затем запустил тесты после ввода настроек, и они не работают, но иначе, чем если вы получите ваш пароль неверный.

Я получаю успешный вход в систему, отображаемый в журналах безопасности на контроллере домена, но по какой-либо причине он не возвращает данные обратно клиенту.

У меня порт XXXX перенаправлен на порт 389 на DC, нужны ли мне другие перенаправления?

LDAP использует TCP 389 для незащищенной связи и 636 для защищенной связи.

Клиент запускает сеанс LDAP, подключившись к серверу LDAP, называемому агентом системы каталогов (DSA), по умолчанию на TCP-порту 389.

и

Обычным альтернативным методом защиты связи LDAP является использование туннеля SSL. Это обозначается в URL-адресах LDAP с помощью схемы URL-адресов «ldaps». Порт по умолчанию для LDAP через SSL - 636.

Что касается брандмауэра, вам необходимо разрешить доступ к этим портам с «внешнего» интерфейса брандмауэра на «доверенный» интерфейс. Если вы используете NAT, вам может потребоваться добавить правило как для общедоступного IP-адреса, так и для IP-адреса LAN.

Вам не нужно перенаправлять какие-либо порты, но вам нужно будет разрешить связь следующим образом:

permit tcp any x.x.x.x 0.0.0.0 389
permit tcp any x.x.x.x 0.0.0.0 636

Где вы разрешаете любой исходный IP-адрес на любом исходном порте, который предназначен для вашего сервера на определенном порту.

Вы также должны разрешить любые установленные соединения, на устройствах Cisco это выглядит как permit any established это позволит вернуть ответ от вашего сервера через брандмауэр. Большинство брандмауэров обычно делают это по умолчанию (по моему опыту), поэтому, если у вас есть специальный брандмауэр, это не должно быть проблемой.