Как защитить сайт
от взлома

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

Существует немало способов навредить владельцу сайта и пользователям площадки. Рассмотрим основные.

Защищаемся от спама

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

  • Сайт начинает пестреть ссылками на сомнительные ресурсы.
  • В комментариях может проскакивать информация, противоречащая законодательству РФ.
  • Создается дополнительная нагрузка на сервер. Парочка комментов – не проблема, но десятки и сотни снижают скорость загрузки страниц.
  • Ухудшается аналитика – в Яндекс.Метрику и Google Analitics попадает «мусорная» информация.

Самый простой метод борьбы со спамом – отключить комментарии. Но это не выход, поскольку ресурс становится «неклиентоориентированным». Остается искать компромиссы.

Плагины для CMS

Почти у каждого популярного движка есть возможность установить антиспам-плагин. Например, у WordPress это Akismet Anti-Spam. Плагин хорош тем, что перед отправкой комментариев не заставляет пользователей раздражаться и нервничать – расшифровывать капчу или решать математические задачки. Дополнение действует тоньше – ориентируется на признаки спама. Причиной отправки коммента в корзину может стать подозрительный IP-адрес, текст с «опасным» словом, ссылка.

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

Работая в паре с другими дополнениями (например, Contact Form 7), Akismet способен защищать и от спама в формах обратной связи. Для многих владельцев и администраторов веб-площадок это плагин из серии must have.

Блокировка нежелательных комментаторов с помощью файла .htaccess

Этот вариант не сработает для защиты от всех проблем, но он наиболее эффективный в борьбе с известными спамными ботами. С помощью этого файла вы можете заблокировать вход на сайт пользователям с известных IP. Для этого достаточно прописать их адреса в .htaccess.

У метода есть серьезные недостатки.

  • Вместе с ботами под раздачу могут попасть и приличные посетители, чей IP совпадает с проблемным.
  • Злоумышленники запросто могут менять адреса.

Рекомендуется использовать способ вместе с другими.

Облачный антиспам

Облачный антиспам – это не автономный плагин, который оперирует данными с конкретного сайта. Это сервис, единый для сотен тысяч площадок. Как только программа видит, что на одном ресурсе активизировался нежелательный комментатор, она тут же блокирует ему доступ ко всем остальным сайтам системы.

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

Защита с помощью JavaScript

Этот метод подходит для блокировки спама в формах обратной связи, заказа в онлайн-магазине и отправки комментариев. Суть в том, что боты не способны работать на уровне кода JavaScript. В коде формы создают скрытое поле, которое автоматически заполняется после того, как пользователь кликнет по кнопке «заказать» или «отправить». Пытаясь спамить, боты самостоятельно заполняют все поля формы. Все, кроме скрытого – его автоспамеры не видят.

Чтобы воспользоваться преимуществами JavaScript, проделайте следующее:

  • Добавьте в форму поле с именем name=”check” и пустым значением value.

  • В коде кнопки этой же формы добавьте такие строки.

  • В PHP-скрипте, связанном с этой формой, добавьте такой код.

Теперь после того, как пользователь кликнет по кнопке, в невидимом поле окажется надпись «stopSpam» или любая другая – значение value в этом случае произвольное. Эта схема не требует навыков программиста. Достаточно понимать, в каких местах расположены соответствующие HTML- и PHP-файлы и скопировать указанный код.

Единственный минус способа – юзеры, у которых не установлена Java, тоже не смогут отправить заказ или комментарий.

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

Защищаемся от вредоносного ПО

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

Пути заражения

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

Варианты заражения:

  • Использование зараженных плагинов или шаблонов.
  • Размещение рекламы от непроверенных рекламодателей.
  • Доступ через определенные файлы внутри ресурса.
  • Прямой взлом сайта путем подбора логина/пароля.
  • Размещение контента пользователями.

Самые популярные атаки

Чтобы эффективно защищаться, необходимо понимать, от чего именно приходится оборонять сайт.

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

Шеллы. Уязвимости в коде и небезопасное интернет-соединение позволяют хакерам внедрять скрипты, открывающие доступ к управлению всем сайтом.

XSS-атака. Уязвимые пользовательские элементы – возможность получить доступ к cookies. Атака способна сделать сайт неработоспособным.

Взлом админки. Задача подобной атаки – управление ресурсом. В админку попадают путем перебора вариантов логина и пароля. Взлом облегчается благодаря стандартному адресу входа в админпанель и простому паролю.

Взлом через FTP-соединение. В админпанель можно попасть и через подбор пароля к FTP-клиенту. Уязвимые места – простой пароль и ненадежное соединение.

