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.

 

Habilitant accessos segurs a Nextcloud,

Si volem que els usuaris accedeixin a Nextcloud de manera segura, haurem d'instal·lar un certificat al servidor Apache del nostre Nextcloud. Suposo que ja haurem pensat algun FQDN per a aquest servei, així que el certificat ha de ser vàlid per a aquest nom de domini, o utilitzar un certificat Wildcard i ja està! En el meu escenari utilitzaré el nom dades.openservices.eus per referir-me al servidor Nextcloud i òbviament crearé l'entrada DNS corresponent a la zona pública i privada.

 

Abans de començar, què necessitem? Els certificats! Hem de presentar-los en el format adequat, hem de tenir el certificat, la seva clau privada i la cadena de certificats de les CA. Ho farem 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 obtenir 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 volem tenir problemes de confiança del certificado, se recomana generar el fichero del certificado con la cadena de totes les CA, alguna cosa així que podem ajudar a obtenerlo el següent 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