Боремся с вирусами и уязвимостями CMS 1С-Битрикс
Кто взламывает сайты?
На самом деле всё очень просто – в основном, ваш сайт ломают на автоматический основе. В очень редких случаях это целенаправленная атака. Будем честны, в частности, вы не особо интересны тем, кто бы атаковал сайт целенаправленно, потому както в первую очередь наказуемо по закону и те, кто имеет подобные навыки не будут это делать просто так, чтобы насолить региональным компаниям, которые оказывают услуги населению.
Зачастую вы просто попали с списки автоматических скриптов, которые проходятся по сайтам и смотрят стандартные и общеизвестные уязвимости. Скрипты настроены так, что не будут искать конкретно вашу дырку в системе, это не рационально.
Можно ли избежать взлома?
Нет, но можно его минимизировать. Если мы защищаемся от скриптов поиска стандартных уязвимостей, то поддерживайте актуальную версию вашей CMS (далее по тексту – система). Это относится к популярным системам, таким как 1С-Битрикс или WordPress.Здесь стоит интересный выбор, ведь на самом деле все логично:
– чем популярней система, тем больше ее пытаются взломать
– чем дешевле система, тем меньше заинтересованы разработчики в поддержке безопасности,
– если делать систему с нуля, то вы снижаете риск автоматического взлома, но это не значит, что у вашей системы лучше защита (на примере Битрикс – над безопасностью работают сотни людей, а над вашей собственной сколько? 1 или 2, а может 10? Да и стоимость собственной разработки намного выше
Это всё лирика...
Сайт на 1С-Битрикс взломали, что делать?
Естественно, мы не опишем наши методы, потому что – это наш хлеб. Но то, что можно сделать самому на самом деле доступно каждому.Для начала:
– Сразу идем в логи доступа (access log), обычно он есть на каждом хостинге, если его нет, то запросите у тостера. Они точно его ведут.
– Найдите любой вредоносный файл, скопируйте название и посмотрите с какого ip адреса он создавался в логе доступа
– Теперь посмотрите все обращения к сайту с этого IP, вы найдете POST и GET обращения к системным файлам (в Битрикс обычно обращения будут к файлам, которые размещены в папке /bitrix)
– Отлично, теперь мы знаем как к нам проникли, далее по ситуации
Если вы выяснили, что запросы идут к файлам, где был написан ваш код, то зачастую у вас не защищены запросы GET и POST, используемые, к примеру, для отправки писем. В эти запросы подставляют код на выполнение. Для начала просто обработайте запрос:
$str = $_POST['параметр']; - ваш параметр
$str = trim($str);
$str = stripslashes($str);
$str = htmlspecialchars($str);Если вы выяснили, что запросы идут к системным файлам, написанным не вами, то конечно стоит обновить систему, скорее всего разработчики это исправили. Но обновлять желания нет, закрывать дырку в безопасности особо не нужно, а написанное ниже не повлияет на работу системы (вы знаете, что к этому коду точно не обращаются по GET и POST), тогда просто в этих файлах перед погрузкой скриптов добавьте ограничение на запросы, например для POST:
if ($_SERVER['REQUEST_METHOD'] === 'POST') { header("Status: 404 Not Found"); die(); }А после удалите вредоносные файлы, раскиданные по системе (если они не затрагивают работу системы).
Это позволит избежать нового заражения.
Что еще можно сделать:
Обладателем версии Битрикс, начиная со Стандарт доступен помощник в этом нелегком деле – bitrix.xscan.
Это действительно мощный инструмент, который помогает найти зараженные файлы и проблемы в безопасности.
Находится здесь:
Настройки → bitrix.xscan → Поиск.
Запустите и следуйте инструкциям. Он найдет и подсветит проблемные места.
Это один из популярных методов, но проблемы со взломом могут быть и не из-за этого. Поэтому бывает так, что вам придется обращаться за помощью к специалистам по безопасности. Например, к нам – мы умеем работать даже с самим сложными случаями, когда надежда уже потеряна.
