PDF de programación - Práctica 6 - HTTPS con Apache y PKCS

Imágen de pdf Práctica 6 - HTTPS con Apache y PKCS

Práctica 6 - HTTPS con Apache y PKCSgráfica de visualizaciones

Publicado el 3 de Abril del 2019
318 visualizaciones desde el 3 de Abril del 2019
7,1 MB
73 paginas
Creado hace 6a (01/05/2013)
Software de Comunicaciones

Práctica 6 - HTTPS con Apache y

PKCS

Juan Díez-Yanguas Barber
Software de Comunicaciones
Ingeniería Informática - 5º Curso

______________________________________________________________________________________
© Jdyb - Abril 2013

Juan Díez- Yanguas Barber!
Práctica 6
______________________________________________________________________________________

Índice

1. Instalación del módulo SSL!
2. Estudio de las entidades de certificación de confianza!
3. Creación de una entidad de certificación propia!

4.1. Creación de claves pública y privada para el nuevo certificado!
4.2. Creación del requerimiento para el nuevo certificado!
4.3. Generación de un certificado firmado por la CA!
4.4. Configuración de apache para usar el certificado creado!

3.1. Configuración de OpenSSL!
3.2. Generación de claves pública y privada!
3.3. Generación del requerimiento para el certificado!
3.4. Creación del certificado de la CA!
3.5. Generación de la lista de certificados revocados!

4
8
12
12
15
16
18
19
4. Creación de un certificado para un sitio web firmado por la CA creada! 21
21
22
23
25
32
32
33
35
37
39
49
49
50
54

5.1. Creación de pares de claves para los certificados de los clientes!
5.2. Creación de los requerimientos de certificado!
5.3. Creación de los certificados de cliente!
5.4. Exportación de los certificados de cliente!
5.5. Configuración de apache!

6. Revocación de certificados de cliente!

6.1. Revocación de un certificado emitido por la CA!
6.2. Configuración de Apache para certificados revocados!

7. Apartados opcionales!

5. Creación de certificados de cliente!

______________________________________________________________________________________
© Jdyb - Abril 2013!
2
!

Juan Díez- Yanguas Barber!
Práctica 6
______________________________________________________________________________________

7.1. Script CA.pl!
7.2. Para que sirve Stunnel!
7.3. Protocolo OCSP!

54
71
72

______________________________________________________________________________________
© Jdyb - Abril 2013!
3
!

Juan Díez- Yanguas Barber!
Práctica 6
______________________________________________________________________________________

1. Instalación del módulo SSL
!
En este primer apartado se llevará a cabo la instalación del módulo SSL para el
servidor apache de manera que disponga de todas las herramientas necesarias para
servir conexiones HTTP sobre SSL.
!
Para la instalación del módulo nos dirigiremos al directorio de paquetes de nuestra
máquina virtual situado en /usr/local/src/apache/mod_ssl/ e instalaremos el paquete rpm
del módulo con el comando correspondiente.

!Una vez instalado comprobaremos que en la carpeta de inclusiones de
configuración de apache (/etc/httpd/conf.d/) se ha situado allí un archivo de configuración
de https que contiene lo necesario para que el servidor acepte conexiones HTTPS.

!
Si abrimos el fichero de configuración veremos que contiene las directivas
esperadas para aceptar conexiones https. En primer lugar observaremos que tiene la
directiva Listen correspondiente para aceptar conexiones https por el puerto 443 que es el
asociado a https. Por otra parte se incluye la directiva correspondiente para incluir el
módulo instalado mod_ssl de manera que posteriormente las directivas de configuración
de ssl sean aceptadas al arrancar el servidor y funcionen.

______________________________________________________________________________________
© Jdyb - Abril 2013!
4
!

Juan Díez- Yanguas Barber!
Práctica 6
______________________________________________________________________________________

Otra de las cosas que será necesaria para que las conexiones https funcionen será
!
que exista un servidor virtual con el puerto 443. Podría no ser necesario obligatoriamente
crear un servidor virtual para las conexiones seguras, pero lo normal es que la zona
segura no sea la misma que el resto. Este servidor virtual lo podemos encontrar ya
configurado en el fichero que estamos observando ahora mismo. Se puede ver que viene
con la directiva _default_:443 que equivale a *:443.
!
Dentro del servidor virtual basado en puerto para el 443 encontraremos que tiene
habilitado SSL y también debemos de ver que tenga los certificados necesarios para
funcionar, los cuales han sido generados con la instalación del módulo. Por un lado estará
el certificado del servidor y por otro lado la clave privada del mismo.

______________________________________________________________________________________
© Jdyb - Abril 2013!
5
!

