Instalación y configuración del SSL y su Entidad Certificado

Introducción

En esta unidad os vamos a enseñar a como tener protegidos la conexión entre el servidor al cliente. Para ello tenemos que tener aclarado ciertos conceptos.

Los servidores web tiene dos protocolos habilitados para poder tener una conexión segura con el cliente que son: TLS Y SSL para poder implementar el protocolo https ( Hypertext Transfer Protocol Secure) que es el que mantiene segura la conexión sin que puedan interceptar los paquetes enviados. Con esto se evitan ataques como el man in the middle.

Hay dos tipos de certificados, auto-firmados o aprobados por un entidad certificadora, es recomendable usar una entidad certificado para las paginas web que se usen en la empresa pero en este caso para ahorrarnos tiempo usaremos una auto-firmada.

Por ello vamos a explicar tanto en un servidor Linux con apache y un servidor Windows con IIs.

Linux

Creación de Certificado y Llaves

En nuestra maquina linux con apache instalado lo primero que haremos es instalar un programa llamado openssl que es el que se utiliza para aplicar el https en las paginas web.

apt-get install openssl

Vamos a generar la clave privadas van a ser cifradas con DES. Esta llave va a usarse para encriptar el certificado con la clave privada ya que eso evita que se pueda usar de forma fraudulenta.

openssl genrsa -des3 -out web.key

Ahora vamos a crear el certificado autofirmandolo nosotros con nuestra clave privada. Aquí nos pedirán información como país, provincia, nombre de la organizacional, etc..

openssl req -new -key web.key -out Certweb.csr

Ahora que esta creado tanto el certifico como la llave vamos a firmar el certificado con nuestra clave parea así poder crear una conexión https segura.

openssl x509 -req -days 365 -in Certweb.csr -signkey web.key -out CertwebFirm.crt

Listo ya tenemos nuestro certificado auto-firmado para nuestra conexión SSL en nuestra pagina.

Configuración de apache

Ahora que ya tenemos el certificado listo tenemos que activar el modulo SSL de nuestro servidor apache si queremos activar la conexión:

a2enmod ssl

Y reiniciamos apache:

service apache2 restart

Ahora tenemos que mover tanto la llave que hemos creado como el certificado ya auto-firmado a los directorios  /etc/ssl/certs para el certificado y /etc/ssl/private para la llave:

mv CertwebFirm.crt /etc/ssl/certs
mv web.key /etc/ssl/private

Una vez movidos nos vamos al directorio /etc/apache2/sites-available y entramos en el fichero de configuración de SSL llamado default-ssl.conf.

nano /etc/apache2/sites-available/default-ssl.conf

Dentro nos vamos al apartado DocumentRoot lo modificamos con el directorio donde esta alojado nuestras pagina.

DocumentRoot /var/www/html/Instituto

luego donde dice SSLEngine on y añadimos lo siguiente:

SSLEngine on
SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
SSLCertificateFile /etc/ssl/certs/CertwebFirm.crt
SSLCertificateKeyFile /etc/ssl/private/web.key

Después comentamos las lineas que se refieren a la llave y certificado por defecto:

SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

Ahora iniciamos el modulo SSL:

a2ensite default-ssl

y reiniciamos el servidor:

service apache2 restart

Comprobación

Ahroa vamos a ver que al entrar con un cliente a la pagina web entramos por https:

ssl-linux

Windows

Creación del certificado

Ahora vamos a instalar el SSL en un servidor IIS en Windows. LO primero que vamos a hacer es crear un certificado auto-firmado, para este proceso si tienes el IIS instalado no hace falta instalar el openssl

Nos dirigimos a -> Administrador del servidor -> servicio web -> Administrador de IIS -> Doraemon (nombre de la maquina) -> certificados de servidor

lugar-ssl

Una vez dentro hacemos click en crear certificado auto-firmado, se nos abrirá una ventana donde escribimos el nombre de nuestro certificado:

Certificado ssl windows.png

Configuración del IIS

Una vez lo hemos creado nos vamos a -> Administrador del servidor -> servidor web -> Administrador de IIS -> Doraemon (nombre de la maquina) -> sitios -> nombrede lapagina -> enlaces...

Una vez dentro crearemos un nuevo enlace donde escribiremos los siguiente:

  • Tipo: https
  • IP: 10.0.0.1
  • Puerto: 443
  • Certificado: Elegimos el certificador que hemos creado.

creacionssl.png

Aceptamos y listo ya lo tenemos por https nuestra pagina

Comprobación

comprobacion ssl windows.png

Deja un comentario