Securitzant les connexions a Nextcloud i ONLYOFFICE

Una de les tasques més bàsiques que ens veurem obligats a realitzar, serà el securitzar els accessos a Nextcloud i a ONLYOFFICE, sobretot si pensem treballar a través d'Internet. Així que, en aquest document veurem com substituir el trànsit no xifrat HTTP per un segur amb HTTPS, veurem inicialment la configuració per a Nextcloud i finalment sobre ONLYOFFICE.

 

Habilitando accesos seguros a Nextcloud,

Si queremos que los usuarios accedan a Nextcloud de manera segura, tendremos que instalar un certificado en el servidor Apache de nuestro Nextcloud. Supongo que ya tendremos pensado algún FQDN para este servicio, así que el certificado debe ser válido para dicho nombre de dominio, o usar un certificado Wildcard y ya! En mi escenario utilizaré el nombre de datos.openservices.eus para referirme al servidor Nextcloud y obviamente crearé la entrada DNS correspondiente en la zona pública y privada.

 

Abans de començar, ¿qué necesitamos? Los certificados! Debemos presentarlos en el formato adecuado, tenemos que tener el certificado, su clave privada y la cadena de certificados de las CA. Lo haremos fácil, suposant que jo tinc un fitxer PFX que en el seu dia vaig generar en un altre servidor (IIS a Windows per exemple), el copiarem amb SCP al servidor, i a més d'això hem de buscar o fer un fitxer amb la cadena dels certificats de les entitats emissores, que normalment el nostre proveïdor de certificats ens l'haurà enviat en el seu dia 😉

 

Per separar d'un fitxer PFX i obtenir el certificat públic per una banda i la clau privada per una altra, podrem fer-ho amb aquest exemple:

[sourcecode]openssl pkcs12 -in Wildcard_Open_Services.pfx -clcerts -nokeys -out wildcard_open_services.cer
openssl pkcs12 -in Wildcard_Open_Services.pfx -nocerts -nodes -out wildcard_open_services.key[/sourcecode]

 

Comencem habilitant el mòdul de SSL i editem el fitxer de configuració del lloc de Nextcloud.

[sourcecode]sudo a2enmod ssl[/sourcecode]

 

Copiamos los certificados que acabamos de generar al directorio de certificados de Apache además del fichero con toda la cadena de las CA intermedias:

[sourcecode]sudo cp wildcard_open_services.* /etc/apache2/ssl
sudo mv openservices_eus.ca-bundle /etc/apache2/ssl/cadena.crt[/sourcecode]

 

Editamos el fichero /etc/apache2/sites-enabled/default-ssl.conf de configuració del sitio seguro de Apache y modificamos las entrades que hacen referencia al certificado, a la clave privada y a la cadena de certificados:

[sourcecode]SSLCertificateFile /etc/apache2/ssl/wildcard_open_services.cer
SSLCertificateKeyFile /etc/apache2/ssl/wildcard_open_services.key
SSLCertificateChainFile /etc/apache2/ssl/cadena.crt[/sourcecode]

Grabamos y reiniciamos Apache & validamos que ya podremos accedir al lloc de Nextcloud mediante https seguro:

[sourcecode]sudo service apache2 restart[/sourcecode]

 

Poner el sitio predeterminado de Nextcloud en Apache,

Per cert, si queréis evitar que vuestros usuarios tengan que teclear /nextcloud y hacer por tanto dicho sitio como el predeterminado en Apache, editaremos los ficheros de configuración /etc/apache2/sites-enabled/000-default.conf y /etc/apache2/sites-enabled/default-ssl.conf de los sitios, modificando la ruta:

[sourcecode]DocumentRoot /var/www/nextcloud[/sourcecode]

 

I reiniciem Apache!

[sourcecode]sudo service apache2 restart[/sourcecode]

 

habilitando accesos seguros a ONLYOFFICE,

Si volem securitzar el trànsit i els accessos a Document Server, deberemos instal·lar un certificat SSL en Nginx, que és el servidor web que estem utilitzant i així xifrar les seves connexions amb HTTPS, a més, al final verem com canviar el port per si ens interessa a posteriori obrir aquest escenari a Internet.

 

Igual que abans, ONLYOFFICE también necesita tener los certificados en el formato específico de Nginx, tenemos que dejar en la carpeta de certificados el certificado público, la clave privada y un certificado con la cadena de todas las CA intermedias o de raíz.

 

Recordamos los pasos seguidos para separar de un fichero PFX y obtener el certificado público por un lado y la clave privada:

[sourcecode]openssl pkcs12 -in Wildcard_Open_Services.pfx -clcerts -nokeys -out wildcard_open_services.cer
openssl pkcs12 -in Wildcard_Open_Services.pfx -nocerts -nodes -out wildcard_open_services.key[/sourcecode]

 

A més, si no queremos tener problemas de confianza del certificado, se recomienda generar el fichero del certificado con la cadena de todas las CA, algo así nos puede ayudar a obtenerlo el siguiente comando, que creará 1 fichero con todos los certificados:

[sourcecode]cat /etc/ssl/certs/wildcard_open_services.cer openservices_eus.ca-bundle > wildcard_open_services_y_cadena.cer[/sourcecode]

 

Copiamos los ficheros generados al directorio de certificados, paramos Nginx, y creamos un fichero de configuración para acceso a ONLYOFFICE seguro:

[sourcecode]sudo cp wildcard_open_services.* /etc/ssl/certs/
sudo service nginx stop
sudo cp -f /etc/onlyoffice/documentserver/nginx/onlyoffice-documentserver-ssl.conf.template /etc/nginx/conf.d/onlyoffice-documentserver.conf[/sourcecode]

 

Editamos el fichero de configuración y le añadimos la ruta al certificado y a su clave privada:

[sourcecode]sudo vim /etc/nginx/conf.d/onlyoffice-documentserver.conf
ssl_certificate /etc/ssl/certs/wildcard_open_services_y_cadena.cer;
ssl_certificate_key /etc/ssl/certs/wildcard_open_services.key;[/sourcecode]

 

Per cert, es momento si queremos cambiarle el puerto, el el fichero de configuración, modificaremos la sección donde escucha y seleccionamos el puerto que nos interese:

[sourcecode]listen 0.0.0.0:4443 ssl;
listen [::]:4443 ssl default_server;[/sourcecode]

 

Bastará con arrancar de nuevo Nginx y verificar que podemos acceder por la nueva URL, con https:// y al puerto que hayamos especificado:

[sourcecode]sudo service nginx start[/sourcecode]

Posts recomanats

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, no dubtis a contactar amb mi, us intentareu ajudar sempre que pugui, compartir és viure ;) . Gaudir dels documents!!!

Podcast ALS NÚVOLS

17 d'October de 2018