Cómo generar certificados de servidor (SSL/TLS)
Configurando nuestro servidor personal, quizás para crear una nube casera, nos dimos cuenta de que por defecto las conexiones son en texto claro (HTTP) sin ninguna protección. Incluso insertando la autentificación nos arriesgamos a mostrar todo nuestro tráfico de red a un usuario malicioso.que puede recuperar fácilmente los datos de acceso y el contenido de la conexión entre nosotros y el servidor. Para proteger la conexión tendremos que utilizar una conexión encriptada (HTTPS), haciendo que nuestro servidor sea accesible sólo con conexiones SSL/TLS. Para ello tenemos que dotar a nuestro servidor de un certificado.. El objetivo de esta guía es mostrarle cómo generar certificados para servidores autogestionados sin tener que pagar por los certificados firmados de las empresas del sector.
Generar certificados para servidores
Certificados y CA
Antes de seguir adelante, hay que conocer un poco de teoría sobre el funcionamiento de las conexiones cifradas. Sin entrar en demasiados detalles (hay libros universitarios sobre el tema) para poder aceptar conexiones cifradas es necesario que nuestro servidor debe mostrar un certificado a cualquiera que se conecte. Este certificado se utiliza para identificar el servidor y asegurarse de que no estamos conectados al servidor equivocado.
Todos los sitios que ofrecen conexiones cifradas (HTTPS) disponen de un certificado emitido por una empresa del sector (CA, o Autoridad de Certificación), cuyo cometido es precisamente «autentificar» ese sitio y asociarlo a una persona/entidad/empresa precisa.
A continuación podemos ver el certificado de las conexiones cifradas de Facebook.
Cuando contactemos con un servidor que acepte conexiones HTTPS, nuestro navegador leerá el certificado y comprobará si es auténtico; esta comprobación se realiza verificando qué CA ha emitido el certificado.
Si un malintencionado intenta «robar» el tráfico de un sitio HTTPS copiando su estilo y proporcionando una URL similar, el certificado no coincidirá con el proporcionado por la CA o no se autenticará (será autogestionado), por lo que el navegador reaccionará mostrando una ventana de alarma.
Certificados autogestionados
En el caso de un servidor personal, no es necesario autenticar nuestro certificado ante terceras entidades, ya que probablemente seremos los únicos que utilicen el servidor y posean una copia del certificado. Así que generar certificados para el servidor no tiene coste para los particulares: basta con crear el certificado con las herramientas adecuadas e insertarlo en el servidor y (si es necesario) proporcionar el certificado a los clientes para que se conecten. Cuando intentamos acceder a nuestro servidor con un navegador web tenemos que ignorar la ventana de advertencia sobre el certificado, Al ser autogenerada, no tiene ninguna CA detrás.
Mientras que si nos conectamos con otros programas (FTPS o SFTP) tendremos que tener el certificado a mano en el momento de la conexión y verificar que el clave privada proporcionada coincide con el que se proporciona con el certificado.
Generar certificados de servidor con OpenSSL
La mejor manera de generar certificados para servidores personales es utilizar la herramienta gratuita y de código abierto OpenSSL.
OpenSSL está disponible en muchas distribuciones de GNU/Linux. Por comodidad veremos cómo generar nuestro certificado utilizando Ubuntu 16.04 LTS, pero podemos utilizar cualquier otra distribución.
Una vez iniciado Ubuntu (y si eres de Windows podemos crear una máquina virtual para ello) abrimos un terminal y escribimos el siguiente comando.
openssl req -x509 -nodes -days 3650 -newkey rsa:1024 -keyout "miachiave.pem" -out "miocertificato.pem"
Acabamos de generar un certificado de larga caducidad (10 años) con cifrado fuerte (RSA 1024 bits) y su clave de cifrado (keyout).
Una vez que ejecutamos el comando la terminal nos pedirá alguna información adicional para el certificado. Usamos el diagrama de abajo para rellenar cada entrada y pulsar Enter en cada paso.
- Nombre del país Tipo IT;
- Nombre del Estado o Provincia: tipo Italia;
- Nombre de la localidad: Introduzca el nombre de la ciudad donde vive;
- Nombre de la organización: podemos introducir el nombre que queramos;
- Nombre de la unidad organizativa: tipo en la Administración;
- Nombre común: si está generando un certificado para un sitio personal introducimos la URL de nuestro sitio, alternativamente utilizamos el nombre y el apellido;
- Dirección de correo electrónico: podemos introducir el correo electrónico que queramos o incluso dejar el campo en blanco.
Al final de los pasos habremos obtenido en la Home de Ubuntu dos archivos en formato PEM: el certificado real y el archivo con la clave de cifrado.
Podemos cargar estos dos archivos en cualquier servidor o programa que soporte conexiones TLS.
Empresa de certificados autenticados
Si busca un certificado autenticado para su sitio o servidor, puede ponerse en contacto con una de las empresas que se indican a continuación.
Certificados CA gratuitos
Queremos un certificado autentificado gratuito? Podemos utilizar los servicios ofrecidos por los siguientes sitios.
Cuál es el tamaño en pixeles de las hojas a4 a3 a2 a1 y a0 en funcion de los ppp
Cómo eliminar una cuenta de Facebook sin contraseña y correo electrónico
Cómo saber quien esta detrás de un perfil de instagram
Cómo saber quien canceló el mensaje en instagram
Cómo saber si el Iphone está hackeado
Cómo instalar IPTV en el Fire TV Stick
Qué hacer si las imágenes desaparecen de la galería en Android
Spotify cracked IOS 2021, ¿Cómo instalarlo?
Cómo copiar el enlace a tu perfil de instagram
Cómo saber quien esta detrás de un perfil de Facebook
Resolver los problemas con la luz roja LOS en el router
Cómo averiguar el id de la MI cuenta en tu smartphone Xiaomi
Cómo instalar IPTV en el Fire TV Stick
Cómo cambiar el correo electrónico de id de Supercell
Cómo desbloquear canales de Iphone Telegram
Cómo ocultar a quién sigo en instagram
Cómo solucionar el error requiere acción con la cuenta de Google
e_fail 0x80004005 error en Virtualbox, causas y soluciones
Cómo poner tu nombre en una lista de WhatsApp
Cómo eliminar su cuenta Shein
Resolver los problemas con la luz roja LOS en el router
Cómo ver cuántos mensajes hay en un chat
Cómo desbloquear canales de Iphone Telegram
Cómo enviar fotos o vídeos que se autodestruyen en Telegram
Cómo descargar historias de Facebook desde el PC
