Ssl

  • Uploaded by: erica
  • 0
  • 0
  • December 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Ssl as PDF for free.

More details

  • Words: 1,397
  • Pages: 20
SSL El SSL es un protocolo seguro de Internet inventado por la empresa Netscape. Sirve para cualquier comunicación vía Internet, y por lo tanto, para las transacciones económicas realizadas en el comercio electrónico. Sustituye los sockets del sistema operativo. Los sockets son el interficie entre las aplicaciones y el protocolo TCP/IP del sistema operativo. De este modo puede servir para cualquier aplicación que utilice TCP/IP: Mail, Webs, FTP, news, etc..., aunque las aplicaciones de los programas actuales solo permites HTTP (Webs).

Para diferenciar las páginas dentro de una zona de servidor SSL, se utiliza la denominación https y se conecta mediante el puerto 443. El SSL puede realizar las siguientes funciones: •

Fragmentación. En el emisor se fragmentan los bloques mayores que 214 octetos y en el receptor se vuelven a reensamblar.



Compresión. Se puede aplicar un algoritmo de compresión a los mensajes.



Autentificación. Permite autentificar el cliente y el servidor mediante certificados. Este proceso se realiza durante la fase de Handshake. Durante la transmisión los mensaje autentifican al emisor mediante un resumen con clave, llamado MAC, en cada mensaje.



Integridad. En todos los mensajes se protege la integridad mediante el MAC.



Confidencialidad. Todos los mensajes se envían cifrados.

Se utilizan certificados X509v3 para la transmisión de las claves públicas.

INSTALACION DE SSL Para empezar a montar el servidor ssl, se instalara los servicios DNS y WEB.

DNS

Primero descargaremos e instalaremos el paquete BIND9 Apt-get install bind9

Se configura el archivo named.conf para crear las zonas tanto invesa como directa. De la siguiente manera. Zone “erica.net” { Type master ; File “etc/bind/zona.directa”; };

Zone “1.168.192.in-addr.arpa” { Type master ; File “etc/bind/zona.inversa”; };

Se crean los siguientes archivos: Touch zona.indirecta Touch zona.inversa

Copiamos la configuración de el archivo db.0 a la zona.directa y zona.inversa Cp db.0 zona.directa Cp db.0 zona.inversa Cambiamos la configuración de zona.directa

Zona inversa.

Al terminar de configurar las zonas hacemos el registro en resolv.conf

Y reiniciamos el servicio /etc/init.d/bind9 restart

Se puede hacer una pequeña prueba con nslookup

APACHE2 Se instala el paquete apache2 Apt-get install apache2 Vamos a /etc/apache2/sites-available/default Configuramos el archivo de la siguiente manera pero obviamente con la información correspondiente.

Nos dirigimos donde esta guardada la pagina en este caso /home/web

Y por ultimo reiniciamos el servicio /etc/init.d/apache2 restart

Entramos al navegador y le damos la dirección de nuestro sitio web www.erica.net

INSTALACION Y CONFIGURACION SSL Instalaremos el paquete openssl Vamos a la ruta /etc/ssl Aquí crearemos un directorio con el cual administraremos todo el ssl el cual se llamara CA

Entramos a CA y creamos dos directorios llamados certificados y privado. El primero es donde se guardará una copia de cada certificado que firmemos y en el otro directorio se guardará la llave privada. También crearemos dos archivos los cuales conformaran la base de datos de los certificados autofirmados. Al terminar esto se moverá el archivo de configuración de el ssl a CA por como dije anteriormente aquí es donde se trabajara todo el ssl.

Listamos para ver lo que hemos hecho hasta ahora. Ls –l

Si desea podremos cambiar al archivo de configuarcion por el siguiente: # ************************************************************************************* # www.linuxtotal.com.mx # [email protected] # # Archivo de configuracion para openssl # # ***** openssl.cnf ****** dir

=.

# variable que establece el directorio de trabajo

# seccion que permite convertirnos en una CA # solo se hace referncia a otra sección CA_default [ ca ] default_ca = CA_default [ CA_default ] serial = $dir/serial # archivo que guarda el siguiente número de serie database = $dir/index.txt # archvio que guarda la bd de certificados new_certs_dir = $dir/certificados # dir que guarda los certificados generados certificate = $dir/cacert.pem # nombre del archivo del certificado raíz private_key = $dir/privado/cakey.pem # llave privada del certificado raíz default_md = md5 # algoritmo de dispersión usado preserve = no # Indica si se preserva o no el orden de los # campos del DN cuando se pasa a los certs. nameopt = default_ca # esta opcion y la siguiente permiten mostrar # detallesdel certificado certopt = default_ca policy = policy_match # indica el nombre de la seccion # donde se especifica que campos son # obligatorios, opcionales y cuales deben ser # iguales al certificado raíz # seccion de politicas para la emision de certificados [ policy_match ] countryName = match # match, obligatorio stateOrProvinceName = match organizationName = match organizationalUnitName = optional # optional, campo opcional commonName = supplied # supplied, debe estar en la petición emailAddress = optional # seccion que indica como los certificados deben ser creados [ req ] default_bits = 1024 # tamaño de la llave, si no se indica 512 default_keyfile = key.pem # nombre de la llave privada default_md = md5 # algoritmo de dispersión a utilizar

