Заставьте davfs2 принимать групповой сертификат (webDAV)
У меня есть несколько серверов, которые обмениваются файлами через WebDAV. Соединения защищены с помощью TLS и одинакового группового сертификата на всех серверах. У меня есть разные субдомены, указывающие на соответствующие серверы. Однако я не могу заставить davfs2 принять мои сертификаты подстановки, он продолжает жаловаться: /sbin/mount.davfs: the server certificate does not match the server name
Так, например, у меня есть:
ServerA.mydomain.com ServerB.mydomain.com
у всех есть сертификат, который охватывает *.mydomain.com и SAN для mydomain.com
Конечно, все работает нормально, если я использую mydomain.com для webDAV, потому что он явно указан в сертификате.
Я мог бы добавить все свои субдомены как SAN к сертификату, но я не могу продолжать перевыпускать сертификаты каждый раз, когда я поднимаю (или снимаю) машину.
Так есть ли способ заставить davfs2 принимать групповые сертификаты?
1 ответ
На самом деле проблема не имеет ничего общего с тем, как webDAV обрабатывает подстановочные знаки, а связана с тем, как обрабатываются расширения сертификатов X509.
Поскольку выясняется, что Subject Alternative Name является неправильным, согласно RFC 5280 (раздел 4.2) приложение ДОЛЖНО отклонять любые расширения, которые оно не распознает, если они помечены как критические (если они помечены как некритические, они МОГУТ быть проигнорированы), но если приложение распознает расширение, оно ДОЛЖНО использоваться.
Это означает, что когда webDAV встречает SubjectAltName, он проверяет это и только это на имя сервера. Общее имя с моим джокером в нем полностью игнорируется. Альтернативное имя субъекта не предоставляет альтернативных или дополнительных имен, оно должно содержать ВСЕ идентифицирующие имена.
Таким образом, поместите все доменные имена, включая подстановочный знак, в сеть хранения данных.