LinuxParty
En posts anteriores hemos visto cómo crear servicios web seguros utilizando certificados. Los certificados era los por defecto de SSL en Linux o bien generabamos certificados autofirmados para el caso de IIS y el hecho que debíamos solicitar un certificado a una entidad certificadora (CA) para disponer de certificados válidos para operar en Internet. En este enlace teneis una buena descripción de qué es una infraestructura de clave pública o PKI.
En esta ocasión vamos a ver cómo crear nuestra propia entidad de certificación ( sobre un Debian 6, pero el procedimiento es idéntico si empleamos un Ubuntu). Posteriormente, vamos a emplear esta entidad de certificación para generar un certificado de servidor para otra máquina que la empleará para un servicio Apache. Esta situación puede ser útil si queremos desplegar en una intranet un sistema de certificados, tanto para equipos como para usuarios.
Te interesará conocer:
Generar fichero CSR en Linux
En primer lugar vamos a crear la entidad certificadora, para ello editamos el archivo /etc/ssl/openssl.cnf del equipo que se convertirá en autoridad de certificación y realizaremos las siguientes modificaciones:
Estamos indicando donde se va a crear la infraestructura de nuestra entidad de certificación, recorriendo el archivo podemos editar otras características, como por ejemplo la duración por defecto de los certificados ( 365 días es el valor inicial), la longitud de la clave, etc.
El siguiente paso, es crear la estructura de carpetas de la entidad de certificación y crear los archivos de gestión de los certificados creados, el archivo serial y el index.txt.
Ahora vamos a crear el certificado para la entidad certificadora, este certificado será el que después se deberá exportar a los diferentes servidores que vayan a utilizar sus certificados:
Ya tenemos creada nuestra entidad certificadora. Ahora vamos a una segunda máquina, en este caso un Ubuntu Desktop que hará las funciones de un servidor web que va a solicitar un certificado, para ello creamos una petición .csr y una clave privada micert.key. Para evitar el problema que la clave privada utilice una contraseña, que nos obligaría a introducirla cada vez que reiniciemos el servicio, se emplea el parámetro -nodes.
En la petición se nos requiere la información relativa al equipo o dominio para el que se va a solicitar el certificado:
Ahora deberíamos enviar este archivo .csr al servidor de la entidad certificadora, una vez que ésta lo recibe, generaremos el certificado a partir de él:
Como resultado de este comando, no sale un mensaje con la información del certificado generado y nos pide la confirmación de si queremos firmarlo.
Ahora deberíamos enviar al que será nuestro servidor web y lo deberíamos copiar en /etc/ssl/certs. Así mismo comprobamos la presencia de la clave privada del servidor.
Ahora tenemos que convertir nuestra entidad certificadora, en una entidad certificadora de confianza para el servidor web. Para ello enviamos el certificado de la CA (lo he renombrado como waytoit.pem para facilitar su localización) y lo copiamos en /etc/ssl/certs. Ahora hay que hacer un paso adicional para que funcione, tenemos que ver su hash y crear un enlace al certificado que tenga como nombre su número de hash.0.
Podéis comprobar como para los diferentes certificados que ya están instalados, existe dicho enlace.
Comprobamos ahora el certificado que hemos solicitado:
Si no nos da ningún error, editamos el archivo de configuración de nuestra página segura para utilizar nuestro flamante certificado:
Por último, comprobamos desde el navegador las características de nuestro certificado:
-
Seguridad
- Conexión Segura NFS en Linux, Tunelizar NFS sobre SSH y Configuración de NFS sobre SSH para Mayor Seguridad
- Utilizar ssh sin contraseña con ssh-keygen y ssh-copy-id
- Millones de teléfonos móviles podrían ser vulnerables a la vigilancia del gobierno chino
- Cómo limitar las conexiones SSH a la red local en Linux
- Los televisores inteligentes son como un «caballo de Troya digital» en los hogares
- Snort para Windows, detección de Intrusos y seguridad.
- Detección de Intrusiones con las herramientas: BASE y Snort.
- El Sistema de Detección de Intrusos: Snort. ( Windows y Linux )
- Configuración con Ejemplos de Snort para Windows, detección de intrusiones
- ¿El gobierno de EE. UU. ignoró la oportunidad de hacer que TikTok fuera más seguro?
- ¿Qué es SSH y cómo se utiliza? Los conceptos básicos de Secure Shell que necesitas saber
- Asegurar memcached del servidor, para evitar amplificar ataques DDoS
- Consejos de Seguridad para Pagos Móviles en España: Protege tus Transacciones con Estos Consejos Prácticos
- 22 herramientas de seguridad de servidores Linux de código abierto en 2023
- 8 hábitos que deben tomar los teletrabajadores altamente seguros