string_mask = nombstr # caracteres permitidos en la mascara de la llave distinguished_name = req_distinguished_name # seccion para el nombre distinguido (DN) req_extensions = v3_req # seccion con mas extensiones que se añaden a la # peticion del certificado # seccion del nombre distinguido, el valor es el prompt que se vera en pantalla. # datos del propietario del certificado. # esta seccion define el contenido de datos de id que el certificado llevara. [ req_distinguished_name ] 0.organizationName = Nombre de la organizacion 0.organizationName_default = Pato, S.A. organizationalUnitName = Departamento o division emailAddress = Correo electronico emailAddress_max = 40 localityName = Ciudad o distrito localityName_default = Leon stateOrProvinceName = Estado o provincia stateOrProvinceName_default = Guanajuato countryName = Codigo del pais (dos letras) countryName_default = MX countryName_min =2 countryName_max =2 commonName = Nombre comun (hostname o IP) commonName_max = 64 # si en la linea de comandos se indica la opcion -x509, # las siguientes extensiones tambien aplican [ v3_ca ] # indica que se trata de un certificado CA raíz con autoridad para # firmar o revocar otros certificados basicConstraints = CA:TRUE # especifica bajo que metodo identificar a la llave publica que sera certificada subjectKeyIdentifier = hash # especifica como identifcar la

llave publica

authorityKeyIdentifier = keyid:always,issuer:always # extensiones de la opcion req [ v3_req ] basicConstraints = CA:FALSE # los certificados firmados no son CA subjectKeyIdentifier = hash # ************************************************************************************

Para la Creación de un certificado raíz openssl req -new -x509 -extensions v3_ca -keyout privado/cakey.pem \ -out cacert.pem -days 3650 -config ./openssl.cnf Antes de analizar la salida, veamos las opciones indicadas: •

req-new -x509

---> crear un certificado nuevo autofirmado



-extensionsv3_ca ---> crear un certificado raíz CA



-keyout



-out



-days3650



-config

---> nombre y donde guardará la llave privada ---> nombre del certificado raíz CA ---> el certificado será válido por 3650 días (10 años) ---> archivo de configuración a utilizar

Asi se puede ver los archivos creados more cacert.pem

Para ver la llave privada se puede hacer de la siguiente manera. Pero obviamente no es recomendable mostrala ya que es privada. more privado/cakey.pem

Con esta linea podemos ver la informacion de el certificado openssl x509 -in cacert.pem -noout –dates

SOLICITUD DE FIRMADO DE CERTIFICADO openssl req -new -nodes –out erica-cert.pem -config ./openssl.cnf y llenamos los datos requeridos

Este es para el contenido de la solicitud more erica-cert.pem

FIRMAR EL CERTIFICADO openssl ca -out certificado-erica.pem -config ./openssl.cnf -days 3650 \-infiles erica-cert.pem Por último firmaremos la solicitud que hicimos en el paso previo, para firmarlo necesitaremos indicar la contraseña que autentifique que somos la CA y que que por serlo tenemos la autoridad de autorizar (firmar) certificados.

more serial Se comprueba que ya aumento el número de serie a 02, es decir, el siguiente certificado que firmemos será ese número. more index.txt En el archivo index.txt el tercer campo indica 01, que es el número de serie para el certificado recien creado y muestra también los campos del DN. ls -l certificados

En el directorio de certificados se guarda también con el correspondiente número de serie (01.pem) un archivo que complementa la base de datos de certificados que podemos ir creando. Y por último tenemos el certificado en si: ls -l certificado-pato.pem

Nos dirigimos a pico /etc/apache2/sites-available/default y agregamos las siguientes líneas al final de el archivo.

NameVirtualHost www.erica.com ServerAdmin [email protected] Servername www.erica.com DocumentRoot /home/web/ SSLEngine on SSLCertificateFile /etc/ssl/CA/certificado-erica.pem SSLCertificateKeyFile /etc/ssl/CA/key.pem

Guardamos Luego editamos los puertos por donde va a escuchar el cual será el el 80 y 443 Pico /etc/apache2/ports.conf

Por ultimo vamos al navegador y www.erica.net Y veremos que ya esta redireccionando a https://www.erica.net

Related Documents

Ssl
May 2020 24
Ssl
November 2019 36
Ssl
December 2019 37
Ssl
December 2019 34
Ssl Certificates
June 2020 19
Ssl Proxy
December 2019 16

More Documents from "Yunior Rahmawan Usop"

Ssl3
December 2019 29
Servidor De Correo Postfix
November 2019 31
Referencias
April 2020 13
Acid -base Titration.docx
December 2019 29
Aplicaciones Server)
November 2019 29