Releases
Releases
Posted By —

WP Cerber Security 10


English version: WP Cerber Security 10


WP Cerber 10 вносит множество важных изменений в Traffic Inspector, сканер вредоносных программ, контроль доступа к REST API и административную панель WordPress. Мы улучшили обработку ненадежных данных плагином, повысили согласованность проверок безопасности и исправили ряд проблем, влияющих на аутентификацию и отслеживание сессий.

В этом релизе также улучшена совместимость с хостинговыми средами, где отсутствует расширение PHP mbstring. Для администраторов, занимающихся устранением неполадок с уведомлениями по электронной почте, мы добавили опциональное диагностическое логирование, которое поможет выявить причины проблем с доставкой.

Основные моменты

  • Более безопасная проверка загружаемых файлов. Traffic Inspector теперь ограничивает проверку и удаление файлов только подлинными загрузками, с более последовательной проверкой на наличие запрещенных имен файлов.
  • Улучшена защита REST API. WP Cerber теперь применяет настроенные ограничения доступа согласованно для дополнительных форматов запросов REST API.
  • Более надежное сканирование на наличие вредоносных программ. Улучшенная обработка имен файлов защищает работу сканера и административный интерфейс, а также исправляет проблемы с файлами, содержащими необычные символы.
  • Усилена защита административной панели. Улучшена обработка ненадежного контента и ужесточены проверки прав доступа к пользовательской информации.
  • Более точное отслеживание входов в систему. Теперь истекшие и аннулированные сессии отличаются от реальных неудачных попыток входа, а новые события в журнале активности упрощают расследование.
  • Улучшена совместимость без mbstring. Обработка резервных вариантов предотвращает ряд критических ошибок PHP, а функция System Readiness объясняет, для каких функций расширение по-прежнему требуется.
  • Новые параметры конфигурации. Две константы в wp-config.php включают диагностику уведомлений по электронной почте и позволяют администраторам удалить ссылку на документацию со страницы 403 WP Cerber.

Новые функции

Диагностика отсутствующих уведомлений по электронной почте

Устранение неполадок, связанных с отсутствующими уведомлениями безопасности, может быть сложным, особенно когда тестовые письма приходят успешно, а некоторые оповещения — нет. Новая константа CERBER_MAIL_DEBUG включает диагностическое логирование, которое помогает определить, что вызвало уведомление и что произошло, когда WP Cerber попытался его отправить.

Ведение журнала отключено по умолчанию. Если соответствующая константа явно не включена, WP Cerber не собирает дополнительных диагностических данных об электронной почте. Включение ведения журнала не влияет на успешность или неудачу отправки электронных писем.

Пожалуйста, ознакомьтесь с этим руководством: Устранение неполадок с уведомлениями по электронной почте в WP Cerber.

Возможность скрыть ссылку на документацию на странице 403.

Встроенная страница ошибки 403 плагина WP Cerber содержит ссылку «Подробнее: Документация» на сайт wpcerber.com. Ранее для удаления этой ссылки требовалось изменить код плагина.

Теперь вы можете скрыть его, добавив следующую константу в wp-config.php :

 define( 'CERBER_HIDE_403_DOC_LINK', true );

При включении этой функции WP Cerber удаляет абзац с документацией со страницы ошибки 403.

Решающие перемены

Ограничения REST API для сайтов, использующих постоянные ссылки PATHINFO.

Теперь WP Cerber более последовательно применяет ограничения доступа к REST API к сайтам, использующим постоянные ссылки в формате PATHINFO, включая некоторые конфигурации сервера, которые не передают PATH_INFO в PHP. В зависимости от существующих настроек REST API, некоторые запросы, которые ранее были разрешены, теперь могут быть заблокированы.

Теперь проверка запрещенных имен файлов распространяется и на загрузку нескольких файлов.

Теперь Traffic Inspector проверяет запрещенные имена файлов в полях загрузки, принимающих несколько файлов, включая вложенные поля. Файлы с именами, нарушающими существующие ограничения, будут получать ответ HTTP 403.

Каждый запрос также ограничен 100 загружаемыми файлами. Запросы, превышающие этот лимит, отклоняются и регистрируются в журнале активности.

Подписка на оповещения о сбоях подписи файлов cookie

Теперь аутентификационные файлы cookie с недействительными подписями получают новый статус «Несоответствие подписи файла cookie» в журнале действий.

Поскольку подписки на оповещения соответствуют определенным статусам событий, подписки, настроенные для статусов, ранее назначенных этим сбоям, больше не будут им соответствовать.

Если вы используете оповещения на основе статуса для обнаружения сбоев аутентификации с помощью cookie-файлов, проверьте свои подписки на оповещения после обновления. Записи в журнале истории активности сохраняют свои исходные статусы.

Изменения в системе безопасности

Более безопасная обработка файлов во время проверки при загрузке.

Traffic Inspector проверяет загруженные файлы на наличие вредоносного содержимого и удаляет файлы, не прошедшие проверку безопасности. Для корректной работы плагин должен отличать фактические загрузки от других данных, предоставленных в HTTP-запросе.

Мы улучшили обработку запросов, так что Traffic Inspector считывает и удаляет только те файлы, которые PHP идентифицирует как загружаемые файлы, относящиеся к текущему запросу. Это изменение позволяет сосредоточить проверку файлов на подлинных загружаемых файлах и предотвращает влияние обработки загрузки на файлы, не имеющие к ним отношения.

Существующая процедура обработки обнаруженных вредоносных загрузок остается в силе. Traffic Inspector продолжает удалять загруженный файл, регистрировать событие и применять мягкую блокировку IP-адреса.

Последовательная проверка запрещенных названий загружаемых файлов.

Ограничения на имена файлов являются важной частью защиты при загрузке в Traffic Inspector. В этом релизе улучшен способ применения этих ограничений WP Cerber к различным структурам полей загрузки. Теперь каждый загружаемый файл проверяется индивидуально, независимо от того, содержит ли запрос один файл, несколько файлов или вложенные поля загрузки. Кроме того, проверка обрабатывает данные загрузки согласованно, не обрабатывая один и тот же файл более одного раза.

Чтобы обработка загружаемых файлов оставалась в пределах установленных лимитов, WP Cerber теперь принимает максимум 100 файлов за один запрос. Запросы, превышающие этот лимит, отклоняются с ошибкой HTTP 403 и регистрируются с новым статусом «Превышено допустимое количество загружаемых файлов» . Это условие не приводит к блокировке IP-адреса.

Более согласованный контроль доступа к REST API

WordPress поддерживает несколько способов маршрутизации запросов к своему REST API. Ограничения доступа WP Cerber должны применяться согласованно ко всем запросам, которые распознает WordPress, независимо от конфигурации постоянных ссылок сайта.

Мы обновили обработку запросов REST API для повышения согласованности между маршрутизацией WordPress и проверками контроля доступа WP Cerber. Изменения затрагивают существующие настройки «Блокировать доступ к данным пользователей через REST API» и «Отключить REST API» .

Более безопасное отображение информации о блокировке

Причины блокировки могут содержать информацию из ненадежных источников. WP Cerber отображает эти причины на нескольких экранах администрирования, где они должны обрабатываться как текст, а не как исполняемый файл.

Мы исправили отображение причин блокировки на странице «Блокировки», в виджетах панели управления и в соответствующих представлениях с подробной информацией об IP-адресах в журнале активности и инспекторе трафика.

Обновленная обработка выходных данных также охватывает блокировки, связанные с запрещенными именами пользователей. Ранее кэшированные IP-адреса не используются повторно после обновления. Эти изменения гарантируют безопасное отображение информации о блокировках, сохраняя при этом детали, необходимые администраторам при расследовании заблокированной активности.

Для пользователей Cerber.Hub: Каждый управляемый веб-сайт отображает информацию, представленную на главном веб-сайте Cerber.Hub. Обновите каждый управляемый веб-сайт до WP Cerber 10, чтобы применить эти исправления ко всей вашей установке.

Улучшена обработка имен файлов в сканере вредоносных программ.

Сканер вредоносных программ работает с именами файлов и расширениями из каталогов, которые могут содержать неожиданные или необычные значения. Эти значения должны обрабатываться согласованно при запросе сканером своих записей, создании отчетов или отображении информации о файлах в административной панели WordPress.

Мы улучшили обработку имен файлов в нескольких операциях сканирования, включая просмотр файлов, массовые действия и отчеты Insights.

Теперь имена файлов и расширения обрабатываются как данные во время операций с базой данных и отображаются в административном интерфейсе как обычный текст. Это предотвращает влияние неожиданных значений на записи сканера или их интерпретацию как разметки.

Внесенные изменения также повышают точность статистики расширений файлов и улучшают обработку результатов сканирования. Все записи о расширениях, затронутые предыдущим поведением, будут исправлены во время следующего полного сканирования.

Отчеты Cached Insights, созданные в более ранних версиях, перестраиваются, а не используются повторно.

Ужесточение прав доступа к информации о пользователях.

WP Cerber добавляет информацию, связанную с безопасностью, на экран пользователей WordPress. Доступ к данным пользователя должен соответствовать разрешениям WordPress.

Мы обновили эти запросы, теперь для их выполнения требуются либо права доступа менеджера WP Cerber, либо возможность использования list_users в WordPress.

В многосайтовых установках WordPress дополнительные проверки членства ограничивают доступ к данным пользователей, принадлежащих текущему сайту, где это применимо. Запросы, содержащие недействительные или несанкционированные идентификаторы пользователей, отклоняются.

Улучшена аутентификация и обработка сессий.

Мы усовершенствовали обработку отклоненных файлов cookie аутентификации в WP Cerber и регистрацию неудачных попыток входа в систему.

Теперь, когда срок действия или срок действия сессионного cookie истекает или он отзывается, WP Cerber удаляет устаревшие cookie аутентификации только тогда, когда это безопасно. Это позволяет избежать вмешательства в работу действительных учетных данных аутентификации или активного процесса двухфакторной аутентификации .

Мы также исправили взаимодействие между проверкой сессии и отслеживанием неудачных попыток входа в систему. Теперь подлинные неудачные попытки входа в систему регистрируются и подсчитываются корректно, даже если в ходе того же запроса обнаруживается отклоненный cookie-файл сессии.

Опыт работы администратором

Более четкое разграничение между проблемами с сессиями и неудачными попытками входа в систему.

Истекшая сессия не обязательно означает неудачную попытку входа в систему. До сих пор WP Cerber мог регистрировать истекшие или отозванные cookie-файлы сессии как неудачные попытки входа, что делало журнал активности менее точным.

Новое событие "Session cookie rejected" регистрирует ошибки проверки сессии отдельно от неудачных попыток входа в систему.

Две причины объясняют, почему сессия была отклонена:

  • Срок действия сессионного cookie истек: период аутентификации cookie завершился.
  • Токен сессии больше недействителен: сессия больше не распознается как действительная.

Эти события отображаются в группе действий «Проблемы со входом в систему» .

Аутентификационные файлы cookie с недействительными подписями регистрируются с новым статусом "Несоответствие подписи файла cookie" .

Это различие упрощает расследование проблем со входом в систему, позволяя не путать истекшие сессии с неудачными попытками авторизации.

В разделе «Готовность системы» теперь объясняется отсутствие поддержки mbstring.

Теперь виджет «Готовность системы» предоставляет более понятное объяснение в случае отсутствия расширения PHP mbstring . Он указывает на отсутствующее требование, описывает затронутую функциональность и объясняет, как включить расширение. Отдельное сообщение описывает установки, в которых mbstring доступен, но отсутствуют функции регулярных выражений, необходимые для WP Cerber.

Более точные сообщения об ошибках сканера вредоносных программ

Мы улучшили способ отображения ошибок поиска в базе данных и файлах в отчетесканера вредоносных программ .

Ошибка базы данных больше не отображается как отсутствующий файл. Программа просмотра файлов отображает соответствующую ошибку, а при пакетных операциях вместо менее информативного сообщения «Неизвестный файл» отображается сообщение «Не удалось найти <файл> в результатах сканирования» .

Улучшение надежности

Более корректная обработка случаев недоступности PHP mbstring.

Для полноценной работы WP Cerber требуется расширение PHP mbstring . Однако в некоторых хостинговых средах оно может быть отключено или не предоставлять все функции, ожидаемые плагином.

