Preparación de certificados SSL para la instalación

Se ha escrito mucho sobre la instalación de certificados SSL en un servidor web y, por lo general, esta pregunta no es difícil para los administradores del sistema. Sin embargo, inmediatamente antes de la instalación, es bueno hacer algunas verificaciones para que no contemple el molesto "¡El certificado de seguridad del sitio no es confiable!" En su navegador (¡El certificado de seguridad del sitio no es de confianza!). Esto es especialmente cierto cuando recibe certificados no del registrador, sino del cliente, que puede, por ejemplo, mezclar claves privadas o enviar un certificado en el formato de su editor de texto con la adición de formateo de basura.

Por lo tanto, para que todo funcione de inmediato, es recomendable hacer algunas verificaciones antes de instalar el certificado SSL.

Entonces, comencemos ...

1. Verifique la integridad del certificado:

openssl x509 -noout -modulus -in certificate.crt 

Si obtenemos su módulo en la salida, entonces la integridad del certificado no se rompe. De lo contrario, habrá un error: "no se puede cargar el certificado".

2. Del mismo modo, verificamos la integridad de la clave privada:

 openssl rsa -noout -modulus -in privatekey.key 

3. Observamos el período de validez del certificado:

 openssl x509 -noout -text -in certificate.crt | grep -e "Not Before" -e "Not After" 

4. Verifique el certificado de revocación .

5. Compruebe la conformidad del certificado y la clave privada:

 openssl x509 -noout -modulus -in certificate.crt | openssl md5 openssl rsa -noout -modulus -in privatekey.key | openssl md5 

Si los resultados son los mismos, el certificado y la clave privada coinciden entre sí.

Automatización


Si necesita instalar un par de certificados SSL por año, los comandos anteriores son suficientes. Sin embargo, cuando tiene que trabajar con certificados con regularidad, es mejor usar scripts listos para usar. Como ejemplo, me atrevo a sugerir mi propio desarrollo en bash. Los scripts realizarán todas estas acciones sin gestos innecesarios de su parte (probado en Ubuntu, pero lo más probable es que funcione en otras distribuciones de Linux).

 wget https://raw.githubusercontent.com/o-pod/security/master/ssl-check-matching.sh chmod a+x ssl-check-matching.sh wget https://raw.githubusercontent.com/o-pod/security/master/ssl-check-revoc.sh chmod a+x ssl-check-revoc.sh 

Comprobación de la integridad y el cumplimiento del certificado y la clave privada entre ellos:

 ./ssl-check-matching.sh certificate.crt privatekey.key -v 

Verificando el período de validez del certificado y su ausencia en las listas de revocación:

 ./ssl-check-revoc.sh -f certificate.crt -v 

Las pruebas descritas anteriormente cubren los problemas de instalación del certificado SSL que he encontrado en la práctica. Pero si crees que vale la pena verificar cualquier otro parámetro, comparte los comentarios, te lo agradeceré.

Source: https://habr.com/ru/post/es418857/


All Articles