¿Es posible que el CN de un certificado (autofirmado o no) se pueda resolver por DNS?

1

Estoy tratando de hacer que Bareos trabaje con el cifrado TLS usando un certificado autofirmado.

He usado el nombre del servidor para el certificado autofirmado CN. El servidor NO tiene un conjunto de dominios.

Pero estoy recibiendo un error ...

# bconsole
Connecting to Director Server-Name:9xxx
Authorization problem with Director at "Server-Name:9xxx"
Most likely the passwords do not agree.
If you are using TLS, there may have been a certificate validation error during the TLS handshake.
Please see http://doc.bareos.org/master/html/bareos-manual-main-reference.html#AuthorizationErrors for help.

También desde el registro ...

05-Oct 10:23 bareos-dir JobId 0: Fatal error: Authorization problem: Remote server did not advertize required TLS support.
05-Oct 10:23 bareos-dir: ERROR in authenticate.c:283 Unable to authenticate console "*UserAgent*" at client:17.x.x.x5:9xxx.

Tengo curiosidad si esto tiene que ver con cómo TLS resuelve el nombre de host para que coincida con el certificado. El CN / Nombre del servidor está en / etc / hosts, pero no se puede resolver a través de DNS.

I.e.

root@Server-Name ~ # hostname
Server-Name
root@Server-Name ~ # domainname
(none)
root@Server-Name ~ # ping Server-Name
PING Server-Name (17x.x.x.x5) 56(84) bytes of data.
64 bytes from Server-Name (17x.x.x.x5): icmp_seq=1 ttl=64 time=0.042 ms
64 bytes from Server-Name (17x.x.x.x5): icmp_seq=2 ttl=64 time=0.034 ms
64 bytes from Server-Name (17x.x.x.x5): icmp_seq=3 ttl=64 time=0.040 ms
^C
--- Server-Name ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.034/0.038/0.042/0.007 ms
root@Server-Name ~ # nslookup Server-Name
Server:     2x.x.x.x0
Address:    2x.x.x.x0#53

** server can't find Server-Name: NXDOMAIN
    
pregunta RightmireM 05.10.2018 - 13:54
fuente

1 respuesta

2

Ningún DNS participa en la comparación del sujeto del certificado (CN o nombres alternativos del sujeto) con el nombre de host dado. Solo comprobará si el nombre esperado coincide con el sujeto, es decir, coincidencia exacta o coincidencia con comodín.

DNS solo se usa para obtener la dirección IP del nombre de host. Esta dirección IP es necesaria para establecer una conexión TCP con el destino y luego ejecutar TLS sobre esta conexión TCP.

En su caso específico, el DNS no se usa para obtener la dirección IP de un nombre de host, pero se usa una entrada fija en /etc/hosts . La forma en que se realiza exactamente la resolución de un nombre de host a una IP es generalmente transparente para la aplicación y también depende de la configuración del sistema y del sistema. ping en su ejemplo usará de manera transparente la entrada de /etc/hosts , ya que está usando las funciones de resolución de libc. En su lugar, nslookup no podrá resolver el nombre, ya que por su diseño consultará un servidor de nombres (de ahí el nombre del programa) y no buscará en /etc/hosts .

En cuanto a su problema específico ... No sé sobre Bareos, pero el mensaje de error sugiere que el cliente está configurado para usar TLS mientras que el servidor no está (¿correctamente?) configurado para proporcionar TLS. Esto no tiene nada que ver con la validación de certificados, ya que el cliente solo puede validar un certificado si el servidor es compatible con TLS en primer lugar, lo que no parece ser el caso aquí:

  

... Problema de autorización: el servidor remoto no anunció la compatibilidad con TLS requerida.

    
respondido por el Steffen Ullrich 05.10.2018 - 14:19
fuente

Lea otras preguntas en las etiquetas