jueves, 12 de abril de 2018

Servidor Web casero con protocolo https

Hola amigos, alguna vez alguien nos comenta que en estos tiempos esta de moda usar protocolo seguro como es https, para interactuar con sitios web que transfieren información importante, detalles como generar certificados digitales y toda esa situación lo podemos hacer y conociendo que nuestro sitio web es tal cual, no deberíamos tener "miedo", siempre en cuando sepamos que es al servidor al que queremos acceder, en caso no conozcamos ahi se tendría que ir con precausión.

Tenemos un sitio web funcionando con http, ahora utilizaremos https, como vimos en el anterior tutorial hemos abierto en nuestro modem/router dos puertos el 80 y el 443, este último es para https, vamos a generar nuestro certificado propio y lo utilizaremos, por defecto NetBSD y otros sistemas operativos al instalar un servidor web como apache ya por defecto incluyen el módulo ssl, algunos no, por eso es necesario verificar, en CentOS recuerdo que hay que añadir el módulo, en este caso NetBSD ya lo instaló, pero por defecto no la deshabilitado, lo miraremos en el archivo httpd.conf, en la parte módulos, al reiniciar observaremos todo lo que nos indica apache y procedemos a corregir.

Primero veamos si tenemos openssl para generar certificados, para tener una idea, lo más probable es que ya esté añadido, caso contrario se tendría que añadir, con la herramienta pkgin (manejador de paquetes binarios) lo podemos buscar, en ambientes GNU/Linux sería con apt o con yum, dnf y similares.

Usaremos estos comandos, de la wiki CentOS lo he copiado:

# Generate private key
openssl genrsa -out ws01.key 2048

# Generate CSR
openssl req -new -key ws01.key -out ws01.csr

# Generate Self Signed Key
openssl x509 -req -days 365 -in ws01.csr -signkey ws01.key -out ws01.crt

ws01 es el nombre que usaré.

Luego nos ubicamos en el directorio de httpd y miramos:



 Vemos que hay un archivo httpd-ssl, ese vamos a usar, tambien vamos a descomentar en httpd.conf una línea que esta comentada con # que indica el archivo mencionado (httpd-ssl) no va a funcionar por defecto, la descomentamos y vamos a httpd a mirar si el módulo esta activo, por defecto esta comentado también



Con eso ya estamos listos para hacer funcionar.
Con los comando arriba mencionados ya se genera los archivos como se ve ws01.key y otros dos.



Ahora editemos el archivo httpd-ssl.conf para indicarle donde estan los certificados y la key, luego reiniciamos apache y ya debería de funcionar el protocolo https




Tambien va a ser necesario el modulo que se muestra, por eso se descomento en httpd.conf


Lo demás lo dejamos por default, el puerto se ve aquí.



Cuando pro primera vez ingresamos nos va a decir sitio desconocido, pero sabemos que es nuestro sitio y no hemos comprado o pagado porque una organización nos haga el certificado, lo hicimos nosotros mismos y confiamos porque lo hicimos y estamos al tanto del servidor, añadimos la excepción y debería funcionar:




Miramos algo de loq ue hemos ingresado


Con esto concluimos, se ve interesante verdad? con cualquier unix-like o GNU/Linux podemos hacer nuestro propio servidor, es la base para administrar servidores más avanzados, concoer estas cosas son base, hay otras situaciones donde se hacen estas cosas, pero la idea es entender y tener las bases para estos conceptos, espero haya agradado el tutorial, un apunte sencillo, saludos.


No hay comentarios.:

Publicar un comentario