lunes, 2 de septiembre de 2013

Curso ASW3: Pasos para crear un servidor serguro

OpenSSL


Lo primero comprobar que está disponible:
yum info openssl
una vez comprobado lo instalamos
yum install openssl
Crearemos los certificados
mkdir certificados
cd certificados
openssl genrsa -des3 -out server.key 2048
nos pregunta la frase de seguridad para generar las claves
cursoasw201303
Nos genera el archivo server.key
realizamos una copia del mismo
cp server.key server.key.passphrase

Ahora generamos la clave otra vez con el algoritmo RSA
openssl rsa -in server.key.passphrase -out server.key
Por último creamos el certificado válido SHA1 con una validez de 180 días
openssl req -new -x509 -nodes -sha1 -days 180 -key server.key -out cursoasw.crt
Nos solicita el país ES
provincia MADRID
ciudad MADRID
organización Plandeformacion.es
Departamento FORMACION
Nombre fedora.plandeformacion.es
dirección de correo contacto@plandeformacion.es
Si lo que quisieramos fuera que nuestro certificado fuese validado por una entidad certificadora deberíamos realizar
lo siguiente en vez del paso anterior.

openssl req -new -key server.key -out cursoasw.csr
Y con el fichero csr ya podriamos solicitar la certificación del mismo para nuestro dominio o servidor.

Mod_SSL


INSTALACION del módulo mod_ssl en Apache.

Comprobamos la version del módulo
yum info mod_ssl
Instalamos el módulo 
yum install mos_ssl

CONFIGURAR EL SERVIDOR APACHE.

Creamos un directorio dentro de la carpeta de configuración llamado certificados para incluir los ficheros 
del certificado.
mkdir /etc/httpd/certificados
cp /root/certificados /etc/httpd/certificados

Para activar el motor de SSL tenemos que incluir las siguientes directivas en el fichero de configuración.

SSLEngine on
 SSLCertificateFile /etc/httpd/certificados/cursoasw.crt
 SSLCertificateKeyFile /etc/httpd/certificados/server.key
 
Lo mejor es crear un servidor virtual que atienda las peticiones por el protocolo https

Creamos el archivo vhost_ssl.conf

NameVirtualHost 192.168.101.78:443
<VirtualHost 192.168.101.78:443>
 DocumentRoot /var/www/html/joomla/administrator
 ServerName admin.teletapa.com
 <Directory /var/www/html/joomla/administrator>
 AllowOverride All
 Order allow,deny
 Allow from All
 </Directory>
 
 SSLEngine on
 SSLCertificateFile /etc/httpd/certificados/cursoasw.crt
 SSLCertificateKeyFile /etc/httpd/certificados/server.key
 
 ErrorLog logs/ssl-error.log
 CustomLog logs/ssl-access.log combined
</VirtualHost>
 
 
En la configuración por defecto nos crea un archivo ssl.conf dentro del directorio conf.d

que es donde deberiamos configurar nuestros certificados, sustituyendo los que crea por defecto.