В PHP обнаружены критические уязвимости, позволяющие злоумышленникам получить полный контроль над сервером. Для владельцев сайтов на 1С-Битрикс это означает необходимость срочного PHP обновления — промедление грозит компрометацией данных клиентов и остановкой бизнеса. Разбираемся, как проверить систему на уязвимости и правильно обновить PHP без потери функциональности.
Что случилось: критические уязвимости PHP
В октябре вышли обновления PHP, закрывающие несколько опасных уязвимостей. Главная угроза — возможность удалённого выполнения кода (RCE), когда атакующий может запустить произвольные команды на сервере без авторизации. Для сайтов на 1С-Битрикс это особенно критично: CMS активно использует PHP для обработки запросов, работы с базой данных и файловой системой.
Уязвимости затрагивают широкий спектр версий PHP. Проблемы обнаружены в обработке HTTP-заголовков, парсинге multipart-данных и работе с памятью. Эксплойты уже появились в публичном доступе, что резко повышает риск массовых атак на незащищённые серверы.
Особенность ситуации в том, что многие хостинг-провайдеры не обновляют PHP автоматически — владельцы сайтов должны инициировать обновление самостоятельно. По статистике, до 40% сайтов на 1С-Битрикс работают на устаревших версиях PHP, что делает их лёгкой мишенью.
Как проверить ваш сервер на уязвимости
Первый шаг — определить текущую версию PHP на сервере. Для этого создайте файл с именем phpinfo.php в корневой директории сайта со следующим содержимым:
Откройте в браузере адрес вашсайт.ru/phpinfo.php и найдите строку PHP Version в самом начале страницы. После проверки обязательно удалите этот файл — он содержит подробную информацию о конфигурации сервера, которая может помочь злоумышленникам.
Альтернативный способ — через административную панель 1С-Битрикс. Зайдите в раздел «Настройки» → «Производительность» → «Панель производительности». Там отображается версия PHP и рекомендации по обновлению.
Уязвимыми считаются следующие версии:
- PHP 8.3.x ниже 8.3.13
- PHP 8.2.x ниже 8.2.25
- PHP 8.1.x и более старые ветки, которые уже не получают обновлений безопасности
Если ваша версия попадает в этот список, обновление необходимо провести в ближайшее время. Проверьте также логи сервера на предмет подозрительной активности: множественные POST-запросы к несуществующим файлам, обращения к системным директориям, попытки загрузки файлов с расширениями .phtml или .phar.
Пошаговая инструкция по обновлению PHP для Битрикс
Процесс обновления PHP требует тщательной подготовки, особенно для продакшн-сайтов. Неправильное обновление может привести к падению сайта или потере функциональности.
Подготовительный этап
Перед началом работ создайте полную резервную копию сайта и базы данных. В панели 1С-Битрикс это делается через раздел «Настройки» → «Резервное копирование». Сохраните копию на локальный компьютер, а не только на сервере.
Проверьте совместимость установленных модулей с новой версией PHP. В разделе «Marketplace» → «Установленные решения» посмотрите список всех модулей. Зайдите на сайт разработчика каждого платного модуля и уточните, поддерживает ли он целевую версию PHP. Для стандартных модулей 1С-Битрикс информация есть в документации на сайте dev.1c-bitrix.ru.
Обновление на виртуальном хостинге
Если сайт размещён на виртуальном хостинге, процесс обычно упрощён. Зайдите в панель управления хостингом (ISPmanager, cPanel или проприетарную панель провайдера). Найдите раздел «Выбор версии PHP» или «PHP Settings».
Выберите версию PHP 8.2.25 или выше из выпадающего списка. Если новейшая версия недоступна, свяжитесь с технической поддержкой хостинга — они должны предоставить безопасные версии в течение нескольких дней после релиза.
После переключения версии проверьте работу сайта: откройте главную страницу, страницу каталога, корзину, оформление заказа. Проверьте административную панель — откройте несколько разделов, попробуйте отредактировать страницу.
Обновление на выделенном сервере или VPS
На собственном сервере процесс сложнее и зависит от операционной системы. Для Ubuntu/Debian используйте репозиторий ondrej/php:
sudo add-apt-repository ppa:ondrej/phpsudo apt updatesudo apt install php8.2 php8.2-fpm php8.2-mysql php8.2-xml php8.2-mbstring php8.2-gd php8.2-curl
Для CentOS/RHEL подключите репозиторий Remi и установите нужную версию через yum или dnf. После установки пакетов настройте веб-сервер (Apache или Nginx) на использование новой версии PHP-FPM.
Перезапустите веб-сервер и PHP-FPM:
sudo systemctl restart php8.2-fpmsudo systemctl restart nginx
Решение проблем совместимости
После обновления могут возникнуть ошибки, связанные с устаревшим кодом. Типичные проблемы:
- Ошибки с динамическими свойствами классов — в PHP 8.2 запрещено создавать свойства на лету
- Предупреждения об устаревших функциях — некоторые функции помечены как deprecated
- Проблемы с кодировкой строк — изменилось поведение функций работы со строками
Включите режим отладки в 1С-Битрикс, чтобы видеть все ошибки. В файле .settings.php найдите секцию exception_handling и установите значение debug в true. Это позволит собрать информацию об ошибках для их исправления.
Временные меры защиты, если обновление невозможно
Если немедленное обновление PHP невозможно из-за несовместимости критичных модулей, примените временные меры защиты. Они не заменяют обновление, но снижают риск эксплуатации уязвимостей.
Настройте веб-сервер на блокировку подозрительных запросов. Для Nginx добавьте в конфигурацию сайта правила фильтрации:
if ($request_method !~ ^(GET|POST|HEAD)$ ) { return 444; }if ($http_user_agent ~* (nmap|nikto|wikto|sf|sqlmap|bsqlbf|w3af|acunetix|havij|appscan) ) { return 403; }
Установите файрвол уровня приложений, например ModSecurity для Apache или его аналог для Nginx. Используйте набор правил OWASP Core Rule Set, который блокирует типичные векторы атак, включая попытки RCE.
Ограничьте доступ к административной панели 1С-Битрикс по IP-адресам. В файле .htaccess в директории /bitrix/admin/ добавьте:
Order Deny,AllowDeny from allAllow from ваш.IP.адрес
Включите двухфакторную аутентификацию для всех администраторов сайта. В 1С-Битрикс это настраивается в разделе «Настройки» → «Безопасность» → «OTP». Используйте приложения-аутентификаторы типа Google Authenticator или Authy.
Настройте мониторинг целостности файлов. Инструмент AIDE или Tripwire будет отслеживать изменения в системных файлах и файлах CMS, оповещая о несанкционированных модификациях — признаке успешной атаки.
Последствия игнорирования обновления
Отказ от обновления PHP создаёт серьёзные риски для бизнеса. RCE-уязвимости позволяют злоумышленникам получить полный контроль над сервером: читать и модифицировать базу данных, красть данные клиентов, устанавливать вредоносное ПО.
Реальные сценарии атак включают:
- Кража базы данных с информацией о клиентах, заказах, платёжных данных
- Установка майнеров криптовалют, которые нагружают сервер и увеличивают расходы на хостинг
- Размещение фишинговых страниц для кражи данных посетителей
- Использование сервера для рассылки спама или DDoS-атак на другие ресурсы
- Шифрование файлов с требованием выкупа (ransomware)
Компрометация сайта влечёт не только технические, но и юридические последствия. По закону о персональных данных компания обязана обеспечивать защиту информации клиентов. Утечка данных может привести к штрафам от Роскомнадзора и судебным искам от пострадавших клиентов.
Репутационный ущерб часто оказывается критичнее прямых потерь. Клиенты теряют доверие к компании, чей сайт был взломан. Восстановление репутации требует месяцев работы и значительных вложений в PR и маркетинг.
Поисковые системы понижают в выдаче или полностью исключают скомпрометированные сайты. Google Safe Browsing помечает взломанные ресурсы предупреждением, что резко снижает трафик. Восстановление позиций в поиске после снятия санкций занимает от нескольких недель до нескольких месяцев.
Рекомендации по мониторингу безопасности сайта
Обновление PHP решает текущую проблему, но безопасность требует постоянного внимания. Выстройте систему мониторинга, которая позволит оперативно реагировать на новые угрозы.
Подпишитесь на уведомления о безопасности 1С-Битрикс. Компания регулярно публикует информацию об уязвимостях и обновлениях на сайте dev.1c-bitrix.ru в разделе «Безопасность». Настройте RSS-ленту или подпишитесь на email-рассылку.
Используйте модуль «Проактивная защита» в 1С-Битрикс. Он анализирует входящие запросы и блокирует типичные атаки: SQL-инъекции, XSS, попытки загрузки вредоносных файлов. Включается в разделе «Настройки» → «Проактивная защита».
Настройте регулярное сканирование на вредоносный код. Инструменты типа AI-Bolit или Revisium Scanner проверяют файлы сайта на наличие известных вредоносных скриптов, бэкдоров, веб-шеллов. Запускайте сканирование минимум раз в неделю.
Чек-лист регулярных проверок безопасности:
- Еженедельно: проверка обновлений ядра 1С-Битрикс и установленных модулей
- Еженедельно: сканирование файлов на вредоносный код
- Ежемесячно: аудит учётных записей администраторов, удаление неиспользуемых аккаунтов
- Ежемесячно: проверка логов на подозрительную активность
- Ежеквартально: полный аудит безопасности, включая тестирование на проникновение
- При выходе критических обновлений: немедленная установка патчей безопасности
Ведите журнал изменений в системе. Документируйте все обновления, изменения конфигурации, установку новых модулей. Это поможет быстро выявить причину проблем и откатить неудачные изменения.
Настройте автоматическое резервное копирование. 1С-Битрикс позволяет создавать бэкапы по расписанию. Храните копии минимум за последние 30 дней на отдельном сервере или в облачном хранилище. Регулярно проверяйте возможность восстановления из резервных копий.
Рассмотрите использование WAF (Web Application Firewall) — специализированного файрвола для веб-приложений. Решения типа Cloudflare, Sucuri или PT Application Firewall фильтруют трафик на уровне приложения, блокируя атаки до того, как они достигнут сервера. Это особенно актуально для высоконагруженных сайтов интернет-магазинов.
Кто это написал
Мы в Perfinn разрабатываем сайты и не только: интернет-магазины, корпоративные порталы, интеграции с 1С и 1С-Битрикс, автоматизацию бизнес-процессов и внедрение ИИ в рабочие сценарии.
Расскажите задачу — предложим решение и оценим сроки: perfinn.ru