Защита сайтов на платформе Bitrix — это не разовая задача, а непрерывный процесс. Несмотря на то, что платформа предоставляет встроенные инструменты безопасности, их недостаточно для создания надежного периметра защиты. Современные атаки становятся всё более изощрёнными: от брутфорса администраторских панелей до целевого фишинга и внедрения вредоносного кода через формы обратной связи.
В этой статье мы разберём полный набор мер, которые необходимо принять для обеспечения безопасности вашего сайта на Bitrix. Мы рассмотрим конфигурацию веб-сервера, настройки самой платформы, работу с файловой системой и стратегии реагирования на инциденты.
1. Настройка прав доступа к файлам
Одной из самых частых ошибок при установке Bitrix является неправильная настройка прав доступа к файлам и папкам. Многие новички по привычке ставят права 777 на все файлы, чтобы избежать проблем с записью в кэше или модулях.
Правильные стандарты
Для Bitrix оптимальными являются следующие настройки:
- Папки: 755 (rwxr-xr-x). Это позволяет веб-серверу читать содержимое и исполнять код, но запрещает прямую запись файлов.
- Файлы: 644 (rw-r--r--). Владелец может редактировать файл, остальные пользователи только читают его.
- Папки с исходным кодом: 755. Это позволяет веб-серверу читать и исполнять PHP-скрипты.
Важно: если вы используете Bitrix Framework или движок на PHP 7+, убедитесь, что права папок не установлены выше 755 — это может привести к проблемам с записью в кэш.
Папка /upload/
Папка /upload/ — это самый уязвимый пункт на сайте. Через неё злоумышленники часто загружают вредоносные файлы, которые затем исполняются веб-сервером.
Чтобы предотвратить исполнение PHP-кода в этой папке, необходимо настроить права доступа:
chmod -R 755 /path/to/site/upload/
Это сделает папки доступными для чтения и записи (владельцу), но запрещит исполнение кода. Дополнительно рекомендуется создать отдельную группу пользователей на веб-сервере, которая будет иметь права только на чтение в этой папке.
2. Антивирусная защита
Bitrix имеет встроенный модуль антивируса, но он не заменяет полноценное решение. Встроенный сканер использует базу сигнатур и проверяет файлы по очереди, что может занимать много времени.
Интеграция с внешним антивирусом
Для боевого сайта рекомендуется интегрировать Bitrix с лицензионным антивирусом (Dr.Web, Kaspersky, ESET и др.). Это даёт:
- Быструю проверку файлов при загрузке в систему.
- Автоматическое удаление заражённых файлов.
- Защиту от новых угроз, которые ещё не попали в базу сигнатур.
В админ-панели Bitrix это настраивается в разделе «Настройки» → «Безопасность» → «Антивирусная защита». Выберите тип защиты и укажите путь к папке с файлами, которую нужно сканировать.
3. Скрытие версии платформы
В исходном коде страниц Bitrix часто указывается версия платформы (например, в теге <meta> или в заголовках). Злоумышленники используют базы уязвимостей по версиям, чтобы подобрать наиболее эффективный вектор атаки.
Как скрыть версию
Для Apache добавьте следующий код в файл .htaccess:
php_value auto_prepend_file "/path/to/site/.htaccess.php"
<IfModule mod_rewrite>
RewriteEngine On
RewriteRule ^/ - [L]
</IfModule>
<IfModule !mod_php>
RewriteCond %{HTTP:Server-Software} "^Bitrix/" [NC]
RewriteRule ^/ - [R=302,L]
</IfModule>
Для Nginx добавьте правило в конфиг:
server {
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
add_header X-Powered-By "";
add_header Server "";
}
}
4. Настройка фаервола
Фаервол — это первый рубеж обороны. Он фильтрует входящий трафик и блокирует атаки на уровне сети.
Что нужно настроить
- Блокировка брутфорса: Настройте правила фаервола так, чтобы блокировать IP-адреса, которые отправляют много запросов к административным страницам (
/bitrix/admin/,/admin.php). - Блокировка ботов: Используйте правила фаервола для блокировки запросов с подозрительными User-Agent и без рефереров.
- Блокировка доступа к статическим файлам: Настройте фаервол так, чтобы он не проходил трафик на файлы с расширением .php, если они не находятся в корневой папке сайта.
Пример правил фаервола (iptables)
# Блокируем доступ к админ-панели для новых IP
tcpdpt --add-reject --protocol tcp --dport 80 --state NEW
# Блокируем брутфорс
iptables -A INPUT -p tcp --dport 80 -j REJECT --reject-with icmp-host-unreachable
5. Резервное копирование и восстановление
Даже при всех мерах защиты есть риск сбоя системы или атаки, которая обходит все защитные механизмы. Поэтому резервное копирование — это обязательная часть стратегии безопасности.
Что нужно резервировать
- Базу данных (mysqldump).
- Файлы сайта (файлы шаблонов, модули, настройки).
- Кэш и сессии.
В Bitrix есть встроенный инструмент резервного копирования. Однако для боевого сайта рекомендуется использовать внешние инструменты (например, BackupPC или rsync), которые позволяют хранить копии на внешних носителях.
План восстановления
При возникновении инцидента необходимо:
- Определить тип атаки (брутфорс, XSS, SQL-инъекция и т.д.).
- Изолировать сайт от сети.
- Анализировать логи и определить вектор атаки.
- Восстановить данные из последней копии.
- Проверить целостность сайта после восстановления.
6. Мониторинг и реагирование на инциденты
Даже при наличии всех мер защиты есть риск, что система будет взломана. Поэтому необходимо настроить мониторинг системы и реагировать на атаки.
Что мониторить
- Логи веб-сервера (access.log, error.log).
- Логи базы данных.
- События в админ-панели Bitrix.
- Трафик на сервере (с помощью инструментов типа Wazuh или ELK Stack).
Пример алерта при брутфорсе
Если в логах веб-сервера обнаружено более 100 попыток входа в админку с одного IP за минуту, система должна автоматически блокировать этот IP и уведомлять администратора.
# Пример скрипта для мониторинга
default_log = "/var/log/apache2/access.log"
with open(default_log, "r") as f:
for line in f:
if "bitrix/admin/" in line and "POST" in line:
count += 1
if count > 100:
send_alert("Брутфорс админ-панели обнаружен!")
7. Проверка безопасности сайта
Периодически необходимо проверять сайт на уязвимости. Для этого можно использовать инструменты вроде:
- Nikto: сканирует веб-сервер на наличие уязвимостей.
- W3C Validator: проверяет валидность HTML-кода.
- Sitescout: проверяет сайт на наличие вредоносного кода.
Также рекомендуется проводить аудит безопасности сайта с помощью профессиональных специалистов. Они помогут найти уязвимости, которые не очевидны для обычного администратора.
Итог
Безопасность сайта на Bitrix — это комплекс мер, которые необходимо принимать постоянно. Начните с настройки прав доступа к файлам и антивирусной защиты, затем настройте фаервол и резервное копирование. Не забывайте регулярно обновлять платформу и проверять сайт на уязвимости. Только так можно обеспечить надёжную защиту вашего сайта от атак.
Помните: безопасность — это не разовая задача, а непрерывный процесс. Всегда будьте готовы к тому, что система может быть взломана, и имейте план восстановления данных.