Si ownCloud muestra el mensaje "Error en la comprobación de integridad" tras una actualización, primero abra la advertencia de administrador e inspeccione el informe de archivos no válidos; no edite signature.jsonel archivo, no desactive la comprobación ni vuelva a ejecutar la actualización sin más. El informe identifica si el problema se debe a una discrepancia en un archivo principal, a un archivo faltante o adicional, o a un problema con la firma de la aplicación. Restaure únicamente el código afectado de la versión oficial exacta o instale una aplicación firmada compatible y, a continuación, vuelva a escanear. Este procedimiento se aplica a ownCloud Server (Classic); Infinite Scale utiliza una arquitectura diferente y no emplea este occflujo de trabajo de integridad de PHP.
Por ejemplo, si una actualización de una versión 10.x a otra deja un error index.phpy version.phpse marca como tal INVALID_HASH, es probable que algunos archivos principales aún pertenezcan a una versión diferente o se hayan modificado. Si solo una aplicación instalada manualmente se marca por falta de datos de firma, reemplazar los archivos principales no lo solucionará. Los detalles del error determinan la solución adecuada.
Lea el informe antes de modificar los archivos.
Inicie sesión como administrador y abra la advertencia amarilla de integridad del código; a continuación, seleccione el enlace para ver la lista de archivos no válidos. La documentación de ownCloud 10.16 describe este informe y la opción de volver a escanear la página de administración. Si la página web no está disponible, ejecute las comprobaciones desde el directorio de instalación de ownCloud como usuario del servidor web.
sudo -u www-data ./occ integrity:check-core
sudo -u www-data ./occ integrity:check-app <appid>
Reemplaza www-datacon la cuenta que usa tu servidor web y <appid>con el ID de la aplicación que aparece en el informe. En Docker, ejecuta el mismo occcomando dentro del contenedor ownCloud usando el método habitual de la implementación. Los comandos inspeccionan los archivos principales y una aplicación específica; el manual de ownCloud indica que no existe un único comando manual para escanear todas las aplicaciones.
Utilice el tipo de error para elegir la siguiente acción:
INVALID_HASHUn archivo difiere del hash en su firma. Puede tratarse de una actualización parcial o mixta, una edición local o una modificación inesperada. Compare el archivo con la versión oficial exacta antes de reemplazarlo.
FILE_MISSINGFalta un archivo firmado . Restaúrelo desde el paquete de lanzamiento correspondiente; primero verifique que la implementación, el empaquetado o los permisos no lo hayan omitido.
EXTRA_FILEExiste un archivo en un directorio firmado , pero no forma parte de dicha firma. Puede ser un remanente de una versión anterior o un archivo agregado localmente. Identifique su propietario y propósito antes de eliminarlo.
EXCEPTIONLos datos de la firma pueden estar ausentes, ser inválidos, estar fuera de alcance o estar vinculados a un certificado revocado. Para una aplicación, verifique su código fuente y estado de lanzamiento, y solicite a su responsable una compilación firmada compatible .
Una aplicación de terceros instalada manualmente puede generar una advertencia si no está firmada; ownCloud indica que las aplicaciones sin firmar instaladas fuera del Marketplace pueden permanecer marcadas. Esto no explica un hash de núcleo no válido. Mantenga los resultados de la aplicación y del núcleo separados durante el diagnóstico.
Reparar una discrepancia de núcleo de la versión correspondiente
- Realice una copia de seguridad recuperable. Antes de reemplazar los archivos del servidor, conserve la base de datos, la configuración y los datos según el procedimiento de copia de seguridad de su implementación. Si la actualización está incompleta o el servicio es inestable, active el modo de mantenimiento y detenga el tráfico web antes de la reparación. No considere una copia de archivos como un sustituto de una copia de seguridad de la base de datos.
- Confirme la versión de ownCloud que está ejecutando. Revise la vista general de administración y la información de la versión en el disco. Asegúrese de que el proceso de actualización se haya completado y que todos los nodos o contenedores del clúster ejecuten la misma versión de destino. Revise los registros de actualización para detectar interrupciones en la extracción, errores de permisos o comandos que se detuvieron prematuramente.
- Obtenga el archivo oficial de esa versión exacta. No utilice un archivo "más reciente" si la instancia está en una versión anterior. Extráigalo a un directorio temporal aparte y compare solo las rutas marcadas. Si un archivo está personalizado por su distribución o herramienta de implementación, comprenda dicha personalización antes de reemplazarlo.
- Reemplace con cuidado los archivos principales afectados. Para los archivos principales confirmados, copie las versiones oficiales del archivo correspondiente, conservando la configuración de la instancia, los datos y los directorios de aplicaciones compatibles. Evite sobrescribir un nuevo archivo de servidor sobre uno antiguo sin seguir las instrucciones de actualización: los archivos residuales de versiones anteriores pueden causar
EXTRA_FILEproblemas. Restaure la propiedad y los permisos normales utilizando el método documentado para su instalación.
- Vuelva a ejecutar la comprobación correspondiente. Úsela
integrity:check-corepara los hallazgos principales o integrity:check-app <appid>para una aplicación específica. También puede usar la opción de volver a escanear en la página de administración. No edite ni elimine manualmente signature.json; se trata de los datos de la firma que necesita el verificador.
La guía de firma de código de ownCloud ofrece ejemplos como la restauración del archivo correcto index.phpdesde version.phpel archivo de lanzamiento, la eliminación de un archivo adicional innecesario identificado y la restauración de un archivo faltante .htaccessdesde el archivo tarball del servidor oficial. Estos son solo ejemplos, no una lista de reemplazo universal: siga las rutas exactas que aparecen en su propio informe.
Gestionar una advertencia de la aplicación sin enmascararla
Para una aplicación marcada tras la actualización del servidor, primero confirme que es compatible con la versión de ownCloud de destino. Desactive la aplicación incompatible mediante el procedimiento de administración o de línea de comandos, y luego instale una versión oficial compatible desde Marketplace o el desarrollador de la aplicación. Si una aplicación firmada previamente ya no está firmada o su certificado aparece como revocado, póngase en contacto con el desarrollador para obtener una versión de reemplazo debidamente firmada. No copie los datos de firma de otra aplicación o versión; las firmas están vinculadas al contenido de la aplicación y al alcance del certificado.
Si la aplicación marcada es una aplicación personalizada mantenida por su organización, el responsable autorizado de la aplicación debe compilar y firmar la versión utilizando el proceso adecuado y credenciales de firma de confianza. Los administradores no deben crear una firma de reemplazo para permitir el paso de código desconocido o modificado. Si no puede determinar el origen y la integridad de un archivo, conserve el informe e investigue el problema como una posible vulnerabilidad de seguridad en lugar de suprimir la advertencia.
Verificar la reparación
Vuelva a ejecutar la comprobación de integridad correspondiente y actualice la vista general de administración. Confirme que las mismas rutas ya no aparecen, que la advertencia ha desaparecido para el componente reparado y que los registros de ownCloud no muestran nuevos errores de actualización o permisos. Pruebe el inicio de sesión, la lista de archivos, la carga y la aplicación afectada. En una implementación de varios nodos, compruebe cada nodo; un resultado correcto en un servidor no demuestra que todos los nodos utilicen el mismo código.
Si el problema persiste, detenga la sustitución de archivos y compare el árbol de ejecución con el paquete, la imagen de implementación o el volumen montado exactos para esa versión. Verifique si hay una segunda copia del código, montajes de enlace obsoletos, un script de implementación que restaura archivos antiguos o parches locales. Consulte la guía de firma de código e integridad de ownCloud 10.16 , las instrucciones de actualización de ownCloud y la documentación de restauración correspondientes a su versión . Esta página corresponde a ownCloud Server 10.16; las versiones anteriores pueden diferir, así que elija la documentación que coincida con la versión instalada.