Práctica 1 – Parte 4

1.2 Realización de la parte 4 del proyecto:

Para entender de que va el trabajo, tenemos que buscar información acerca de HTTPS:

  1. Entender como trabaja el protocolo HTTPS.

a. Principios de seguridad:

La seguridad de la información es un conjunto de medidas para prevenir, examinar y proteger la confidencialidad, la integridad y la disponibilidad de la información de un sistema.

  • Confidencialidad: Es necesario que la información la conozca únicamente las personas que estén autorizadas.
  • Integridad: Es mantener la información exactamente como se ha hecho, sin ser manipulada ni cambiada por personas o procesos no autorizados.
  • Disponibilidad: Es la capacidad de poder acceder a la información inmediatamente por las personas que están autorizadas. Es muy importante que el hardware como el software funcionen de manera eficaz, ya que si fuese lo contrario, se podría generar pérdidas económicas, daños físicos, etc.

b. Tipos de criptografía (simétrica y asimétrica):

  • Criptografía Simétrica: Es un sistema de cifrado que utiliza la misma clave para cifrar y descifrar un documento.
  • Criptografía Asimétrica: En este sistema de cifrado usa dos claves diferentes. Una es la clave pública que se podrá enviar a cualquier persona y la otra es la clave privada que se tiene que guardar para que nadie pueda acceder a ella.

 

c. Qué es y cómo funciona la firma digital:

  • Qué es la firma digital?: Es un esquema matemático que se utiliza para comprobar la autenticidad de un mensaje digital o de un documento electrónico, es decir, da seguridad al receptor que el mensaje fue creado por el remitente y que no fue modificado durante la transmisión.
  • Cómo funciona la firma digital?: Funciona con procedimientos matemáticos que relacionan el documento firmado con la propia información del firmante, de esta manera, otras personas pueden conocer la identidad del firmante y asegurar que el contenido no ha sido alterado ni modificado.

d. Cómo funciona SSL

i. Qué certificados se utilizan: servidor y autoridad de certificación:

Los datos que circulan en un sentido y otro entre el cliente y el servidor se cifra mediante un algoritmo simétrico, con un algoritmo de clave pública se utiliza para el intercambiar las claves de cifrado y las firmas digitales. Este algoritmo utiliza la clave pública en el certificado digital del servidor. Con el certificado digital del servidor, lo cual el cliente también puede verificar la identidad del servidor.

ii. Cómo se intercambian esos certificados: 

La autoridad de certificación autentica la identidad de la persona que lo solicita (cada certificadora cuenta con unos requisitos de identificación y procesos de validación para poder emitir los certificados) así como los carnés de identidad, huellas dactilares, etc. A continuación se genera una clave pública para cifrar los mensajes y una clave privada para descifrarlos.

 

2. Aplicar la teoría a nuestro servidor web:

a. Creando los certificados de la autoridad certificadora (no acceder a ningún
tercero, crear nuestra propia autoridad certificadora).

b. Creando los certificados del servidor
c. Firmando los certificados del servidor con los de la autoridad certificadora
d. Modificando apache para utilizar esos certificados (y por tanto que se pueda
acceder a https://www.vuestrodominio.edu
e. Redirigiendo el servicio web http hacia el https

Para comenzar, tenemos que instalar ‘OpenSSL’ en la máquina:

1

Ahora creamos una llave privada para la generación del certificado, lo cual nuestro certificado SSL dependerá de esta llave:

2

Ahora vamos a ejecutar el CSR mediante un comando, y uno de los parámetros es la llave privada que acabamos de crear:

3

Ahora nos hará unas preguntas sobre nosotros:

5

Ahora ejecutaremos por comando el certificado SSL (openssl x509 -req -days 365 -in server-csr -signkey server.key -out server.crt)

6

7

Ahora vamos a copiar los archivos a la carpeta /etc/ssl/certs.

8

Haciendo esto, me ha dado un error, porque he copiado el archivo a la ruta de ‘certs‘ que no existe, por lo tanto tendría que enviarlo a la ruta de ‘private‘ por lo tanto en vez de enviarlo a /etc/ssl/certs es a /etc/ssl/private:

2

Ahora tenemos que habilitar el módulo de SSL de Apache:

9

Ahora tenemos que reiniciar apache, para ello pondremos en la terminal lo siguiente:

10

Ahora vamos a editar el siguiente archivo, en la imagen el comando para acceder al archivo:

12

Ahora nos aparecerá un archivo escrito, lo que tenemos que hacer es modificar la siguiente línea:

13

Y ponemos esto:

3

Ahora que hemos configurado el certificado vamos a habilitarlo con este comando:

1

Ahora tenemos que poner el siguiente comando para recargar el Apache:

4

Ahora vamos a poner esto en la terminal para que la configuración tenga efecto:

5

Ahora vamos al navegador y ponemos https://nuestrodominio

Cuando pongamos esto en el navegador, nos saldrá un aviso del certificado que lo detecta como amenaza porque el sitio web lo hemos firmado nosotros y no esta registrado mundialmente, y por eso no sale esto:

7

Tenemos que darle a ‘Advanced’ y ‘Add Exception’ y ahora nos saldrá otra ventana, y tendremos que darle a ‘Confirm Security Exception’

8

10

Ahora cuando ponemos https://nuestrodominio, a la izquierda hay un candado, si le das clic y le damos a ‘view certificate’ y podremos ver información del certificado:

9

Ahora para redirigir http a https en nuestro sitio, tenemos que ir a ‘/etc/apache2/sites-available y aquí dentro tenemos que modificar el siguiente archivo:

12

Y aquí dentro tenemos que añadir la siguiente línea:

13

Ahora tenemos que reiniciar Apache y comprobar en el navegador web si poniendo http://nuestrodominio nos redirige a https:

14

 

 

Bibliografía utilizada:

https://paologmcom.wordpress.com/2016/11/20/1-1-principios-de-la-seguridad-informatica/

https://infosegur.wordpress.com/unidad-4/criptografia-simetrica-y-asimetrica/

http://www.firma-digital.cr/que_es/

http://www.firma-digital.cr/como%20funciona/

https://publib.boulder.ibm.com/tividd/td/TRM/SC23-4822-00/es_ES/HTML/user277.htm

https://www.nanotutoriales.com/como-crear-un-certificado-ssl-de-firma-propia-con-openssl-y-apache-http-server

https://www.paulbernal.com/general/como-redirigir-http-a-https-en-apache/

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s