Requisitos para obtener una calificación de seguridad A+ en Nextcloud

Tu sitio Nextcloud puede funcionar con normalidad y aun así recibir una calificación baja en un análisis de seguridad externo. Las causas comunes incluyen una versión de servidor obsoleta o desactualizada, la ausencia de encabezado HSTS o un proxy inverso que oculta HTTPS a Nextcloud. Comienza por actualizar Nextcloud, implementar HTTPS en el borde del servidor web público, configurar la confianza del proxy de forma restrictiva y borrar las advertencias que aparecen en la página de administración de Nextcloud.

No existe un estándar universal único de “A+”. El análisis de seguridad oficial de Nextcloud evalúa un servidor Nextcloud visible públicamente utilizando las advertencias conocidas y las comprobaciones de seguridad que puede realizar externamente; SSL Labs califica la configuración TLS. Cualquier calificación debe considerarse un resultado puntual, no una prueba de que el servidor sea seguro ni una garantía contra vulnerabilidades desconocidas.

1. Identifique el escáner y actualice el servidor.

Anota qué escáner generó la calificación antes de cambiar la configuración. El análisis oficial de Nextcloud informa sobre vulnerabilidades conocidas, versiones obsoletas y problemas de seguridad visibles. En cambio, SSL Labs podría proporcionar una calificación de solo TLS. Corrige las advertencias del escáner que estés utilizando y vuelve a ejecutar el mismo análisis; cada servicio utiliza criterios diferentes.

En la configuración de administración de Nextcloud, compruebe la versión del servidor y cualquier advertencia de seguridad o configuración. Actualice a una versión compatible de Nextcloud e instale sus actualizaciones de seguridad más recientes antes de modificar los encabezados. Una versión antigua puede seguir siendo vulnerable incluso si un analizador de encabezados devuelve A+. Si no hay una actualización disponible para su paquete de instalación, siga la ruta de actualización compatible de dicho paquete en lugar de reemplazar los archivos manualmente.

2. Requerir HTTPS y agregar HSTS

Utilice la URL pública de Nextcloud mediante HTTPS con un certificado válido y redirija el tráfico HTTP no cifrado a HTTPS. La guía de seguridad de Nextcloud recomienda HTTPS en los servidores de producción. A continuación, active la seguridad de transporte estricta HTTP (HSTS) en el servidor o proxy que envía la respuesta HTTPS pública. La advertencia para administradores de Nextcloud exige una Strict-Transport-Securityantigüedad máxima de al menos 15 552 000 segundos.

Para Nginx, agregue una directiva como esta al bloque del servidor TLS activo, reemplazando el nombre de host y conservando el resto de su configuración de Nextcloud que funciona correctamente:

add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;
Un bloque de servidor TLS de Nginx que muestra un encabezado HSTS con una antigüedad máxima de 15.552.000 segundos y la opción includeSubDomains.
Configure HSTS en el bloque del servidor HTTPS que envía respuestas a los visitantes públicos.

Úselo includeSubDomainssolo si todos los subdominios también están disponibles a través de HTTPS. No agregue la preloadbandera opcional a la ligera: las listas de precarga del navegador pueden tardar meses en eliminar un dominio después de su envío. Si un proxy inverso gestiona TLS, configure HSTS en ese proxy público; configurarlo solo en un host interno de Nextcloud podría no modificar el encabezado que ve el escáner.

Nextcloud ya envía encabezados básicos como X-Content-Type-Options, X-Frame-Options, Referrer-Policy, y X-Robots-Tagen un entorno predeterminado. Evite agregar versiones duplicadas o conflictivas antes de verificar la respuesta. La configuración de ejemplo de Nextcloud para Nginx muestra cómo servir estos encabezados desde Nginx.

3. Configurar un proxy inverso sin confiar en todos los clientes.