Dos и Ddos-атаки. Подобные атаки – это не взлом веб-ресурса. Суть атаки – в огромном количестве серверных запросов. Сервер обработать их не может, и площадка «ложится». Ddos часто используется для борьбы с конкурентами.

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

Методы защиты

Методы делят на три группы.

Защита сервера Защита CMS Защита ПК администратора сайта
Ограничения пользователей в правах Регулярное обновление CMS Проверка антивирусом
Бэкапы сайта Переход на SSL-сертификат
Проверка данных, которые вводят пользователи (например, с помощью плагина Wordfence) Использование специальных плагинов (iThemes Security, Wordfence, Sucuri Security)
Регулярная смена сложных паролей Использование проверенных подключаемых модулей
Установка защиты от «брута» (перебора комбинаций пароля)

А заражен ли сайт?

Некоторые атаки заметны сразу. О других админы могут и не догадываться, если не используют специальные сервисы:

  • Встроенный антивирус хостинга.
  • Средства сервисов Google Webmaster и Яндекс.Вебмастер.
  • Сторонние сервисы – например, ReScan.

Используйте один или несколько способов, чтобы анализировать свои сайты.

Что делать с зараженным сайтом?

Если анализ показал наличие проблемы, необходимо принимать меры.

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

Чтобы не допустить неприятности, выстраивайте комплексную защиту ресурса.

Защищаемся от криптомайнинга

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

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

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

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

Subresource integrity (SRI)

Subresource integrity (SRI) – механизм, который позволяет проверить, чтобы код, загруженный извне, не был скомпрометирован (необязательно криптомайнингом). Например, если вы добавляете код Javascript, используя тэг <script>, добавьте к нему атрибут integrity.

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

Для вычисления хэша можно воспользоваться специальными сервисами. Например, SRI Hash Generator или Report Uri.

У этого способа есть недостаток – если поставщик оригинального ПО обновляет скрипт, вы не сможете больше загружать его со 100 % вероятностью. К тому же, механизм SRI не гарантирует загрузку чистого файла – вредоносный код может располагаться на доменах из белого списка системы. Поэтому лучше комбинировать этот метод со следующим.

Мониторинг страниц в реальном времени

Мониторинг среды Javascript и DOM позволяет контролировать состояние кода и отслеживать любые сторонние инъекции. Обнаружив проблему, можно своевременно устранить внедренный код. Решения, контролирующие сайт в режиме реального времени, способны находить и перехватывать атаки и события типа JS и XSS.

Защищаемся от фишинга

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

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

Самонадеянно думать, будто вы уж точно не попадетесь в сети. Предосторожность не мешает никому. Вот пример того, как жертвой злоумышленников стала сама компания Google. А вместе с ней и рядовые юзеры. В рекламном блоке Adwords притаилась реклама фишингового сайта, замаскировавшегося под известный валютный обменник.

Facebook – тоже лакомый кусок для хакеров-фишеров.

Методы защиты

Несколько рекомендаций.

  • Проверяйте адреса ресурсов, которые запрашивают важную информацию. Клоны от оригиналов могут отличаться доменной зоной или даже всего одним символом. Иногда разница кроется в одной точке.

Под буквами «n» едва заметные точки – это фишинг.

  • Обращайте внимание на протокол – в адресной строке должен быть HTTPS, но не HTTP. Как видно из предыдущего примера, зашифрованное соединение не гарантирует безопасность. Но этот протокол понижает шансы на встречу с фейковой страницей.

  • Устанавливайте двухфакторную авторизацию на оригинальных сайтах. Кроме связки «логин/пароль», используйте дополнительную защиту. Хороший вариант – для входа на сайт необходимо отправить SMS-код или авторизоваться с помощью приложения.

  • Используйте антивирус. Качественное ПО способно заподозрить неладное, хотя оно тоже не дает гарантию.

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

  • Настраивайте в браузере защиту от фишинга.

Защищаемся от скимминга

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

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

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

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

Заключение

Остап Бендер знал 400 способов отъема денег у населения. Онлайн-мошенники знают гораздо больше, поэтому и пользователям, и владельцам сайтов следует учиться защищать свои ресурсы. Лазейки для аферистов остаются всегда, но ответственное отношение к вопросу позволяет максимально себя обезопасить.

Оставайтесь с нами:  

Спасибо, что вы делитесь со своими друзьями в социальных сетях.

← Вернуться ко всем статьям
Подпишитесь на бесплатную рассылку наших статей: