Cómo crear un certificado SSL autofirmado en Linux

1 mar 2021 3 min di lettura
Cómo crear un certificado SSL autofirmado en Linux
Indice dei contenuti

Introducción

Este artículo explica cómo crear un certificado SSL autofirmado con la herramienta openssl.

¿Qué es un certificado SSL autofirmado?

Un certificado SSL autofirmado es un certificado firmado por la persona que lo creó en lugar de por una autoridad certificadora de confianza. Los certificados autofirmados pueden tener el mismo nivel de cifrado que el certificado SSL firmado por una CA de confianza.

Si se utiliza un certificado autofirmado, el navegador web mostrará una advertencia al visitante de que el certificado del sitio web no se puede verificar.

Los certificados autofirmados se utilizan principalmente para pruebas o uso interno. No utilice un certificado autofirmado en sistemas de producción expuestos a Internet.

Si desea crear un certificado autofirmado en un servidor remoto, continúe leyendo; de lo contrario, omita el primer párrafo "Conectarse al servidor" y lea el siguiente.

Conexión al servidor

Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:

ssh root@IP_DEL_SERVER

A continuación, deberá ingresar la contraseña del usuario root.

Si no usa el usuario root, puede iniciar sesión con otro nombre de usuario usando el mismo comando, luego cambie root a su nombre de usuario:

ssh nome_utente@IP_DEL_SERVER

Luego se le pedirá que ingrese su contraseña de usuario.

El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Prerrequisitos

Se requiere el kit de herramientas de openssl para generar un certificado autofirmado.

Para comprobar si el paquete openssl está instalado en su sistema Linux, abra su terminal, escriba openssl version y presione Enter. Si el paquete está instalado, el sistema imprimirá la versión de OpenSSL; de lo contrario, verá algo como el openssl command not found.

Si el paquete openssl no está instalado en su sistema, puede instalarlo ejecutando el siguiente comando:

Ubuntu y Debian

sudo apt install openssl

Centos y Fedora

sudo yum install openssl

Cree un certificado SSL autofirmado

Para crear un nuevo SSL autofirmado, use el comando openssl req

openssl req -newkey rsa:4096 \
 -x509 \
 -sha256 \
 -days 3650 \
 -nodes \
 -out example.crt \
 -keyout example.key

Repasemos el comando y entendamos qué significa cada opción:

  • -newkey rsa:4096: crea una nueva clave RSA de 4096 bits y una solicitud de certificado. El valor predeterminado es 2048 bits.
  • -x509: crea un certificado X.509.
  • -sha256: utiliza SHA (algoritmo hash seguro) de 265 bits.
  • -days 3650: el número de días para certificar el certificado. 3650 tiene 10 años. Puede utilizar cualquier número entero positivo.
  • -nodes: crea una clave sin una frase de contraseña.
  • -out example.crt: especifica el nombre de archivo para escribir el certificado recién creado. Se puede especificar cualquier nombre de archivo.
  • -keyout example.key: especifica el nombre del archivo en el que escribir la clave privada recién creada. Se puede especificar cualquier nombre de archivo.

Para obtener más información sobre las opciones del comando openssl req , visite la página de documentación de OpenSSL req.

Una vez que presione Enter, el comando generará la clave privada y le hará una serie de preguntas que utilizará para generar el certificado.

Generating a RSA private key......................................................................++++........++++
 writing new private key to 'example.key'
 -----
 You are about to be asked to enter information that will be incorporated
 into your certificate request.
 What you are about to enter is what is called a Distinguished Name or a DN.
 There are quite a few fields but you can leave some blank
 For some fields there will be a default value,
 If you enter '.', the field will be left blank.
 -----

Ingrese la información requerida y presione Enter.

Country Name (2 letter code) [AU]:US
 State or Province Name (full name) [Some-State]:Alabama
 Locality Name (eg, city) []:Montgomery
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:Noviello
 Organizational Unit Name (eg, section) []:Marketing
 Common Name (eg server FQDN or YOUR name) []:noviello.it
 Email Address []:[email protected]

El certificado y la clave privada se crearán en la ubicación especificada. Utilice el comando ls para verificar que se crearon los archivos:

ls
example.crt example.key

¡Eso es todo! Ha generado un nuevo certificado SSL autofirmado.

Siempre es una buena idea hacer una copia de seguridad del nuevo certificado y clave para almacenamiento externo.

Cree un certificado SSL autofirmado sin preguntar

Si desea generar un certificado SSL autofirmado sin que se le solicite ninguna pregunta, use la -subj y especifique toda la información del asunto:

openssl req -newkey rsa:4096 \
 -x509 \
 -sha256 \
 -days 3650 \
 -nodes \
 -out example.crt \
 -keyout example.key \
 -subj "/C=SI/ST=Ljubljana/L=Ljubljana/O=Security/OU=IT Department/CN=www.example.com"
Generating a RSA private key......................................................................++++........++++
 writing new private key to 'example.key'
 -----

Los campos, indicados en la -subj, se enumeran a continuación:

  • C= - Nombre del país. La abreviatura ISO de dos letras.
  • ST= - Nombre del estado o provincia.
  • L= - Nombre de la ubicación. El nombre de la ciudad en la que se encuentra.
  • O= - El nombre completo de su organización.
  • OU= - Unidad organizativa.
  • CN= - El nombre de dominio completo.

Conclusión

En esta guía, le mostramos cómo generar un certificado SSL autofirmado utilizando la herramienta openssl. Ahora que tiene el certificado, puede configurar la aplicación para usarlo.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.