Si Nextcloud utiliza un proxy inverso, indique únicamente la dirección IP real de dicho proxy o el rango de red privada trusted_proxies. Nextcloud solo utiliza encabezados de IP de cliente reenviados para proxies de confianza; confiar en direcciones incorrectas puede permitir que los clientes falsifiquen su IP aparente y comprometan los controles de acceso o los registros.

Por ejemplo, si el proxy de terminación TLS se encuentra realmente en 10.0.0.10, combine las entradas relevantes en la $CONFIGmatriz existente en config/config.php:

'trusted_proxies' => ['10.0.0.10'],
'overwriteprotocol' => 'https',
Un fragmento de código que muestra trusted_proxies configurado en 10.0.0.10 y overwriteprotocol configurado en https.
Estas son solo entradas de ejemplo. Utilice la IP real del proxy e incorpórela a la matriz de configuración de Nextcloud existente.

Establezca overwriteprotocolesta opción httpscuando TLS finalice en el proxy y Nextcloud detecte la conexión HTTP interna como HTTP pública. Si su proxy utiliza un encabezado de IP reenviada no estándar, configúrelo forwarded_for_headerspara que coincida exactamente. No establezca un rango de confianza amplio, como 0.0.0.0/0. Después de editar el archivo, verifique la configuración combinada y pruebe el inicio de sesión, el uso compartido y los enlaces generados.

4. Borra las advertencias restantes de Nextcloud.

Abra la configuración de administración y revise la sección de Información general o las advertencias de seguridad y configuración. Solucione la advertencia que aparece en lugar de aplicar directivas de seguridad irrelevantes para intentar obtener una calificación.

  • Falta HSTS: compruebe la respuesta del punto final HTTPS público, especialmente cuando un proxy o un balanceador de carga finaliza TLS.
  • El servidor parece usar HTTP: confirme que HTTPS esté configurado en el borde y, cuando sea necesario, configúrelo overwriteprotocolpara la configuración del proxy de confianza.
  • Modo de depuración activado: manténgalo debugdesactivado en producción; actívelo solo para solucionar problemas específicos y luego desactívelo.
  • Advertencia sobre el proxy o la IP del cliente: verifique la dirección de origen real del proxy y el encabezado reenviado antes de cambiar la configuración del proxy de confianza.
  • Si se trata de una versión vulnerable o que ha llegado al final de su ciclo de vida, actualice Nextcloud y los paquetes del servidor afectados mediante el proceso de actualización compatible.

Restringir las acciones administrativas solo se aplica allowed_admin_rangessi los administradores tienen rangos de IP de administración estables y conocidos. Un rango erróneo puede ocultar funciones administrativas a los administradores legítimos. La guía de seguridad de Nextcloud también recomienda deshabilitar la compresión HTTP para mitigar la vulnerabilidad BREACH; verifique la configuración de su servidor web o proxy para comprobar si la compresión está habilitada para las páginas autenticadas.

5. Verifique la respuesta del público y vuelva a ejecutar los escaneos.

Comprueba lo que realmente recibe un cliente externo, no solo lo que contiene el archivo de configuración:

curl -I https://cloud.example.com

Confirme que la respuesta incluya un encabezado HSTS con el valor max-age previsto y que estén presentes los encabezados de seguridad básicos de Nextcloud. Las herramientas para desarrolladores del navegador pueden mostrar los mismos encabezados de respuesta. Si los valores difieren de su configuración, revise el terminador TLS, el proxy y cualquier ubicación de Nginx almacenada en caché o anidada.

Un ejemplo de terminal de la salida de curl -I que muestra los encabezados de respuesta HSTS, X-Content-Type-Options y X-Frame-Options.
Inspeccione los encabezados que devuelve la URL HTTPS pública; una línea de configuración por sí sola no confirma lo que reciben los visitantes.

A continuación, ejecute el análisis de seguridad oficial de Nextcloud contra el nombre de host público y revise nuevamente la configuración de administración. Utilice Qualys SSL Labs si necesita una calificación TLS y detalles adicionales. El análisis oficial requiere un nombre de host de Nextcloud accesible; no puede evaluar una instancia privada desde internet.

