Чтобы устранить предупреждение Nextcloud «Некоторые файлы не прошли проверку целостности», сначала откройте «Настройки администрирования» → «Обзор» → «Список недействительных файлов…» , а затем восстановите или удалите только те файлы, которые указаны в отчете. Не изменяйте signature.jsonи не отключайте проверку: ошибки целостности могут указывать на неполное обновление, случайную настройку или неожиданный файл, требующий исследования.
Перед изменением файлов ознакомьтесь с отчетом.
Предупреждение появляется на странице обзора администратора. В документации Nextcloud по цифровой подписи кода описаны два полезных действия: просмотр списка недействительных файлов и запуск повторного сканирования. В отчете проблемы группируются по компонентам, например, coreпо приложениям, и указывается тип ошибки и путь к файлу. Текущее руководство администратора Nextcloud 35 описывает те же действия и occкоманды проверки целостности.
INVALID_HASHФайл отличается от хеша, записанного в его подписи. Это может быть вызвано локальным редактированием, неполной заменой во время обновления или неожиданными изменениями.MISSING_FILEОтсутствует подписанный файл. Возможно, он был случайно удален или пропущен во время обновления.EXTRA_FILEФайл существует в установочных файлах, но не входит в набор подписанных файлов. Это может быть локальный файл, остаток от старого релиза или файл, требующий проверки безопасности.EXCEPTION: проверяющий не смог подтвердить подпись, например, из-за отсутствия или недействительности необходимых данных подписи. Проверьте указанное приложение и его исходный код.
Эти метки описывают результат проверки, а не причину. Дополнительный файл не обязательно является вредоносным, а несоответствие хеша не является доказательством компрометации. Запишите компонент, путь и ошибку и сравните их с вашим методом развертывания и последними изменениями.
Проведите целевую проверку
Если у вас есть доступ к командной оболочке, запустите команду occот имени пользователя веб-сервера из каталога установки Nextcloud. Правильная учетная запись и команда PHP могут различаться в зависимости от операционной системы, образа контейнера, Snap или хостинг-провайдера. В распространенной установке Apache на Debian или Ubuntu, при расположении Nextcloud по адресу /var/www/nextcloudи использовании веб-пользователя www-data, используйте:
cd /var/www/nextcloud
sudo -E -u www-data php occ integrity:check-core
sudo -E -u www-data php occ integrity:check-app calendar
Замените calendarна идентификатор приложения, указанный в вашем отчете. Основная проверка проверяет файлы сервера Nextcloud; проверка приложения проверяет одно именованное приложение. В руководстве Nextcloud 35 также описана occ integrity:check-app --allпроцедура проверки установленных приложений. Успешная проверка может не выдать никакого результата; используйте ее, -vкогда вам необходимо подтверждение. Если ваша установка контейнеризирована или управляется пакетом, используйте описанный в нем способ вызова occи фактического веб-пользователя, а не копируйте эти пути вслепую.
Восстановите файлы из надежного источника.
Для основных файлов
Для версий Nextcloud INVALID_HASHниже используйте точно такую же версию Nextcloud MISSING_FILE, coreкоторая установлена в данный момент. Получите чистый архив из официального источника загрузки или восстановите соответствующие файлы из заведомо исправной резервной копии или артефакта развертывания. Сравните установленную версию перед заменой файлов и сохраните конфигурацию для конкретного сайта и каталог данных. Если после прерванного обновления несколько основных файлов выйдут из строя, восстановите развертывание или повторно запустите поддерживаемый процесс обновления для данного типа установки, вместо того чтобы заменять отдельные файлы случайным образом.
Проверьте EXTRA_FILEпуть и выясните, кто его создал. Переместите локальный файл за пределы каталога кода Nextcloud, если он не является частью установки; сначала сохраните его копию, если он может содержать необходимую пользовательскую информацию. Если файл незнаком или вызывает подозрения, сохраните его для дальнейшего исследования и просмотрите журналы доступа и историю развертывания, прежде чем удалять его. Не удаляйте произвольные файлы только для того, чтобы исчезло предупреждение.
Для файлов приложений
Для подписанного приложения с измененными или отсутствующими файлами переустановите ту же совместимую версию приложения из официального магазина приложений Nextcloud или из доверенного канала релизов разработчика приложения. Сначала сделайте резервную копию каталога приложения, если он содержит локальные изменения. Если это пользовательское или неподписанное приложение, сообщение о целостности может отражать его статус подписи или реализацию; обратитесь к разработчику, а не создавайте данные подписи. В документации Nextcloud указано, что не следует изменять файл подписи приложения signature.json. Подписание кода для ядра и приложений обеспечивает способ обнаружения изменений и неполных обновлений, поэтому изменение записанных хешей сводит на нет эту цель.
При передаче файлов-заменителей через FTP Nextcloud настоятельно рекомендует использовать двоичный режим передачи. Преобразование в текстовый режим может изменить байты и создать новое несоответствие хеша.
Повторно отсканируйте и подтвердите результат.
- Повторно выполните соответствующую команду проверки целостности ядра или приложения или вернитесь в раздел «Администрирование» → «Обзор» и выберите «Повторное сканирование…» .
- Убедитесь, что затронутый компонент больше не отображается в списке недействительных файлов. Если вы использовали CLI, успешная проверка приложения не выдаст никакого результата, или же подробный вывод подтвердит результат.
- Перезагрузите страницу «Обзор» и убедитесь, что предупреждение исчезло. Если оно осталось, откройте обновленный отчет; возможно, он выявит другой файл или другой компонент.
Если ошибка повторяется немедленно, выясните, восстанавливает ли измененный файл ваш процесс развертывания, пользовательские настройки или смонтированный том. Для проверки исключений сигнатур проверьте поддерживаемую версию приложения и обратитесь к его разработчику. Если в отчете обнаружен файл дампа памяти, который вы не можете отследить, рассматривайте это как проблему безопасности и развертывания и перед продолжением проверьте доверенные резервные копии и журналы сервера.
См. официальную документацию Nextcloud по цифровой подписи кода и обеспечению целостности , справочник команд обеспечения целостности Nextcloud 35 и официальный архив релизов сервера Nextcloud .