Juan Díez- Yanguas Barber!
Práctica 6
______________________________________________________________________________________

!
Una vez explicados todos los cambios que se han llevado a cabo para que el
servidor web funcione para peticiones HTTS lo que haremos será iniciar el servidor y
comprobar que funciona correctamente desde un navegador.

!
Cuando entremos desde un navegador web veremos que nos mostrará una alerta
debido a que el certificado que está asignado ahora al Virtual Host por el que vamos a
entrar es un certificado autofirmado, no está firmado por ninguna entidad de confianza. Y
por otra parte tampoco está creado para la URL con la que vamos a entrar, ya que
nosotros entraremos por la dirección IP del servidor y el certificado que se ha creado
automáticamente se ha creado basándose en el nombre de host de la máquina virtual que
es server.efirel.com.

!
Si entramos ignoramos la advertencia y le damos a continuar veremos que se entra
en el DocumentRoot del servidor principal, ya que en el VirtualHost no había ninguna
directiva para ello, por lo tanto se usa el DocumentRoot del servidor principal.
______________________________________________________________________________________
© Jdyb - Abril 2013!
6
!

Juan Díez- Yanguas Barber!
Práctica 6
______________________________________________________________________________________

!

______________________________________________________________________________________
© Jdyb - Abril 2013!
7
!

Juan Díez- Yanguas Barber!
Práctica 6
______________________________________________________________________________________

2. Estudio de las entidades de certificación de confianza
!
En este apartado estudiaremos el significado que tiene decir que una web tiene un
certificado de confianza o no, veremos como detectarlo y la manera en que los
navegadores saben las entidades de certificación que son de confianza.
!
Cuando se accede a una página web mediante HTTPS antes de entrar en la misma
se hacen tres comprobaciones, si estas tres comprobaciones son exitosas se entra en la
página web, si alguna de las tres comprobaciones resulta fallida el navegador suele
mostrar algún mensaje de advertencia indicando el tipo de error y dejando la decisión de
entrar o no entrar en la web en manos del usuario. Las tres comprobaciones que se llevan
a cabo son las siguientes.

• Comprobación de la fecha de caducidad del certificado. Si el certificado está
caducado se da una advertencia.
• Se comprueba si la entidad de certificación que firma el certificado es de
confianza o no. Si la entidad que firma el certificado no es conocida para el
navegador o el certificado es autofirmado (firmado por el mismo que ha creado el
certificado) se muestra una advertencia.
• Se comprueba el Nombre común (CN) del certificado y si coincide con la URL del
sitio será una validación correcta. En caso de no coincidir se indicará con una
advertencia indicando que posiblemente el certificado no fuera creado para el sitio
en el que esta entrando, lo que indica que es probable que no se esté entrando
realmente al sitio que se desea.

!
Respecto a la manera en que el navegador puede saber las entidades de
certificación que son de confianza es porque las tiene guardadas en un depósito de
certificados que suele estar en el sistema operativo, o en el caso de Firefox es un
depósito propio gestionado por el mismo.
!
A continuación entraremos en un sitio con un certificado de confianza como por
ejemplo el ce una entidad bancaria. En este caso entraremos en la web del Banco de
Santander y observaremos que las tres comprobaciones descritas anteriormente se pasan
sin dar ninguna advertencia por parte del navegador.

______________________________________________________________________________________
© Jdyb - Abril 2013!
8
!

Juan Díez- Yanguas Barber!
Práctica 6
______________________________________________________________________________________

!
A continuación entraremos en la utilidad de Mac Os X llamada llavero donde se
guardan los certificados que el sistema tiene guardados como de confianza, y veremos
que encontramos la entidad raíz emisora del certificado del Banco de Santander. Hemos
visto en la captura anterior que había otra entidad de certificación, pero es una entidad
intermedia, ella firma con su clave privada los certificados que emite pero su certificado
está firmado por una entidad raíz que son las que están guardadas en los depósitos de
certificados de los sistemas.
!
El sistema verificará con la clave pública de la CA intermedia la firma del certificado
de la web y se verificará que la firma de la entidad raíz presente en el certificado de la
entidad intermedia concuerda con el certificado de la entidad raíz que se encuentra en el
llavero del sistema.
Esta comprobación sigue el siguiente proceso. La firma de la entidad intermedia es
!
la función hash de su certificado por ejemplo en MD5 cifrado con la clave privada de dicha
entidad. El navegador recibirá el certificado de la entidad intermedia que contiene su clave
pública y su firma (como firma del certificado del Banco de Santander). Con la clave
pública de la entidad intermedia se ha
  • Links de descarga
http://lwp-l.com/pdf15636

Comentarios de: Práctica 6 - HTTPS con Apache y PKCS (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad