Autogestión – ownCloud Server con SSL en Debian Wheezy

Ya hemos visto como instalar ownCloud en nuestro servidor Debian, ahora veremos como generar los certificados SSL para disfrutar de una navegación cifrada y segura con HTTPS.

owncloud-logo

Primero activamos el módulo SSL de Apache y reiniciamos Apache.

a2enmod ssl
service apache2 restart

Editamos el archivo de configuración openssl.conf:

nano /etc/ssl/openssl.cnf

Dentro de él, tenemos que encontrar y cambiar las siguientes líneas:

dir = /root/SSLCertAuth
default_days = 3650 # 10 years
default_bits = 2048 # recommended by NSA until 2030
countryName_default = ES
0.organizationName_default = Debian

Hacemos Ctrl+o para guardar y Ctrl+x para cerrar nano.

Creamos el directorio para guardar todos los archivos de la autoridad certificadora SSL, en nuestro caso lo llamaremos “SSLCertAuth”.

Ejecutamos los siguientes comandos:

mkdir /root/SSLCertAuth
chmod 700 /root/SSLCertAuth
cd /root/SSLCertAuth
mkdir certs private newcerts
echo 1000 > serial
touch index.txt

Creamos la Autoridad Certificadora (CA). Escribimos una orden (o linea) tras otra:

openssl req -new -x509 -days 3650 -extensions v3_ca \
-keyout private/cakey.pem -out cacert.pem \
-config /etc/ssl/openssl.cnf

Nos dice: Enter PEM passphrase:

Introducimos una contraseña que usaremos después para firmar cualquier certificado, así que que no la olvides. Vamos introduciendo todos los datos, y con especial cuidado cuando nos pida el Common Name, que debe ser nuestro dominio de internet (fqdn: fully qualified domain name).

Ahora creamos la solicitud de firma del certificado del sitio.

openssl req -new -nodes \
-out apache-req.pem \
-keyout private/apache-key.pem \
-config /etc/ssl/openssl.cnf

De nuevo introducimos todos los datos que nos pide, y en Common Name de nuevo metemos el fqdn. Los «extra atributes»… podemos dejarlos en blanco.

Y finalmente generamos el certificado para copiarlo después en el directorio /etc/ssl

openssl ca \
-config /etc/ssl/openssl.cnf \
-out apache-cert.pem \
-infiles apache-req.pem

Introducimos la contraseña del CA que creamos antes y después le decimos a todo que sí.

Ejecutamos:

mkdir /etc/ssl/crt
mkdir /etc/ssl/key
cp /root/SSLCertAuth/apache-cert.pem /etc/ssl/crt
cp /root/SSLCertAuth/private/apache-key.pem /etc/ssl/key

El paso final consiste en configurar apache para que el servicio por omisión HTTPS, sea ownCloud.

-Primero creamos un directorio donde irán los logs.

mkdir /var/www/logs
nano /etc/apache2/conf.d/owncloud5-ssl.conf

-Con la segunda orden crearemos un fichero para la configuración SSL de owncloud.

Escribe en él fichero la siguiente configuración:

<VirtualHost *:443>
ServerName fqdn
SSLEngine on
SSLCertificateFile /etc/ssl/crt/apache-cert.pem
SSLCertificateKeyFile /etc/ssl/key/apache-key.pem
DocumentRoot /var/www/owncloud
CustomLog /var/www/logs/ssl-access_log combined
ErrorLog /var/www/logs/ssl-error_log
</VirtualHost>

Donde pone fqdn, ponemos nuestro dominio de internet o la IP de nuestro servidor.

El último paso, es, desde dentro, en la Administración de ownCloud. Podemos forzar el uso de HTTPS, lo que es muy recomendable a efectos de seguridad. Lo activamos.forzarhttps

This entry was posted in Autogestión, Tutoriales and tagged , , , , , , . Bookmark the permalink.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *