Взлом сайта – распространённое киберпреступление, которое часто остается без наказания. Оно приводит к утрате контроля над ресурсом, падению его позиций в поисковой выдаче, пропаже информации, финансовым потерям. Такое может произойти из-за халатности разработчиков, контент-менеджеров или несоблюдения владельцем сайта базовых правил безопасности. И, хотя 100% защиты от взлома не существует, есть ряд мероприятий, которые помогут максимально обезопасить сайт.
Чем опасен взлом
Взломщики могут воспользоваться сайтом в полной мере, часто скрывая своё присутствие на нём. Например, разместить рекламу с сомнительным содержанием или сделать рассылку спама, завладеть персональными данными пользователей или компании. Если ресурс будет недоступен или попадёт под фильтры поисковых систем, возникнут проблемы с его продвижением, а потраченные на разработку усилия пропадут зря. Отметим основные последствия хакерской атаки:
- Утрата контроля над сайтом. Хакеры могут ограничить доступ к панелям управления и потребовать оплату за восстановление прав.
- Использование личных данных взломщиками. К посторонним могут попасть платежные реквизиты, сведения о посетителях, данные для авторизации.
- Мобильные редиректы. На портале может быть установлен код, который перенаправляет пользователей мобильных устройств на страницы с платными подписками, рекламой. Фильтры поисковиков блокируют ресурс за наличие кода, который является источником замаскированной переадресации, поэтому это отразится и на SEO .
- Рассылка спама. С ресурса хакеры могут отправлять письма, содержащие вредоносный код, который может заразить систему при их открытии. Для повышения эффективности задействуют методы социальной инженерии.
- Хостинг фишинговых страниц. Взломщики имитируют страницы известных сервисов и с их помощью воруют информацию для авторизации, номера банковских карт.
- Распространение вредоносного ПО. Вследствие взлома на ресурс загружают вирус, рекламное приложение или реализуют переадресацию на страницу с ними. Используется уязвимость того или иного браузера, расширения в нём, операционной системы, способствующие проникновению вируса на устройство.
- Утрата поисковых позиций. Взлом негативно отражается на посещаемости сайта, что сводит к нулю усилия по его продвижению. Для возвращения прежних позиций придется затратить много денежных средств и часов.
Как узнать, что сайт взломан
Существует ряд признаков, которые помогут понять, что интернет-ресурс взломали. Но, иногда внешние признаки вмешательства могут отсутствовать.
Вероятные признаки взлома
Владельцы сайта должны проявлять бдительность и отмечать даже малейшие изменения на нём:
- Страницы долго грузятся.
- К сайту нет доступа.
- Браузер или брандмауэр не загружают страницы – ругаются на вредоносное содержимое.
- Стабильное снижений позиций сайта.
- По брендовым запросам в выдаче Google или Яндекса показывается нестандартная оптимизация (левый или подозрительный код).
- Резко возросла или упала посещаемость.
- Заметные перемены в поведенческих факторах – резко изменились процент отказов, глубина, время просмотра, количество целевых действий.
- Клиенты / подписчики получают рассылку со спамом или наоборот не получают письма, отправленные сайтом.
- Без вашего ведома изменилось содержимое страниц, например, появились баннеры или картинки, которые вы не добавляли.
- Хостер заблокировал ресурс за рассылку спама.
- Появились новые исходящие ссылки, новые страницы, пользователи с правами администратора.
- Изменилась постоянная ссылка.
Детальная проверка
Прежде всего зайдите в админ-панель вашего хостинга и посмотрите не приходило ли там уведомлений о взломе, как правило, если сайт заражен вам придет уведомление о наличии вредоносного ПО на вашем аккаунте. Далее проверьте аккаунты в Яндекс Вебмастере и Google Search Console – с вероятностью не менее 80% они уведомят о наличии проблем с безопасностью.
Если же там все чисто, но у вас все равно остаются сомнения или есть основания полагать, что ресурс был взломан, то советуем проверять следующее:
- Воспользуйтесь одним из бесплатных сервисов для быстрой онлайн-проверки на вирусы, например https://2ip.ru/site-virus-scaner/
- Проверьте у сайта сохраненную копию важных страниц через поиск Яндекса и Google. Если общий вид или код существенно отличается от того, что должно быть на сайте, то это внедренный вредоносный код.
Сохраненная копия в Яндексе
Сохраненная копия в Google
- Сравните резервную копию сайта с текущим состоянием для выявления вредоносного кода, изучите логи, журнал FTP-сервера, который можно запросить у хостинг-провайдера.
- Изучите доступность страниц с различных браузеров, устройств, стран – вредоносный код может активироваться для избранных пользователей. Сервисы, которые помогут проверить это:
Дополнительно проверьте доступность с нескольких устройств и браузеров вручную, при этом используйте телефон или ПК с которых ранее вы не заходили на сайт.
- Просмотрите все исходящие ссылки с сайта, например, через сервисы Ahrefs или Megaindex.
- Проверьте не находится ли ваш домен в спам-базах DNSBL.
- Изучите отчеты Яндекс.Метрики более подробно:
- Сравните источники трафика: прямые заходы, поисковые системы, социальные сети, ссылки на сторонних ресурсах. Если падение или всплеск трафика наблюдается у всех источников, то проблема точно не в SEO-оптимизации.
- Отказы – резкий рост или падение отказов должно насторожить, посмотрите на всех ли страницах наблюдается одинаковая картина и были ли такие скачки ранее.
- Отчет по поисковым запросам. Не приводят ли посетителей на сайт не относящиеся к теме поисковые запросы.
- Устройства — с каких устройств идут отказы, смартфоны или ПК, если проблема в чем-то одном, то аналитику стоит проводить с учетом конкретного устройства.
- Страницы входа — какие страницы больше всего пострадали, если есть какие-то выделяющиеся изменения по отказам на конкретных страницах, то отслеживаем их.
- Браузеры — определите в каких браузерах больше всего заметны изменения в показателях или же они наблюдаются во всех одновременно.
Иногда обнаружить вирус можно только после детального изучения, очистки кэша и удаления файлов cookie в браузере, ведь злоумышленники научились тщательно скрывать свои действия, выжимая максимум пользы из взломанного ресурса.
Что делать при взломе
Если вы уверены, что доступ к ресурсу появился у кого-то ещё, предпримите следующие действия:
- Зафиксируйте время сбоя или его обнаружения.
- Приостановите работу сайта для технического обслуживания.
- Сделайте резервную копию взломанного сайта, которая позволит выявить источник / причину проблемы в будущем.
- Попробуйте восстановить доступ самостоятельно. Заражённые файлы замените на их резервные копии или удалите вредоносный код вручную, если для этого достаточно знаний.
- Если не получится, или это нецелесообразно, (давно не делали бэкап), обратитесь в отдел технической поддержки хостинга для оказания помощи.
- После восстановления работоспособности смените все пароли для доступа к хостингу, FTP, административной панели.
- Изучите резервную копию самостоятельно (проверьте на вирусы) или обратитесь к специалистам для выявления вредоносного кода.
- Через Я.Метрику и Google Search Console сообщите поисковым системам, что сайт снова функционирует.
- При необходимости уведомьте пользователей о сложившейся ситуации, порекомендуйте сменить пароли от учётных записей.
- Настройте автоматическое создание резервных копий, своевременно обновляйте CMS и модули безопасности, используйте минимум сторонних модулей.
Как защитить сайт от взлома
Взлом проще предотвратить, чем восстанавливать работу сайта после хакерской атаки. Итак, список правил, которых стоит придерживаться чтобы обезопасить свой ресурс.
1. SSL и выбор надежного хостинга
Выберите надёжную хостинговую компанию, которая заботится о безопасности, внедряет передовые технологии, оказывает адекватную профессиональную техподдержку. Наш список проверенных хостингов.
Используйте HTTPS-соединение, которое реализуется благодаря SSL-сертификату. Он устанавливает защищённый канал связи между клиентом и веб-сервером, а ключи для дешифровки есть только на сервере и в браузере посетителя. Если злоумышленник и перехватит данные, он не расшифрует их. SSL-сертификат устанавливается в административной панели хостинг-провайдера.
2. Защита от DDoS-атак
Взломанные сайты чаще других подвергаются повторным атакам, о противодействии которым стоит позаботиться заранее. Хостинг-провайдер обеспечивает базовую защиту от DDoS, например, фильтрацию входящего трафика, установку брандмауэра.
Самостоятельно усилить защиту можно следующими способами:
- Используйте модули ModSecurity и Testcookie-nginx-module для Apache, которые работают на седьмом уровне ISO. За этим обращайтесь к специалистам.
- Перед Apache установите сервер для кэширования: Lighttpd либо Nginx.
- Сервис Cloudflare – серверная сеть, которая ускоряет загрузку страниц и проверяет трафик на наличие подозрительного кода. Предлагает бесплатный тариф с базовой функциональностью. Есть также аналоги Cloudflare, функционал сервисов во многом схож, кроме того они работают без ограничений в России.
- Своевременно обновляйте модули и саму CMS-платформу.
- Воспользуйтесь услугами компаний, обеспечивающих кибербезопасность.
- Перейдите на более защищённую операционную систему из семейства Linux.
- Иногда целесообразно использовать блокировку по геопризнаку, обращать внимание на число ошибок, ежесекундных запросов.
3. Проверка безопасности сторонних модулей
Особое внимание уделяйте безопасности используемых CMS, плагинов, фреймворков, библиотек, ведь вредоносные атаки осуществляются через них. Устанавливайте сторонние модули только с функциями безопасности, загружайте их из проверенных источников (официальные ресурсы, сообщества). Неиспользуемые библиотеки отключайте или удаляйте.
4. SQL-инъекции и XSS-атаки
SQL-инъекция – это покушение злоумышленников на базы данных. Обеспечьте безопасность доступа к хранилищам данных, соединений – при помощи аутентификации и шифрования. Не помещайте в базы данных информацию без предварительной обработки, присланная пользователями информация не должна участвовать в формировании SQL-запросов.
Обезопасьте сайт от XSS-атак или межсайтового скриптинга. При таком вторжении код в браузере посетителя используется для похищения личной информации. Обеспечьте проверку вводимой пользователем информации на соответствие синтаксическим и семантическим правилам, кодирование перед отправкой на сайт, шифруйте все соединения, запретите работу через протокол HTTP, периодически тестируйте ресурс на наличие XSS-инъекций.
5. Мониторинг
Важно проводить регулярный мониторинг и протоколирование событий. Используйте предлагаемые веб-сервером средства журналирования, регистрируйте время событий, ID пользователей, потенциальных угроз сайту. Несущие угрозу безопасности сессии нужно блокировать по IP.
6. Бэкапы, обновление программного обеспечения
Регулярно создавайте резервные копии данных на сайте, включите автоматическое резервное копирование. Информацию храните в зашифрованном виде в надёжном месте.
Включите автоматическое обновление используемого программного обеспечения в панели управления хостинг-провайдера или регулярно проводите его вручную.
7. Применение сложных паролей
Существует три способа аутентификации: ввод логина и пароля, многофакторная и аутентификация на базе шифрования. Используйте сложные пароли, периодически меняйте их, храните в зашифрованном виде, подумайте о двухфакторной авторизации. Не используйте одинаковые пароли для админки сайта, социальных сетей, почты.
8. Защита административных панелей
Административная панель – одно из самых уязвимых мест веб-сайта, ведь предоставляет доступ ко множеству инструментов, связанных с редактированием файлов. Обеспечьте её максимальным уровнем защиты.
Ограничьте доступ к административной панели по IP-адресу или маске IP. Скройте её – перенесите на другой, отличный от стандартного, адрес. Замените стандартный для WordPress site.ru/wp-admin на известные только вам и вашей команде, например, site.ru/admins-panel.
Если решили создать систему контроля доступа, соблюдайте следующие правила:
- все запросы отправляются через систему контроля доступа;
- доступ отклоняется по умолчанию, если ему не предоставлено специальное разрешение;
- у пользователей и приложений минимальный уровень доступа;
- не используйте ролевую модель управления привилегиями;
- ведите протоколирование связанных с доступом событий.
Часто определить, что сайт подвергся атаке, можно за несколько минут, не разбираясь в тысячах строк кода и не владея языками программирования, но порой все не так очевидно и владелец сайта узнает о взломе только когда начинает терять прибыль и клиентов. Уровень защищенности ресурса напрямую зависит от используемых для его создания и функционирования технологий, отношения к его безопасности администратора, пользователей с расширенными привилегиями, хостинг-провайдера, состояния программного обеспечения. Надеемся, что статья поможет вам провести аудит своего сайта и избавиться от возможных уязвимостей, если они имеют место быть.