Ранее это могло вызывать критические ошибки PHP в нескольких частях веб-сайта WordPress. В некоторых случаях обновление плагина на сервере без mbstring могло привести к недоступности как самого веб-сайта, так и страницы входа в систему.

Улучшения охватывают следующие области:

  • Обновления плагина и обычные запросы к веб-сайту. Затронутые участки кода больше не вызывают повторяющихся критических ошибок при отсутствии mbstring .
  • Вход и регистрация. Запросы на аутентификацию и регистрацию могут продолжаться без критических ошибок, вызванных обработкой регулярных выражений, содержащих запрещенные имена пользователей.
  • Установка в подкаталоги. Веб-сайты, установленные в подпапке с красивыми постоянными ссылками, больше не будут давать сбои из-за затронутых функций.
  • Оповещения об активности. Функция сопоставления оповещений больше не прерывает регистрируемое действие WordPress.
  • Администрирование нескольких сайтов. Страницы администрирования сети больше не выдают ошибок при поиске файлов в затронутых каталогах загрузки.
  • Управление настройками. Фильтрация настроек и перенаправления после сохранения продолжают работать, сохраняя существующее поведение фильтра.
  • Инспектор дорожного движения. Журнал дорожного движения остается доступным, при необходимости классификация User-Agent возвращается к значению «Неизвестно» .

Эти изменения повышают отказоустойчивость, но не отменяют требование к mbstring .

Некоторые функции остаются ограниченными и без расширения. Правила регулярных выражений в списке запрещенных имен пользователей пропускаются, хотя правила точного совпадения продолжают работать. Поиск оповещений об активности использует резервный поиск без эквивалентного поведения Unicode, учитывающего регистр символов. Сканер вредоносных программ по-прежнему требует mbstring .

Проверена совместимость

Мы протестировали этот релиз с PHP 7.4.33, 8.0.30, 8.1.34, 8.2.35, 8.3.36, 8.4.27 и 8.5.12.

В ходе тестирования были проверены следующие версии WordPress: 6.6.6, 6.7.6, 6.8.7, 6.9.6 и 7.1.4.

Исправлены ошибки

  • Истекшие или аннулированные сессии ошибочно учитывались как неудачные попытки входа в систему. Эти события больше не расходуют лимит неудачных попыток входа по IP-адресу, не приводят к блокировке Citadel или IP-адресов, не генерируют записи fail2ban , не вызывают оповещения о неудачных попытках входа в систему и не приводят к ответу HTTP 403. Остается один частный случай: изменение пароля или его перехеширование во время входа в систему может сделать недействительной подпись старого cookie-файла и привести к тому, что он будет учтен как неудачная попытка входа.
  • Операции сканирования не выполнялись для файлов, имена которых содержали кавычки или обратные косые черты. Теперь файлы с такими символами можно открыть в программе просмотра файлов и обработать с помощью кнопок «Удалить» или «Игнорировать». Сообщения массовых действий отображают свои имена корректно, а ссылки расширений Insights работают с этими символами.
  • Ссылки сканера не работали для некоторых специальных символов. Мы исправили обработку имен файлов и расширений, содержащих такие символы, как & , # , + и % . Ссылки на расширение просмотра файлов и Insights теперь корректно открывают соответствующие результаты.
  • Результаты удаления и игнорирования были непоследовательными. Теперь при выполнении действий из отображения результатов удаляются только затронутые строки. Имена файлов, содержащие кавычки, больше не препятствуют появлению всплывающего окна с результатами.
  • Некорректные запросы сканера могли вызывать предупреждения PHP или критические ошибки. Теперь сканер обрабатывает неожиданные значения имен файлов и некорректные параметры запроса без возникновения этих ошибок. Некорректные записи в пакетных запросах получают сообщение «Некорректное имя файла в запросе» , и средство просмотра файлов больше не отображает повторяющиеся ошибки после отклонения некорректного имени.

I'm a team lead in Cerber Tech. I'm a software & database architect, WordPress - PHP - SQL - JavaScript developer. I started coding in 1993 on IBM System/370 (yeah, that was amazing days) and today software engineering at Cerber Tech is how I make my living. I've taught to have high standards for myself as well as using them in developing software solutions.

View Comments
There are currently no comments.