Il CN di un certificato (autofirmato o meno) deve essere risolvibile dal DNS?

1

Sto cercando di far funzionare Bareos con la crittografia TLS utilizzando un certificato autofirmato.

Ho usato il nome del server per il certificato autofirmato CN. Il server NON ha un set di domini.

Ma sto ricevendo un errore ...

# 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.

Anche dal 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.

Sono curioso di sapere se questo ha a che fare con il modo in cui TLS risolve il nome host per abbinarlo al certificato. Il CN / Name-of-the-server si trova in / etc / hosts, ma non è risolvibile tramite DNS.

cioè.

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
    
posta RightmireM 05.10.2018 - 13:54
fonte

1 risposta

2

Nessun DNS è coinvolto nel confronto tra l'oggetto del certificato (CN o Subject Alternative Names) rispetto al nome host specificato. Verificherà solo se il nome atteso corrisponde all'oggetto, cioè la corrispondenza esatta o la corrispondenza con caratteri jolly.

DNS viene utilizzato solo per ottenere l'indirizzo IP sul nome host. Questo indirizzo IP è necessario per stabilire una connessione TCP alla destinazione e quindi eseguire TLS su questa connessione TCP.

Nel tuo caso specifico, il DNS non viene utilizzato per ottenere l'indirizzo IP per un nome host ma viene utilizzata una voce fissa in /etc/hosts . Il modo in cui viene eseguita esattamente la risoluzione di un nome host in un IP è solitamente trasparente per l'applicazione e dipende anche dalle impostazioni del sistema e del sistema. ping nel tuo esempio utilizzerà in modo trasparente la voce da /etc/hosts poiché utilizza le funzioni di risoluzione della libc. nslookup invece non riuscirà a risolvere il nome dato che dal progetto interrogherà un name server (da cui il nome del programma) e non guarderà in /etc/hosts .

Per quanto riguarda il tuo problema specifico. Non so Bareos ma il messaggio di errore suggerisce che il client è configurato per utilizzare TLS mentre il server non è (correttamente?) configurato per fornire TLS. Questo non ha nulla a che fare con la convalida del certificato poiché il client può solo convalidare un certificato se il server supporta TLS in primo luogo, il che non sembra essere il caso qui:

... Authorization problem: Remote server did not advertize required TLS support.

    
risposta data 05.10.2018 - 14:19
fonte

Leggi altre domande sui tag