sudo docker run -i -t -d -p 443:443 --restart=always \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-ee
sudo docker run -i -t -d -p 443:443 --restart=always \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-de
Acceso a la aplicación onlyoffice puede ser asegurado usando el protocolo SSL con objeto de evitar acceso no autorizado. Un certificado SSL confirmado por entidad certificadora proporciona verificación de confianza a través de entidad certificadora, certificados autofirmados pueden también proporcionar un nivel equivalente de verificación de confianza, porque cada cliente toma unos pasos adicionales para verificar la identidad del sitio web. En las siguientes instrucciones se describe cómo hacerlo.
Básicamente para asegurar la aplicación a través de SSL son necesarias dos cosas:
- Clave privada (.key)
- Certificado SSL (.crt)
Usted necesita crear e instalar los archivos siguientes:
/app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
/app/onlyoffice/DocumentServer/data/certs/onlyoffice.crt
Al usar certificados confirmados por entidad certificadora, estos archivos se proporcionan a Usted por la entidad certificadora. Al usar certificados autofirmados necesita generar estos archivos Usted mismo. Salte la siguiente sección si tiene certificados SSL confirmados por entidad certificadora.
Generación de certificados autofirmados
Generación de certificados SSL autofirmados incluye un procedimiento sencillo de 3 pasos:
PASO 1: Cree la clave privada de servidor
openssl genrsa -out onlyoffice.key 2048
PASO 2: Cree la solicitud de firma de certificado (CSR)
openssl req -new -key onlyoffice.key -out onlyoffice.csr
PASO 3: Firme el certificado usando la clave privada y CSR
openssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt
Ahora Usted tiene un certificado SSL generado que es válido durante 365 días.
Fortalecimiento de la seguridad del servidor
Esta sección le proporciona unas instrucciones para fortalecer la seguridad de su servidor.
Para lograrlo Usted necesita generar los parámetros DHE más fuertes.
openssl dhparam -out dhparam.pem 2048
Instalación de los certificados SSL
De los cuatro archivos generados antes, Usted necesita instalar los archivos onlyoffice.key
, onlyoffice.crt
y dhparam.pem
en el servidor onlyoffice. El archivo CSR no se requiere, pero asegúrese de hacer la copia de seguridad del archivo (si Usted lo necesita de nuevo) de forma segura.
De forma predeterminada la aplicación onlyoffice está configurada para buscar los certificados SSL en la ruta /var/www/onlyoffice/Data/certs
, sin embargo, esto se puede cambiar usando las opciones de configuración SSL_KEY_PATH
, SSL_CERTIFICATE_PATH
y SSL_DHPARAM_PATH
.
La ruta /var/www/onlyoffice/Data/
es la ruta al almacenamiento de datos, que significa que Usted tiene que crear una carpeta llamada certs dentro de /app/onlyoffice/DocumentServer/data/
y copiar los archivos en esta carpeta, además como medida de seguridad es necesario cambiar derechos de acceso para el archivo onlyoffice.key
para que sólo el propietario tenga permisos de lectura.
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
Y reinicie el contenedor Docker:
sudo docker restart {{DOCUMENT_SERVER_ID}}
Ahora se encuentra a un paso de asegurar nuestra aplicación.
Parámetros de configuración disponibles
Por favor, consulte las opciones del comando docker run para el flag --env-file
donde Usted puede especificar todas las variables de entorno necesarias en un único archivo. De esta forma no tendrá que escribir un largo comando docker run potencial.
A continuación se encuentra una lista completa de parámetros que pueden ser establecidos usando las variables de entorno.
- ONLYOFFICE_HTTPS_HSTS_ENABLED: La opción de configuración avanzada para desactivar la configuración HSTS (HTTP Strict Transport Security, Seguridad de transporte HTTP estricta). Es aplicable únicamente cuando SSL está en uso. Por defecto se establece el valor
true
.
- ONLYOFFICE_HTTPS_HSTS_MAXAGE: La opción de configuración avanzada para establecer el parámetro max-age HSTS en la configuración del host virtual NGINX para onlyoffice. Es aplicable únicamente cuando SSL está en uso. Por defecto se establece el valor
31536000
.
- SSL_CERTIFICATE_PATH: La ruta al certificado SSL usado. Por defecto se establece el valor
/var/www/onlyoffice/Data/certs/tls.crt
.
- SSL_KEY_PATH: La ruta a la clave privada del certificado SSL. Por defecto se establece el valor
/var/www/onlyoffice/Data/certs/tls.key
.
- SSL_DHPARAM_PATH: La ruta al parámetro Diffie-Hellman. Por defecto se establece el valor
/var/www/onlyoffice/Data/certs/dhparam.pem
.
- SSL_VERIFY_CLIENT: Activar verificación de certificados del cliente usando el archivo
CA_CERTIFICATES_PATH file
. Por defecto se establece el valor false
.
- DB_TYPE: The database type. Supported values are
postgres
, mariadb
or mysql
. Defaults to postgres
.
- DB_HOST: La dirección IP o el nombre del host donde el servidor de una base de datos está en ejecución.
- DB_PORT: El número del puerto del servidor de una base de datos.
- DB_NAME: El nombre de una base de datos que debe crearse al iniciar la imagen.
- DB_USER: El nombre de nuevo usuario con autorizaciones de superusuario para la cuenta de una base de datos.
- DB_PWD: La contraseña establecida para la cuenta de una base de datos.
- AMQP_URI: The AMQP URI to connect to the message broker server.
- AMQP_TYPE: The message broker type. Supported values are
rabbitmq
or activemq
. Defaults to rabbitmq
.
- REDIS_SERVER_HOST: La dirección IP o el nombre del host donde el servidor Redis está en ejecución.
- REDIS_SERVER_PORT: El número del puerto del servidor Redis.
- NGINX_WORKER_PROCESSES: Define el número de procesos de trabajo de NGINX.
- NGINX_WORKER_CONNECTIONS: Establece el número máximo de conexiones simultáneas que pueden ser abiertas por un proceso de trabajo NGINX.
- JWT_ENABLED: Gestiona la activación de validación a través de JSON web token por el ONLYOFFICE Docs. Por defecto se establece el valor
true
.
- JWT_SECRET: Define la clave secreta para validar JSON web token en la solicitud al ONLYOFFICE Docs. Por defecto se establece el valor
secret
.
- JWT_HEADER: Define el encabezado HTTP que será usado para enviar JSON web token. Por defecto se establece el valor
Authorization
.
- JWT_IN_BODY: Specifies the enabling the token validation in the request body to the ONLYOFFICE Docs. Defaults to
false
.
- USE_UNAUTHORIZED_STORAGE: Set to
true
if using self-signed certificates for your storage server, e.g. Nextcloud. Defaults to false
.
- GENERATE_FONTS: When
true
, regenerates fonts list and the fonts thumbnails etc. at each start. Defaults to true
.
- METRICS_ENABLED: Specifies the enabling StatsD for ONLYOFFICE Docs. Defaults to
false
.
- METRICS_HOST: Defines StatsD listening host. Defaults to
localhost
.
- METRICS_PORT: Defines StatsD listening port. Defaults to
8125
.
- METRICS_PREFIX: Defines StatsD metrics prefix for backend services. Defaults to
ds.
.
- LETS_ENCRYPT_DOMAIN: Defines the domain for Let's Encrypt certificate.
- LETS_ENCRYPT_MAIL: Defines the domain administator mail address for Let's Encrypt certificate.