Советы по защите блога wordpress. Появилась надпись — «сайт может угрожать безопасности вашего компьютера.»

16015
4

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

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

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

Кто и зачем размещает вредоносный код

Итак, давайте перечислим что можно поиметь с Вашего блога тем кто его хочет или уже взломал:

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

Как Вы понимаете, для сайта все это очень плохо кончится, но давайте разберемся как это могло произойти?

Как хакеры могу взломать Ваш сайт. Откуда ноги растут?

Существует несколько вариантов взлома сайта. Многое зависит от того, где расположен ресурс. Например, это может быть шаред хостинг, то есть на одном IP адресе хостинга рядом с вашим сайтом лежат еще сайты других пользователей. Так же это может быть выделенный сервер, когда кроме ваших сайтов на данной виртуальной или выделенной машине никаких сайтов больше нет.

Взлом серверов хостера.

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

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

Хотя такое и не часто бывает, но защититься от этого для обычного пользователя шаред хостинга невозможно, поэтому сразу выбирайте надежный хостинг, например friendhosting За много лет использования хостингов от различных компании, наверное это самый лучший и это касается не только технической стороны дела но и шикарнейшей поддержки даже самого недорого тарифа. Рекомендую! (Кстати, как раз после того как на блоге разместили вредоносный код переехал на сюда и проблем с тех пор не знаю, тьфу тьфу тьфу)

Взлом VPS/VDS.

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

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

Взлом WordPress через уязвимость php скриптов.

Другой способ взломать Ваш сайт и заразить вредоносным кодом — это найти уязвимость в пхп скриптах, модулях, плагинах, темах. Наверное, это самый распространенный способ. Что происходит с Вашим сайтом:

  • Через уязвимость считываются пароли от базы данных
  • Пароли расшифровываются, злоумышленник получает доступ к админке
  • Злоумышленник загружает web shell на Ваш сайт и может управлять всеми файлами которые у Вас есть на хостинге

Если У Вас несколько сайтов, то скорее всего злоумышленник разместит web shell на каждом из них в разных директориях.

Что делать когда Ваш сайт уже заражен.

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

Мобильный редирект
Мобильный редирект

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

wso shell
wso shell

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

Несколько практических советов.

1. Если у Вас VDS или VPS разнесите сайты по разным пользователям. так чтобы у каждого пользователя — владельца Вашего сайта были права только на один сайт. Таким образом если злоумышленник взломает один из Ваших сайтов, то он не сможет получить доступ к остальным сайтам.

Права на директории
Права на директории

2. Установите на все папки сайта права 755 рекурсивно

Устанавливаем права на файлы
Устанавливаем права на файлы

3. Установите на все файлы сайта права 644

4. Обязательно закрыть доступ в административную часть сайта (то есть там где вы входите под администратором) с помощью директив веб сервера через файл .htaccess

Например, для блога на WordPress можно в папку wp-admin положить файл .htaccess следующего содержания:

В этом файле указано что при обращении к директории wp-admin у пользователя запросит имя и пароль. Имя указанное в данном случае: administrator а пароль в зашифрованном виде хранится в файле .htpasswds (если положить файл .htpasswd в эту же директорию то путь будет /.htpasswd) В файле хранится хэш пароля , которые в принципе можно расшифровать поэтому следует либо сделать пароль очень сложным или положить файл в недоступное место как в примере( такое возможно только если у Вас VPS, VDS)

Сформировать файл .htpasswd можно на многочисленных сервисах в интернете(вот например: www[dot]htaccesstools[dot]com/htpasswd-generator/) или с помощью имеющейся в комплекте с веб сервером программы htpasswd.

Содержимое файла htpasswd будет выглядеть следующим образом:

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

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

6. Удалите все неиспользуемые шаблоны и постарайтесь вспомнить откуда Вы взяли текущий шаблон сайта. Ситуация с шаблонами обстоит еще хуже чем с плагинами. Злоумышленник размещает на треккерах премиумные шаблоны совершенно бысплатно, зашив предварительно туда скрипт показа ссылок или возможность удаленно выполнять команды или даже самоудаляющийся код, который после выполнения и заливки веб шела просто удаляет себя. Глупый вебмастер скачивает премиум шаблон бесплатно и радуется и даже благодарит человека которые выложил такие шаблоны…

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

Удаление вредоносного кода, поиск уязвимости.

Удалить вредоносный код — это лишь малая часть дела и будьте уверены, что если на вашем сайте есть уязвимость то веб шел, а вместе с ним и вредоносный код вновь появится. Еще более худший вариант — это когда вредоносный код вшивают в базу данных. Например, в запись новости или текст главной страницы. Искать его придется не только в файлах но и в базе данных.

Ищем уязвимости в php файлах

Для поиска веб шелом и возможных уязвимостей воспользуйтесь следующим скриптом. Данный код проверяет все php файлы на наличие в них веб шелов или команд «eval» или «base64» (так же можно проверить на наличие команды «fput»). Файл php с указанным содержимым следует положить в корень сайта и вызвать из адресной строки как http://ВашСайт/скрипт.php

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

Кроме этого можно попробовать разобрать логи веб сервера, на наличие SQL инъекции, которые как правило включают в себя команду SELECT в адресной строке. То есть запрос к вашему сайту будет содержать какую либо команду SQL сервера. Достаточно поиском пройтись по логам сервера и возможно Вы обнаружите атаку или даже следы взлома через определенный файл и даже IP адрес хакера(если он решил Вас сломать со своего домашнего компьютера). Очень важно, чтобы доступа к файлам логов у злоумышленника не было иначе логи будут подчищены.

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

Ищем вредоносный код в MySQL базе

Первым делом следует сделать дамп базы данных и прогнать ее поиском на предмет наличия в ней исполняемого кода php или js, например попробуйте поискать «eval», «base64», «fput», «<script» и другие признаки исполняемого кода php или javascript. После нахождения подобных вхождении следует их проанализировать, найти записи в базе данных и если это вредоносный код то удалить его.

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

4 КОММЕНТАРИИ

  1. WP. Наверное, на сайте стоит генератор ссылок, поисковикам выдает 700 спам ссылок. Загрузил на сайт ваш скрипт, он выдал 48 ссылок на «evel» и «Base 64», что с ними делать?

  2. WP. Наверное, на сайте стоит генератор ссылок, поисковикам выдает 700 спам ссылок. Загрузил на сайт ваш скрипт, он выдал 48 ссылок на «evel» и «Base 64», что с ними делать?
    забыл, где искать WP файл php.ini

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here