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

Несоответствие имени хоста при подключении к серверу XMPP?

У меня возникла следующая проблема: после того, как я установил Jabber / XMPP-сервер в интрасети, я попросил сертификат SSL для моего сервера, чтобы люди могли безопасно подключаться, используя действующий сертификат.

DNS example.com настроен на перенаправление

root@dowa-01:/var/log/ejabberd# host -t SRV _xmpp-client._tcp.example.com
_xmpp-client._tcp.example.com has SRV record 5 0 5222 xmpp.example.net.
root@dowa-01:/var/log/ejabberd# host -t SRV _xmpp-client._tcp.example.com
_xmpp-client._tcp.example.com has SRV record 5 0 5222 xmpp.example.net.

Проблема в том, что когда я пытаюсь подключиться к клиенту XMPP, я получаю несоответствие имени хоста между example.com и xmpp.example.net ?!

Пока DNS перенаправляет на другой домен, почему клиент спрашивает о сертификате в исходном домене?

Подробности: example.net - это домен, используемый корпоративной интрасетью, большая часть внутренних данных находится на нем. Очевидно, что люди должны входить в систему со своим адресом электронной почты и паролем домена.

Как я могу решить эту проблему? Я почти уверен, что служба безопасности не выдаст мне сертификат корневого домена для общедоступного домена.

Я предполагал, что указание DNS будет работать, но похоже, что это не так.

Есть обходные пути?

Да, вам нужен сертификат для example.com, это действительно для xmpp.example.net не важно. Это связано с тем, что DNS считается ненадежным: было бы очень легко заставить вашу запись SRV указывать на вредоносный сервер, для которого у злоумышленника может быть действительный и доверенный сертификат.

Есть несколько предлагаемых решений этой проблемы (включая DANE и POSH), но ни одно из них в настоящее время не поддерживается клиентами. Единственные решения: 1) заставить всех принять несоответствие сертификата, 2) использовать xmpp.example.net в качестве домена XMPP или 3) убедить безопасность, что вам нужен сертификат для example.com.