La página oficial de análisis de seguridad de Nextcloud, con un campo para el nombre de host y un botón de análisis, antes de que se muestren los resultados.
Ejecute el análisis oficial contra el nombre de host público después de realizar los cambios; su calificación es una instantánea, no una garantía de seguridad.

Si la calificación sigue siendo inferior a A+, utilice el hallazgo específico para identificar la capa responsable. Solucione un problema a la vez, compruebe que Nextcloud siga funcionando a través de su URL pública y vuelva a escanear. Una calificación A+ es una señal útil de configuración, pero las actualizaciones, las copias de seguridad, los controles de acceso y la monitorización continua siguen siendo necesarios después de que el escaneo sea satisfactorio.

Documentación oficial

Dejar un comentario

Requisitos para obtener una calificación de seguridad A+ en Nextcloud

Requisitos para obtener una calificación de seguridad A+ en Nextcloud

Solucione los problemas comunes detectados en los análisis de Nextcloud con las últimas actualizaciones, HTTPS y HSTS, una configuración precisa de la confianza en el proxy inverso y comprobaciones con el servidor público.

Habilitar el cifrado del lado del servidor de Nextcloud con impacto medido

Configure Nextcloud SSE para el almacenamiento que lo necesite, proteja las claves de cifrado y mida el impacto en la transferencia y la CPU antes de cifrar los archivos existentes.

Agregar búsqueda de texto completo de Elasticsearch a Nextcloud

Conecta la búsqueda de archivos de Nextcloud con Elasticsearch, indexa el contenido de los documentos y elige una configuración que se adapte a las necesidades de tu servidor y de seguridad.

Establece una política de caducidad fiable para los archivos eliminados de Nextcloud.

Establece una política de caducidad fiable para los archivos eliminados de Nextcloud.

Configure Nextcloud para que elimine los archivos borrados después de un período de retención definido, programe tareas en segundo plano de forma fiable y evite comandos que vacíen la papelera de todos los usuarios.

Borrar la advertencia de Nextcloud sobre índices de base de datos faltantes

Borrar la advertencia de Nextcloud sobre índices de base de datos faltantes

Ejecuta la reparación de OCC de Nextcloud de forma segura, previsualiza los cambios en la base de datos y comprueba por qué persiste la advertencia.

Aumentar el límite de subida web de Nextcloud por encima de 2 GB

Aumentar el límite de subida web de Nextcloud por encima de 2 GB

Permita la carga de archivos más grandes en el navegador Nextcloud alineando la configuración de PHP, Nginx o Apache, el almacenamiento temporal y el tiempo de espera, y verifique qué límite está bloqueando el archivo.

Borre la advertencia de memoria PHP de Nextcloud en el servidor web.

Establezca el límite de memoria PHP que Nextcloud utiliza realmente, reinicie el servicio correcto y confirme la configuración de 512 MB en la Vista general de administración.

Conecta un bucket compatible con S3 al almacenamiento externo de Nextcloud.

Monta un bucket de almacenamiento de objetos compatible en Nextcloud utilizando su backend S3, con el punto final, las credenciales, el ámbito de acceso y los pasos de verificación correctos.

Traslada tus datos de Nextcloud a una unidad externa sin perder espacio de almacenamiento.

Traslada tus datos de Nextcloud a una unidad externa sin perder espacio de almacenamiento.

Traslada de forma segura un directorio de datos de Linux Nextcloud a una unidad externa utilizando un montaje UUID persistente, el modo de mantenimiento, una copia verificada y el enlace simbólico de la ruta original.

Error de la base de datos de Nextcloud después de una actualización: qué comprobar primero

Restaure el acceso a Nextcloud después de una actualización diagnosticando errores SQL, comprobando la conectividad de la base de datos y completando de forma segura las migraciones interrumpidas.