Globedia.com

×
×

Error de autenticación

Ha habido un problema a la hora de conectarse a la red social. Por favor intentalo de nuevo

Si el problema persiste, nos lo puedes decir AQUÍ

×
cross

Suscribete para recibir las noticias más relevantes

×
Recibir alertas

¿Quieres recibir una notificación por email cada vez que Claudio Concepción Certad escriba una noticia?

Cómo crear Certificados SSL autofirmados para uso local

24/06/2014 01:40 0 Comentarios Lectura: ( palabras)

image Como todos sabemos, el tráfico en Internet normalmente no va encriptado o protegido. Por lo que cualquier persona, conociendo las técnicas necesarias, puede interceptar nuestras cosas, y aún si consideramos que mucho de lo que enviamos y recibimos a través de Internet no es de importancia para otros, la existencia de los certificados SSL es debido a la necesidad de proteger nuestra información sensible de ser vistas por otros.

Obviamente, debido a los recientes acontecimientos sobre la NSA, los certificados SSL ahora solo nos dan un falso sentido de la seguridad, pero aún así no podemos dejar de usarlos.

El certificado que vamos a crear lo podemos usar ampliamente en nuestro servidor Web local o en Squid para aplicarle técnicas de filtrado (aunque esto no es muy ético).

Crear la llave privada RSA

La herramienta openssl, disponible en nuestro sistema GNU/Linux, es la que usaremos para generar tanto la llave privada RSA y la solicitud de firma de certificado CSR. También lo usaremos para generar el certificado autofirmado que usaremos más adelante.

La llave privada RSA será de 1024 bits encriptada usando Triple-DES y en formado PEM, para que sea leída como texto ASCII.

[fraterneo@rainbow ~]$ openssl genrsa -des3 -out llaveprivada.key 1024

Generating RSA private key, 1024 bit long modulus

..................................++++++

.........................++++++

e is 65537 (0x10001)

Enter pass phrase for llaveprivada.key:

Verifying - Enter pass phrase for llaveprivada.key:

Crear la solicitud de firma de certificado (CSR)

Con la llave privada lista, una solicitud de firma de certificado puede ser generada, la cual se usa de dos maneras. Usualmente el CSR puede ser enviado a una autoridad, como Thawte o Verisign quien verificará la identidad del solicitante y emitirá el certificado firmado. La segunda opción el auto firmar el CSR, lo que haremos en realidad.

[fraterneo@rainbow ~]$ openssl req -new -key llaveprivada.key -out firmacert.csr

Enter pass phrase for llaveprivada.key:

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

Más sobre

-----

Country Name (2 letter code) [XX]:DO

State or Province Name (full name) []:Santiago

Locality Name (eg, city) [Default City]:Santiago de los Caballeros

Organization Name (eg, company) [Default Company Ltd]:fraterneo

Organizational Unit Name (eg, section) []:fraterneo

Common Name (eg, your name or your server's hostname) []:rainbow.local

Email Address []:

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:

Eliminar la contraseña de la llave privada Un efecto colateral no deseado de la llave con la contraseña, es que Apache, y posiblemente otros servicios, va a preguntar por la contraseña cada vez que se inicia su servicio o daemon. En el caso de Squid no debemos eliminarla ya que no funcionará correctamente, y en otros casos es crítico remover esta contraseña, ya que la llave privada queda expuesta si el servidor se ve comprometido. Primero haremos una copia de la misma.

[fraterneo@rainbow ~]$ cp llaveprivada.key llaveprivada.key.org

[fraterneo@rainbow ~]$ openssl rsa -in llaveprivada.key.org -out llaveprivada.key

Enter pass phrase for llaveprivada.key.org:

writing RSA key

Generar el certificado autofirmado Finalmente, lo que nos atañe: El certificado autofirmado. Pero cuidado: Con este tipo de certificado muchas páginas de Internet no funcionarán correctamente, ya que no es posible validarlas contra este certificado, ya que no está firmado por una Autoridad de Certificados auténtica.

Haremos un certificado bueno para 1 año ó 365 días.

[fraterneo@rainbow ~]$ openssl x509 -req -days 365 -in firmacert.csr -signkey llaveprivada.key -out micertificado.crt

Signature ok

subject=/C=DO/ST=Santiago/L=Santiago de los caballeros/O=rainbow/OU=rainbow/CN=rainbow.local/emailAddress=certad@yahoo.com

Getting Private key

Instalar la llave privada y el certificado Ahora solo debemos colocarlos en la ruta correspondiente, si tenemos Apache instalado con mod_ssl normalmente esta ruta se encuentra en /usr/local/apache/conf/ o en /etc/httpd/conf.

[fraterneo@rainbow ~]$ sudo cp micertificado.crt /etc/httpd/conf/ssl.crt

[fraterneo@rainbow ~]$ sudo cp llaveprivada.key /etc/httpd/conf/ssl.key

En una próxima entrega veremos cómo usar el proxy Squid para interceptar de forma transparente el tráfico https (puerto 443) y que además será necesario crear la llave privada y el certificado en formato PEM para que puedan ser reconocidos por Squid como llave y certificado válidos. Además de la posibilidad de tener en un mismo fichero tanto la llave privada como el certificado.


Sobre esta noticia

Autor:
Claudio Concepción Certad (682 noticias)
Fuente:
fraterneo.blogspot.com
Visitas:
3614
Tipo:
Reportaje
Licencia:
Creative Commons License
¿Problemas con esta noticia?
×
Denunciar esta noticia por

Denunciar

Etiquetas

Comentarios

Aún no hay comentarios en esta noticia.