El certificat VPN no protegeix el tram LDAP
Una sessió de client xifrada no diu res sobre la connexió LDAP de la passarel·la. Trieu StartTLS o LDAPS i valideu el directori amb el seu propi magatzem de confiança.
Un inici de sessió VPN que comprova les credencials contra un directori implica dues connexions de xarxa separades. La connexió de l’usuari amb la passarel·la està protegida pel certificat propi de la VPN i per la configuració del protocol. La connexió de la passarel·la amb el directori és una altra sessió amb els seus propis paràmetres TLS, el seu propi magatzem de confiança i les seves pròpies formes de fallada. Res del primer no garanteix res del segon.
Aquesta asimetria és el mecanisme darrere d’un inici de sessió que sembla xifrat i que tot i així envia una contrasenya de bind en clar.
Dues connexions, dues decisions de confiança
La sessió externa és el que veu l’usuari: un certificat lligat al nom d’amfitrió de la VPN, validat pel client, que transporta l’intercanvi d’autenticació. La sessió interna pertany al client de directori dins de la passarel·la, que obre la seva pròpia connexió i o negocia TLS o no. Cada costat valida l’igual amb qui parla, fent servir material d’un fitxer de configuració diferent. Un tram intern mal configurat queda invisible des del costat de l’usuari, perquè el tram extern funciona exactament com estava previst.
Per això la fallada és silenciosa i no sorollosa. Una passarel·la que mai no comprova el certificat del directori encara autentica els usuaris correctament; simplement els autentica per un canal que no ha verificat.
StartTLS i LDAPS, triats deliberadament
StartTLS s’obre com a LDAP pla i s’actualitza sobre la marxa, convencionalment al port 389. LDAPS inicia TLS amb la connexió, convencionalment al 636. Tots dos són legítims i l’adaptador ha de coincidir amb el que ofereix el directori. Exigir StartTLS és diferent d’intentar-lo i continuar quan l’actualització falla, i aquesta diferència és exactament on es pot escapar una contrasenya de bind. Configureu el mode estricte i no permeteu cap alternativa no protegida per a un bind amb contrasenya.
ldapsearch -H ldap://dc1.corp.example -ZZ -x -D "CN=VPN Bind,OU=Service Accounts,DC=corp,DC=example" -W -b "DC=corp,DC=example" "(sAMAccountName=example-user)" dn
El paràmetre -ZZ és tot el punt: la consulta falla en lloc de continuar silenciosament sense l’actualització. Els noms i comptes d’aquesta línia són exemples. La documentació TLS d’OpenLDAP cobreix els paràmetres de confiança que hi ha darrere.
Quin magatzem de confiança llegeix el client LDAP?
La biblioteca de client OpenLDAP llegeix la seva pròpia configuració de confiança, tant si prové del fitxer del sistema com d’un paràmetre específic del connector. La directiva CA de la VPN s’aplica als iguals de la VPN i no és prova que la biblioteca LDAP llegeixi el mateix fitxer. Feu servir el nom d’amfitrió del directori que el certificat cobreix realment, més la cadena emissora en què confia la biblioteca. A Active Directory, desplegueu un certificat de servei de directori amb l’ús correcte d’autenticació de servidor en lloc de raonar a partir d’un nom de visualització.
Cada destinació de failover ha de satisfer la mateixa política d’identitat. Un entorn on el primari està validat i el secundari no ho està és pitjor que un sense failover, perquè el camí més feble només es descobreix durant una interrupció.
El compte de bind continua sent un problema a part
Protegir el transport no redueix el que pot fer el compte de bind. L’abast de cerca al directori, l’autorització per grups i els privilegis del compte de servei són decisions separades, i un compte de bind ampli continua sent ampli després d’activar TLS. Feu servir el compte de servei i la base de cerca més estrets que necessiti la integració, i registreu el punt final, el mode TLS, el propietari de la confiança i el procés de renovació amb la configuració de la VPN.
Quan apareix una discrepància de certificat, desplegueu el certificat o la cadena correctes. Desactivar la verificació converteix una discrepància visible en invisible i deixa la segona relació de confiança sense provar.
Dues connexions, dos propietaris, dues dates de renovació. Mantenir-les separades a la documentació és el que manté honest l’inici de sessió.