/
Instalar certificados SSL: Ubuntu, Debian y CentOS/RHEL

Instalar certificados SSL: Ubuntu, Debian y CentOS/RHEL

Debian

Pare realizar la instalación del certificado en Debian, se recomienda hacer esta configuración con un FQDN (Fully Qualified Domain Name), ya que permite el uso de SSO (Single Sign-On) en las aplicaciones, lo que mejora la experiencia general al eliminar la necesidad de iniciar sesión en cada módulo.

Prerrequisitos

Antes de comenzar, se requiere lo siguiente:

  • Acceso SSH con capacidad sudo

  • FQDN o IP para configurar

  • Módulos FirstWave instalados

  • En el archivo /usr/local/omk/conf/opCommon.json, debe de configurarse lo siguiente:
    nmis_host_base = http://FQDN (el FQDN en lugar de "localhost"; mantener http en esta configuración)

  • Si estás utilizando un certificado SSL autofirmado o local, debe configurarse:
    "opha_allow_insecure" : "1",

Configuración

Habilitar mod_ssl de Apache

  • Ejecutar el siguiente comando para habilitar el módulo SSL de Apache:

a2enmod ssl

Reiniciar Apache para aplicar los cambios:

systemctl restart apache2

Crear un Certificado Autofirmado (opcional)

a. Es recomendable reemplazar servername con el nombre real del servidor.

b. Ejecutar el siguiente comando para generar un certificado autofirmado:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/servername-selfsigned.key -out /etc/ssl/certs/ servername-selfsigned.crt

 

Certificado firmado por (CA)

Si obtuviste un certificado firmado por una Autoridad Certificadora (CA), deberías haber recibido un archivo .crt y posiblemente un archivo .ca-bundler.

 

 Configuración de Apache para usar SSL

a. Reemplaza "your_domain_or_ip" con los detalles de tu servidor.

b. Edita la configuración del sitio en Apache ejecutando lo siguiente:

vi /etc/apache2/sites-available/your_domain_or_ip.conf

 

<VirtualHost *:443>

   ServerName your_domain_or_ip

   DocumentRoot /var/www/your_domain_or_ip

   SSLEngine on

   SSLCertificateFile /etc/ssl/certs/servername-selfsigned.crt

   SSLCertificateKeyFile /etc/ssl/private/servername-selfsigned.key

</VirtualHost>

<VirtualHost *:80>

      ServerName your_domain_or_ip

      Redirect / https://your_domain_or_ip/

</VirtualHost>

 

c. Para guardar y salir del editor vi, escribe:

:wq

 

d. Para habilitar el sitio configurado y reiniciar Apache, ejecuta el siguiente comando: 

a2ensite your_domain_or_ip.conf

systemctl restart apache2

 

e. Para verificar que la configuración de Apache es correcta, ejecuta:

apache2ctl configtest

 

f. Si todo es exitoso, obtendrás un resultado que se verá así:

Syntax OK

 

g. Finalmente, recarga Apache para aplicar la nueva configuración:

systemctl reload apache2

 

Abrir el puerto 443 en el Firewall

Si tienes ufw habilitado, asegúrate de permitir tráfico HTTPS:

ufw allow 'Apache Full'
ufw reload

Si usas iptables:

iptables -I INPUT -p tcp --dport 443 -j ACCEPT

 

Redirigir HTTP a HTTPS (Opcional)

Para forzar la redirección de HTTP a HTTPS, edita tu archivo de configuración en:

vi /etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>
ServerAdmin admin@dominio.com
ServerName nombredeserver.dominio.com
Redirect permanent / https://nombredeserver.dominio.com

 

Habilita el sitio y reinicia Apache

a2ensite 000-default
systemctl restart apache2

 

Redireccionar dominio a HTTPS

Se modifica el siguiente archivo: /etc/httpd/conf.d/04omk-proxy.conf reemplazando "http" por "https" en esta línea:

RequestHeader establece X-Fordered-Proto "http"

quedando RequestHeader establece X-Fordered-Proto "https "

 

image-20250218-220952.png

Guarda los cambios, sal del archivo y verifica que se este ejecutando apache

