У меня возникла следующая проблема: после того, как я установил 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.