A revogación nunca entra nun túnel en funcionamento para borrar unha sesión. A lista é unha entrada da verificación do certificado e consúltase durante o intercambio da canle de control que inicia unha sesión TLS. Ese único feito explica as dúas sorpresas: un cliente revogado volve conectar porque a lista nunca chegou ao verificador, e unha sesión existente sobrevive porque ninguén volveu verificar nada.

Unha lista é unha entrada, non unha acción

Durante o establecemento da sesión o servidor valida o certificado do cliente contra as súas áncoras de confianza, e a directiva de revogación engade a esa decisión unha consulta da lista. A comprobación ocorre no servidor, así que o cliente non pode ver que o seu certificado foi revogado e segue ofrecendo o mesmo. Un perfil que aínda conecta demostra só que algún verificador aceptou a cadea, non que a revogación fallase.

A lista é en si mesma un obxecto asinado cunha data de emisión e unha data de próxima actualización. Unha lista allea, unha asinada por outra autoridade ou unha cuxa próxima actualización xa pasou non substitúen a actual, e que unha lista obsoleta se rexeite ou se acepte en silencio depende do despregamento.

Conexión nova fronte a sesión en curso

A revogación avalíase cando se establece ou se renegocia unha sesión, non contra a canle de datos en cada paquete. Un cliente que xa está conectado ten claves de tráfico, así que segue deixando pasar paquetes despois de que o seu certificado apareza na lista. O intervalo de renegociación predeterminado mídese en horas, e por iso unha lista actualizada pode entrar en vigor para os recentemente chegados mentres un túnel en funcionamento se mantén.

SituationWhat the list doesWhen it applies
Fresh connectionBlocks the handshakeAt verification, immediately
RenegotiationBlocks the new exchangeAt the next renegotiation interval
Established data channelNothingUntil the session ends

A aplicación inmediata require unha acción deliberada e non só a lista. Reiniciar o servizo obriga a cada cliente a reconectar, mentres que rematar unha soa sesión desde a interface de xestión deixa as demais intactas. Escolla unha por incidente e anote cal usou. As dúas opcións teñen un raio de impacto distinto, e esa é a decisión real.

Entregue o ficheiro que o verificador le de verdade

A lista debe xerarse a partir do rexistro da autoridade e despois copiarse a cada máquina que verifica certificados. Xerarla no host da CA e non instalala nunca no servidor é o fallo máis común, e parece exactamente unha función de revogación rota.

ca ca.crt
cert server.crt
key server.key
crl-verify /etc/openvpn/crl.pem

Dous detalles deciden se o ficheiro se le de verdade. Unha ruta relativa resólvese respecto ao directorio de configuración, así que unha copia deixada no directorio persoal dun operador pode non atoparse nunca. E o daemon adoita abandonar os privilexios tras o arranque, así que a conta de execución necesita permiso de busca en cada directorio pai e permiso de lectura no ficheiro. Comprobe ambos coa conta de execución e non con root, ou a proba demostrará o incorrecto.

En hosts con systemd unha unidade endurecida tamén pode ocultar a ruta, cunha vista de só lectura ou un directorio de sistema protexido. Desde dentro do servizo iso é indistinguible dun ficheiro ausente, así que revise as restricións da unidade antes de ir buscar un erro de permisos. Lea o ficheiro da unidade antes de culpar ao modo do ficheiro.

Confirme no servidor, non no cliente

O rexistro do servidor nomea que ocorreu: abrir a lista, cargala ou fallar a verificación co número de serie revogado. O cliente só informa dun fallo xenérico de aperto de mans, e por iso os rexistros do cliente son un mal lugar para buscar unha decisión de revogación.

Verifique cun intento novo desde o perfil revogado e logo detéñase. Unha conexión correcta desde ese perfil é o sinal para inspeccionar a ruta do ficheiro e a conta de execución, non para supor que a lista estaba mal. Conserve ese intento correcto como proba de aceptación, e non conte unha reconexión que non observou.

Que non revoga nada

Borrar o perfil dun portátil, quitar o ficheiro do certificado do cliente ou dicirlle ao usuario que deixe de conectar non cambia nada no servidor. O certificado segue sendo válido ata que a autoridade rexistra a revogación e o verificador le a lista resultante.

Por iso tamén paga a pena escribir a cadea: rexistre a revogación, xere e asine a lista, distribúa exactamente ese ficheiro e confirme que a conta do servizo pode lelo. Cada elo é curto, e calquera que falte deixa un cliente revogado conectando alegremente. Unha lista de comprobación de catro liñas supera unha suposición sen ningunha.

Artigos relacionados