systemctl status apache2

Evitar Problemas de Resolución DNS

• Si tu dominio aún no está registrado o la información del DNS no se ha propagado completamente, tu sistema podría no ser capaz de resolver el nombre de dominio correctamente.
• Al agregar la entrada en el archivo hosts, puedes omitir los problemas de resolución DNS y conectarte directamente al servidor usando el nombre de dominio.

 

Pruebas y Desarrollo

• Si estás desarrollando o probando un sitio web en un entorno preproducción (staging), puedes redirigir el dominio a una dirección IP específica sin afectar el tráfico real.
• Esto es ideal para testear SSL, configuraciones de servidor, o proyectos locales.

 

Cómo agregar una entrada en el archivo hosts

El archivo hosts se encuentra en diferentes ubicaciones dependiendo del sistema operativo:
• Linux: /etc/hosts
• Windows: C:\Windows\System32\drivers\etc\hosts
• macOS: /etc/hosts
A continuación, te dejamos los pasos detallados para Linux (aplica de forma similar en macOS y Windows).

 

Pasos para agregar una entrada en el archivo hosts en Linux

  1. Abrir el archivo hosts como root:

nano /etc/hosts

Agregar una nueva línea con la IP y el nombre de dominio:
• Suponiendo que tu servidor tiene la dirección IP 192.168.1.100 y el dominio nombredeserver.dominio.com, añade la siguiente línea al final del archivo:

192.168.1.100 nombredeserver.dominio.com

Si también deseas que el dominio funcione sin el prefijo www, puedes añadir:

192.168.1.100 nombredeserver.dominio.com

• Guardar y cerrar el archivo:
• Si estás utilizando nano, guarda los cambios presionando:
• Ctrl + O (para guardar)
• Enter (para confirmar)
• Ctrl + X (para salir)
• Verificar la configuración:
• Puedes utilizar el comando ping para asegurarte de que el nombre de dominio se está resolviendo correctamente:

ping nombredeserver.dominio.com

Deberías ver una respuesta similar a:

PING nombredeserver.dominio.com (192.168.1.100): 56 data bytes
64 bytes from 192.168.1.100: icmp_seq=0 ttl=64 time=0.123 ms

 

Ya con esa configuración deberíamos poder ingresar a nuestro sitio mediante https, como lo podemos ver en la siguiente imagen (ejemplo):

image-20250219-160101.png

NOTA:

• Editar el archivo hosts permite resolver nombres de dominio localmente sin necesidad de un servidor DNS.
• Es útil para pruebas, desarrollo, y situaciones donde la propagación del DNS no ha finalizado.
• Asegúrate de que los cambios sean correctos para evitar problemas de conectividad.
Con estos pasos, tu sistema será capaz de resolver el dominio nombredeserver.dominio.com hacia la dirección IP especificada de forma local.

 

Resumen de Archivos y Directorios

Archivo

Ubicación en Debian/Ubuntu

Ubicación Centos/RHEL

Archivo

Ubicación en Debian/Ubuntu

Ubicación Centos/RHEL

Certificado (.crt)

/etc/ssl/certs/

/etc/pki/tls/certs/

Clave Privada (.key)

/etc/ssl/private/

/etc/pki/tls/private/

Certificados Intermedios (.crt, .ca-bundle)

/etc/ssl/certs/

/etc/pki/tls/certs/

Archivo de configuración Apache

/etc/apache2/sites-available/

/etc/httpd/conf.d/

 

Related content

Instalación de certificado SSL/TLS en CentOS
Instalación de certificado SSL/TLS en CentOS
More like this
Configuring SSL on apache for NMIS and OMK
Configuring SSL on apache for NMIS and OMK
More like this
Configuring Virtual Host SSL or TLS on the Opmantek Virtual Machine
Configuring Virtual Host SSL or TLS on the Opmantek Virtual Machine
More like this
Securing Opmantek Applications
Securing Opmantek Applications
More like this
SSO for Firstwave Applications
SSO for Firstwave Applications
More like this
Introducción de Open-AudIT
Introducción de Open-AudIT
More like this