Ir al contenido principal

Importar certificado SSL de IIS e implementarlo en un WebServer Linux




Este artículo pretende explicar como implementar en un servidor Linux de la familia Redhat (Redhat, CentOS, Fedora, etc) un certificado wildcard SSL originalmente expedido e instalado en un WebServer IIS.

Pre-requisitos.
Debemos exportar el conjunto de certificados (en formato .pfx) que ya están instalados en el IIS y copiarlos a nuestra maquina Linux:




Instalación y Configuración.

1. Instalamos el modulo de criptografía de Apache:
[root@ldapclt ~]# yum -y install mod_ssl

2. Extraer el certificado y el key:
[root@linuxhost ~]# openssl pkcs12 -in example.com.pfx -clcerts -nokeys -out <host>.example.com.cer

[root@linuxhost ~]# openssl pkcs12 -in example.com.pfx -nocerts -nodes -out <host>.example.com.key


3. Copiamos los archivos resultantres en sus respectivas ubicaciones:
[root@linuxhost ~]# rsync -av <host>.example.com.cer /etc/pki/tls/certs/

[root@linuxhost ~]# rsync -av <host>.example.com.key /etc/pki/tls/private/


4. Editamos el archivo /etc/httpd/conf.d/ssl.conf de tal suerte que declaremos que es un
 wildcard:







5. También en este archivo nos aseguramos que estén las rutas al certificado y el key:










6. En adelante el <virtualhost> no lo vamos a seguir configurando en el archivo httpd.conf
 si no en el archivo ssl.conf.Si nuestro hosting está en la ubicación estándar (/var/www/html)

7. Restauramos la configuración default de SELinux
[root@linuxhost ~]#restorecon -R /var/www/html/*

8. Habilitamos SELinux
[root@linuxhost ~]#setenforce 1

9. Creamos una excepción para IPTABLES 
[root@linuxhost ~]#iptables -A INPUT -p tcp -M state --state NEW -m tcp --dport 443 -J ACCEPT

10. Reiniciamos Apache 
[root@linuxhost ~]#/etc/init.d/httpd restart


Pruebas.

En este punto ya podemos ver el certificado funcionando en nuestro sitio cuando lo 
invocamos por "https"


























Bonus Track.

Podemos configurar el apache para que redireccione todos los requerimientos que lleguen 
al sitio por "http" al "https" dentro de la etiqueta <Directory> añadimos las siguientes lineas (esto si en el httpd.conf):
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}










Finalmente reiniciamos Apache.
[root@linuxhost ~]#/etc/init.d/httpd restart

Comentarios

  1. Este comentario ha sido eliminado por un administrador del blog.

    ResponderEliminar
  2. Este comentario ha sido eliminado por un administrador del blog.

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Autenticación Centralizada RHEL/OracleLinux/CentOS 7

En esta oportunidad vamos a configurar una maquina con sistema operativo Linux (RHEL 7) para que pueda autenticar sesiones SSH obteniendo usuarios y credenciales del directorio activo (WINDOWS 2016) El escenario utilizado es el siguiente: - Server Linux (linuxhost.danielcastillo.tech, 192.168.1.2) - AD Server Windows (adwin. danielcastillo.tech,192.168.1.100 ) Pre-requisitos. 1. Un usuario en el AD con permisos para agregar estaciones de trabajo lo llamaremos "unixproxy", Más informacion sobre como hacerlo en el siguiente link: https://www.prajwaldesai.com/allow-domain-user-to-add-computer-to-domain/ 1.1. Una unidad organizacional en el directorio activo de windows lo llamaremos "ad_win_security_group" a ella perteneceran los usuarios que queremos permitir ingresar. 1.2. Un usuario que pertenezca a la OU anterior a este lo llamaremos "aduser" 2. El sistema esta sincronzando con un servidor NTP confiable: (el server NTP debe ser el AD serv...

Por que NO desactivar SELinux.

Extraño no es escuchar colegas decir "Para que Asterisk no te ponga problemas mejor desactiva SElinux". ¿En serio? ¿Para que tu carro no sea molesto mejor desactívale la alarma? Como en muchas otras cosas de la vida le tememos a lo que no conocemos, y optamos por el mejor método de supervivencia: Evitar. ¿Por qué SELinux? Security-Enhanced Linux (SELinux) es una implementación del control obligatorio de acceso en el kernel Linux, basado en la interfaz LSM (módulos de seguridad de Linux: «Linux Security Modules»). En la práctica, el núcleo pregunta a SELinux antes de cada llamada al sistema para saber si un proceso está autorizado a realizar dicha operación. SELinux utiliza una serie de reglas — conocidas en conjunto como una política (“policy”) — para autorizar o denegar operaciones. Estas reglas pueden llegar a ser difíciles de crear. Afortunadamente se proporcionan dos políticas estándar (targeted, dirigida, y strict, estricta) para evitar gran parte del trabajo de...