# Безопасность файлов Устанавливаемый модуль «Безопасность файлов» контролирует изменение исходников, проверяет загрузки и помогает изолировать подозрительные пользовательские файлы. ## Первый запуск 1. Откройте `Модули` и установите модуль «Безопасность файлов». 2. Проверьте исходный код проекта из доверенного источника. 3. Откройте раздел модуля и нажмите основную кнопку `Создать эталон`. 4. После завершения запустите обычную проверку исходного кода. Эталон хранит SHA-256, размер и время изменения файла. Он не хранит содержимое исходников и секреты конфигурации. Пока эталон исходников пуст, обычная проверка исходного кода заблокирована. Это не позволяет получить ложный отчёт, в котором каждый файл отмечен как новый. ## Типы находок - **Контроль целостности** - файл появился, исчез или отличается от эталона. - **Эвристика** - обнаружена опасная комбинация функций, обфускация, PHP внутри загрузки, двойное расширение или изменение серверного обработчика. - **Ошибка сканера** - файл не удалось прочитать или вычислить его SHA-256. Эвристика может сработать на легитимный технический код. Откройте файл и проверьте контекст перед принятием решения. ## Действия - `Принять в эталон` - доверять текущей версии изменённого исходника. - `Игнорировать` - оставить находку в журнале, но убрать из открытых. - `Вернуть в работу` - снова показывать находку как открытую. - `В карантин` - переместить загрузку за пределы публичного каталога. - `Восстановить` - вернуть файл карантина по исходному пути. Системные PHP-файлы нельзя автоматически отправить в карантин: их перемещение может немедленно остановить сайт. Такие файлы восстанавливайте из проверенного релиза или резервной копии. ## Автоматическая проверка Для ручного и автоматического запуска доступны три уровня: - **Быстрая** - проверяет публичную и административную точки входа, `.htaccess`, основные конфиги и файлы загрузочных правил. Подходит для частого контроля. - **Системная** - проверяет исполняемые файлы ядра, панели, модулей, установщика и шаблонов, не обходя тяжёлые статические библиотеки. Это рекомендуемый режим периодической проверки. - **Полная** - обходит все файлы выбранной области. Запускайте её после обновления, переноса сайта или при расследовании инцидента. Контрольный эталон всегда строится в полном режиме. Частичная проверка сравнивает только относящиеся к своему уровню файлы и не помечает остальные файлы эталона как исчезнувшие. Web-runner не требует CLI. После заданного интервала публичный запрос создаёт проверку, а следующие запросы продолжают её порциями. Работа выполняется после формирования публичного ответа и ограничена по времени, поэтому сканирование не должно задерживать страницу. При открытом разделе безопасности браузер отправляет порции подряд и показывает живой прогресс. Без публичных запросов и без открытой страницы модуля web-runner выполнять код не может. При небольшом трафике выбирайте быструю автопроверку, а системную или полную запускайте вручную и дождитесь завершения индикатора. Одновременно работает только один запуск. Автоматический режим можно выключить независимо от защиты загрузок. При выключении модуля прекращаются проверки, защита загрузок, уведомления и виджет, но данные остаются. Деинсталляция удаляет эталон, историю, находки, настройки и карантин. После переустановки модуль начинает работу с чистого состояния и требует создать новый эталон.