Безопасность сайта на WordPress: чеклист, как найти и вылечить вирус

Безопасность сайта на WordPress

Безопасен ли сайт на WordPress? Конечно!

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

Как сделать сайт достаточно безопасным

Естественно, нет 100% гарантии, что сайт будет недоступным для внешних воздействий. Но мы можем свести риски к минимуму. Если кто-то пытается продать вам 100% гарантию безопасности, это можно расценивать как мошенничество.

Если сайт маленький, нужно ли задумываться о безопасности?

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

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

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

5 правил безопасности сайта

5 правил безопасности сайта

1. Ограничить провальную авторизацию

Атака brute force (атака грубой силы) использует метод проб и ошибок по обнаружению комбинации логина и пароля от вашего сайта. Такая атака включает перебор логина пользователя и пароля начиная с самых популярных (пример: admin / admin) до тех пор, пока не будет достигнут лимит в базе данных или не произойдёт успешный вход в админку сайта. По умолчанию у WordPress нет лимита на безуспешную авторизацию. Без этого ограничения ваш сайт будет лёгкой целью для атак методом brute force.

2. Использовать хороший пароль

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

Использование сложного 12-символьного пароля рекомендует сайт WordPromise.com: https://www.wordpromise.com/use-strong-passwords/

Они пишут время затраченное на взлом пароля используя 4-ядерный i5 процессор:

  • пароль из 7 символов – время взлома 29 милисекунд,
  • пароль из 8 символов – время взлома 5 часов
  • пароль из 9 символов – время взлома 4 месяца
  • пароль из 10 символов – время взлома 10 лет
  • пароль из 12 символов – время взлома 2 века

Очевидна рекомендация в использовании 12-символьного пароля.

3. Использовать двухфакторную авторизацию

Двухфакторная аутентификация (2ФА) добавляет очень важную часть к защите вашего сайта, если классические логин и пароль стали доступны злоумышленникам.

Существует несколько несколько возможностей разрешить доступ в вашу административную часть используя двухфакторную авторизацию:

  1. Ответы, которые знаете только вы. Такие как “Кличка вашего любимого животного” или “Ваша первая школьная учительница”.
  2. Что-то физическое, что есть у вас. Например, телефон, на который можно получить временный код для доступа.
  3. Ваш палец. Если у вас есть смартфон, то легко можно использовать отпечаток вашего пальца или ваше лицо каждый раз, когда вам необходимо получить доступ.
  4. Вы можете получить временный код на email, sms или через популярное приложение
    Google Authenticator для Android

4. Своевременно обновлять плагины и темы

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

5. Делать резервное копирование сайта

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

Чеклист по безопасности сайта

Чеклист по безопасности сайта:

[   ] Авторизация с первого раза
[   ] Уникальный пароль
[   ] Двух-факторная авторизация
[   ] Плагины последних версий
[   ] Регулярный бекап сайта

Лечение заражённого вирусом сайта

Как понять, что сайт заражён?

На одном из проектов внедрял структурированные данные schema.org, чтобы сайт отображался в поисковой выдаче намного информативнее. Есть сервис проверки структурированных данных от Google, который показывает ошибки в разметке.

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

вирус в структурированных данных google

 

Как найти вирус и вылечить сайт?

Всё по порядку. В данном случае с обнаружением вируса решили воспользоваться автоматизированным сервисом, который в платном тарифе (или 14 дней триала) способен вылечить сайт от вирусов – Вирусдай.

Если этот способ не помогает, работаем запасным способом. Например, сканер Ai-Bolit от revisium.com, который способен размещаться на сервере для сканирования с полными правами доступа.

Проверка нашла 8 заражённых и 1 подозрительный файл.

антивирус для сайта вирусдай

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

вирусдай антивирус для сайта

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

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

Эта тема уже относится не к обнаружению вирусов, а к защите файлов сайта и изучению логов (про это чуть ниже).

как выглядит вирус в файлах сайта

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

Проблему с сайтом мы обнаружили 29 февраля, а ранняя дата изменения файлов 13 февраля.

дата изменение файлов сайта

когда было последнее изменение файлов сайта

За такой срок Google Webmaster или Яндекс Вебмастер могли увидеть проблему с сайтом. Яндекс как раз успел выкинуть страницы из поиска, а вот Google был более снисходительным и надеясь, что в ближайшее время мы всё поправим, просто предупреждал посетителей, что там проблемы.

Где найти информацию о вашем сайте

В Google Search Console раздел безопасности находится в левом меню и называется «Проблемы безопасности»:

google search console security issue

 

В Яндекс Webmaster раздел безопасности находится в левом блоке и называется «Безопасность и нарушения»:

yandex webmaster безопасность и нарушения

Яндекс начал системно удалять страницы из поиска почти тогда, когда мы начали лечить сайт от вируса.

страницы вываливаются из поиска

Как видно на скриншоте, вирус повлиял на страницы присвоив им неправильный код ответа.

Код ответа здорового сайта – 200 OK. А у нас был 403 Forbidden.

На сайте mozilla.org в разделе «Коды ответа HTTP» про ошибку 403 написано следующее:

Код ответа на статус ошибки 'HTTP 403 Forbidden' указывает, что сервер понял запрос, но отказывается его авторизовать.

То есть получается, что робот Яндекса, попадая на сайт клиента, видел вот такой текст и никакого контента:

http 403 forbidden server error

А такие страницы с ТОП никогда не попадут.

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

статус проверки ответа сервера

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

В справочном центре Google про данный запрос написано следующее:

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

Google Webmaster

Просмотр логов сайта

Надо было понять, как вирус проник на сайт. Пошли смотреть логи сервера.

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

Первое упоминание данных файлов было от 26 февраля. Всё сходится.

логи сайта и обнаружение даты взлома

первое упоминание в логах о взломе сайта

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

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

Ради интереса мы узнали, что именно Тайланду принадлежил входящий IP. Но это абсолютно не даёт право называть местонахождение хакеров, потому что никто не работает без прикрытия. Существует много способов скрыть своё местонахождение – vpn, proxy, tor и другие.

ip с которого взламывали сайт

Как защитить сайт от вирусов?

Несколько рекомендаций мы уже дали в первом блоке нашего лонгрида.

А что касается самих сайтов и их файлов, то есть одно из большого количества правил: назначайте файлам и каталогам на ftp правильные права доступа – 644 (-rw-rw-r–) для файлов и 755 (-rwxr-xr-x) для каталогов. Подробнее читайте в статье chmod (wikipedia)

Юрий
Юрий

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

Как один мой друг из Севастополя ответил на вопрос «почему у тебя на ноутбуке заклеена веб-камера» следующим: «Я один раз увидел как она включилась и выключилась, с того момента я её заклеил на всех ноутах»

Upd.

А вот так выглядит график, когда поисковик начинает возвращать страницы в поиск. Значит всё хорошо и скоро можно будет снять позиции и посмотреть на своё место в этом мире. Однако, для полноценного возвращения всех страниц в индекс может потребоваться время.

сайт возвращается после лечения от вируса