sudo docker run -i -t -d -p 443:443 --restart=always \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver-ee
sudo docker run -i -t -d -p 443:443 --restart=always \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver-de
Le SSL peut être utilisé dans le but de sécuriser l'accès à l'application et prévenir tout l'accès non autorisé. Des certificats SSL émis par une autorité de certification permettent d'instaurer la confiance via l'autorité de certification. Des certificats auto-signés fournissent aussi un niveau égal de fiabilité, s'ils sont correctement sécurisés par le client et on prend des mesures supplémentaires pour vérifier l'identité du votre site. Suivez les instructions ci-après pour réaliser ces procédures.
Pour sécuriser l'application avec SSL, il faut deux choses:
- Clé provée (.key)
- Certificat SSL (.crt)
Alors, il vous faut créer et installer les fichiers suivants:
/app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
/app/onlyoffice/DocumentServer/data/certs/onlyoffice.crt
Lors de l'utilisation des certificats SSL émis par une autorité de certification (par exemple, Let's Encrypt), c'est l'autorité de certification qui fournit ces fichiers. Quand vous utilisez des certificats auto-signés, vous devez générer ces fichiers vous-même.
Faire passer ONLYOFFICE Docs en HTTPS en utilisant certbot
Le moyen le plus simple de faire passer ONLYOFFICE Docs en HTTPS est d'obtenir automatiquement le Certificat SSL de Let's Encrypt en utilisant certbot.
Lancez le conteneur Docker d'ONLYOFFICE Docs sur les ports 80 et 443 et saisissez vos propres valeurs pour les variables:
sudo docker run -i -t -d -p 80:80 -p 443:443 \
-e LETS_ENCRYPT_DOMAIN=yourdomain.com -e LETS_ENCRYPT_MAIL=email@example.com onlyoffice/documentserver-ee
sudo docker run -i -t -d -p 80:80 -p 443:443 \
-e LETS_ENCRYPT_DOMAIN=yourdomain.com -e LETS_ENCRYPT_MAIL=email@example.com onlyoffice/documentserver-de
Où:
- LETS_ENCRYPT_DOMAIN - le nom de domaine à utiliser pour le certificat.
- LETS_ENCRYPT_MAIL - l'adresse email à utiliser lors de l'enregistrement et la récupération.
Le certificat letsencrypt.org émis par l'autorité de certification sera généré et installé automatiquement sur votre serveur. Maintenant, votre ONLYOFFICE Docs doit être disponible sur https://yourdomain.com .
Générer des certificats auto-signés
La génération des certificats SSL auto-signés déroule en trois étapes simples.
ÉTAPE 1. Créer la clé privée du serveur
openssl genrsa -out onlyoffice.key 2048
ÉTAPE 2. Créer une demande de signature de certificat (CSR)
openssl req -new -key onlyoffice.key -out onlyoffice.csr
ÉTAPE 3. Signer le certificat en utilisant la clé privée et CSR
openssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt
Alors, vous avez généré un certificat SSL avec une période de validité de 365 jours.
Renforcer la sécurité de votre serveur
Dans cette section, vous trouverez les instruction pour renforcer la sécurité de votre serveur.
Pour ce faire, il faut générer de bons paramètres DHE.
openssl dhparam -out dhparam.pem 2048
Installer des Certificats SSL
Les fichiers à installer sur serveur onlyoffice sur quatre fichiers générés onlyoffice.key
, onlyoffice.crt
and dhparam.pem
. Vous n'avez pas besoin du CSR mais assurez-vous de faire une sauvegarde sécurisée (au cas où vous en auriez besoin).
Le chemin d'accès au certificat SSL recherché par application onlyoffice par défaut est /var/www/onlyoffice/Data/certs
, mais il est possible de le changer en utilisant des options de configuration SSL_KEY_PATH
, SSL_CERTIFICATE_PATH
et SSL_DHPARAM_PATH
.
Le chemin /var/www/onlyoffice/Data/
est le chemin au data store, ce qui signifie qu'il vous faut créer un dossier nommé certs dans /app/onlyoffice/DocumentServer/data/
et y déplacer des fichiers, ensuite modifiez la permission d'accès au fichier onlyoffice.key
en le rendant lisible que par le propriétaire comme mesure de sécurité.
mkdir -p /app/onlyoffice/DocumentServer/data/certs
cp onlyoffice.key /app/onlyoffice/DocumentServer/data/certs/
cp onlyoffice.crt /app/onlyoffice/DocumentServer/data/certs/
cp dhparam.pem /app/onlyoffice/DocumentServer/data/certs/
chmod 400 /app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
Réinitialisez le conteneur Docker:
sudo docker restart {{DOCUMENT_SERVER_ID}}
Vous êtes sur le point de sécuriser notre application.
Paramètres de configuration disponibles
Veuillez vérifier des options de la commande docker run avec l'indicateur --env-file
où vous pouvez indiquer toutes les variables d'environnement dans un seul fichier. Cela vous aidera à éviter de coder une chaîne longue de commande docker run.
Consultez ci-dessous la liste des paramètres que vous pouvez configurer à l'aide des variables d'environnement.
- ONLYOFFICE_HTTPS_HSTS_ENABLED: Une option de configuration avancée pour désactiver la configuration HSTS. Ne s'applique que lors de l'utilisation de SSL. Par défaut,
true
.
- ONLYOFFICE_HTTPS_HSTS_MAXAGE: Une option de configuration avancée pour réglage du paramètre HSTS max-age dans la configuration NGINX vHost d'onlyoffice. Ne s'applique que lors de l'utilisation de SSL. Par défaut,
31536000
.
- SSL_CERTIFICATE_PATH: Le chemin au certificat SSL à utiliser. Par défaut,
/var/www/onlyoffice/Data/certs/tls.crt
.
- SSL_KEY_PATH: Le chemin à la clé privé du certificat SSL. Par défaut,
/var/www/onlyoffice/Data/certs/tls.key
.
- SSL_DHPARAM_PATH: Le chemin au paramètre Diffie-Hellman. Par défaut,
/var/www/onlyoffice/Data/certs/dhparam.pem
.
- SSL_VERIFY_CLIENT: Activation de la vérification des certificats du client en utilisant
CA_CERTIFICATES_PATH file
. Par défaut, false
.
- DB_TYPE: Le type de base de données. Les valeurs prises en charge
postgres
, mariadb
ou mysql
. Par défaut, postgres
.
- DB_HOST: L'adresse IP ou le nom du hôte où le serveur est en cours d'exécution.
- DB_PORT: Le numéro du port utilisé pour accéder à la base de données.
- DB_NAME: Le nom de la base de données qui sera créée lors du lancement de l'image.
- DB_USER: Le nouveau nom du utilisateur qui possède tous les droits au niveau d'une base de données.
- DB_PWD: Le mot de passe défini sur le compte de la base de données.
- AMQP_URI: AMQP URI permet de vous connecter au serveur de l'agent de messages.
- AMQP_TYPE: Le type de l'agent de messages. Les valeurs prises en charge
rabbitmq
ou activemq
. Par défaut, rabbitmq
.
- REDIS_SERVER_HOST: L'adresse IP ou le nom du hôte où le serveur Redis est en cours d'exécution.
- REDIS_SERVER_PORT: Le numéro du port utilisé pour accéder au serveur Redis.
- NGINX_WORKER_PROCESSES: Définit le nombre de processus actifs NGINX.
- NGINX_WORKER_CONNECTIONS: Définit le nombre maximum de connexions simultanées auxquelles peut accéder un processus NGINX.
- JWT_ENABLED: Indique l'activation de la validation du jeton JSON par ONLYOFFICE Docs. Par défaut,
false
.
- JWT_SECRET: Définit le clé secret pour la validation du jeton JSON dans la demande à ONLYOFFICE Docs. Par défaut,
secret
.
- JWT_HEADER: Définit l'en-tête HTTP à utiliser pour envoyer le jeton JSON. Par défaut,
Authorization
.
- JWT_IN_BODY: Indique l'activation de la validation du jeton dans le corps de la demande à ONLYOFFICE Docs. Par défaut,
false
.
- USE_UNAUTHORIZED_STORAGE: Indiquez
true
si vous utilisez des certificats auto-signés pour votre serveur de stockage, par exemple, Nextcloud. Par défaut, false
.
- GENERATE_FONTS: Si
true
, régénère la liste et les miniatures des polices etc. à chaque démarrage. Par défaut, true
.
- METRICS_ENABLED: Indique l'activation de StatsD pour ONLYOFFICE Docs. Par défaut,
false
.
- METRICS_HOST: Définit l'hôte d'écoute StatsD. Par défaut,
localhost
.
- METRICS_PORT: Définit le port d'écoute StatsD. Par défaut,
8125
.
- METRICS_PREFIX: Définit le préfixe métrique StatsD pour les services d'administration. Par défaut,
ds.
.
- LETS_ENCRYPT_DOMAIN: Définit le domaine pour le certificat Let's Encrypt.
- LETS_ENCRYPT_MAIL: Définit l'adresse email de l'administrateur du domaine pour le certificat Let's Encrypt.