1- Software necesario.
#apt-get install apache2 openssl ssl-cert
2- Nos hubicamos en un directorio opcional, en este ejemplo se utilizara /OPT y ejecutamos este Script.
#cd /opt
---------
#/usr/lib/ssl/misc/CA.pl -newca
3- Se solicitaran algunos datos.
Enter PEM pass phrase:****
Verifying - Enter PEM pass phrase:****
---------
Country Name (2 letter code) [AU]:CO
State or Province Name (full name) [Some-State]:Antioquia
Locality Name (eg, city) []:Medellin
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Prueba S.A
Organizational Unit Name (eg, section) []:Sistemas
Common Name (eg, YOUR name) []:Admin
Email Address []:admin@prueba.net
---------
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:[ ENTER ]
---------
Enter pass phrase for ./demoCA/private/cakey.pem:**** (Repetimos la contraseña)
No nos debe salir ningun error.
4- Editamos el archivo de configuracion de OpenSSL, hubicamos esta linea y especificamos la ruta en donde se creo la CA, el resto lo dejamos como esta.
#vim /etc/ssl/openssl.cnf
--------------------[ ]---------------------
dir = /opt/demoCA # Where everything is kept
--------------------[ ]---------------------
5- Creamos el directorio en donde guardaremos los certificados para el sitio Web.
#mkdir /etc/apache2/ssl
6- Realizamos la peticion del certificado para el sitio, se nos solicitara algunos datos.
#openssl req -newkey rsa:1024 -out req.paginaweb.pem
---------
Enter PEM pass phrase:****
Verifying - Enter PEM pass phrase:****
---------
Country Name (2 letter code) [AU]:CO
State or Province Name (full name) [Some-State]:Antioquia
Locality Name (eg, city) []:Medellin
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Prueba S.A
Organizational Unit Name (eg, section) []:Sistemas
Common Name (eg, YOUR name) []:Administrator (El cer, en CN debe ser diferente)
Email Address []:admin@prueba.net
---------
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: [ ENTER ]
An optional company name []: [ ENTER ]
Al momento de listar veremos:
#ls
privkey.pem req.paginaweb.pem
En donde privkey.pem es la llave privada y req.paginaweb.pem es el requerimiento para el certificado.
7- Ahora la CA firmará el requerimiento que hicimos, para esto dijitamos:
#openssl ca -in req.paginaweb.pem -out cert.paginaweb.pem
---------
Enter pass phrase for /opt/demoCA/private/cakey.pem:**** (Repetimos la contraseña, del punto 3)
---------
Certificate is to be certified until Dec 12 18:39:42 2010 GMT (365 days)
Sign the certificate? [y/n]: y
---------
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
8- Editamos el sitio Web, nos dirigimos a:
#cd /etc/apache2/sites-available/
Realizamos copia del sitio por defecto
#cp default-ssl Sitio_seguro
Y editamos
#vim Sitio_seguro
Verificamos estas lineas:
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/cert.paginaweb.pem (Llave publica)
SSLCertificateKeyFile /etc/apache2/ssl/privkey.pem (Llave privada)
9- Habilitamos este sitio con:
#a2ensite Sitio_seguro
Tambien habilitamos el modulo Rewrite con:
#a2enmod rewrite
Y por ultimo el modulo SSL.
#a2enmod ssl
10- Editamos el archivo Ports, agregando Listen 443, debe quedar asi:
#vim /etc/apache2/ports.conf
---------
Listen 80
Listen 443
11- Reiniciamos el servicio Web, se nos solicitara la contraseña del certificado.
#/etc/init.d/apache2 restart
---------
Server 127.0.1.1:443 (RSA)
Enter pass phrase:**** (Repetimos la contraseña, del punto 6)
---------
OK: Pass Phrase Dialog successful.
12- Accedemos al sitio.
Se ha realizado localmente https://192.168.1.64
Si queremos que las peticiones HTTP, se redireccionen a HTTPS, agregamos en nuestro VirtualHost:
---------
0 comments
Publicar un comentario