Только представьте, что злоумышленники получили доступ к логинам, паролям или, что еще хуже, к платежным данным посетителей сайта. Это не проблема! Это — катастрофа! Для коммерческой компании она может обернуться банкротством.
Впрочем, в защите нуждаются не только корпоративные ресурсы и интернет-магазины, но и блоги, форумы, информационные порталы. Подумать о безопасности сайта следует еще на этапе его разработки и далее постоянно заботиться об устранении уязвимых мест, которые хакеры используют для достижения цели. Рассмотрим основные методы, используемые для нанесения ущерба владельцу сайта и посетителям.
Почему так важна безопасность сайта
Пользователи предпочитают сайты, которым доверяют. Возможные последствия взлома:
- Отток посетителей. Это чревато уходом клиентом, снижением посещаемости, снижением дохода. Наихудший вариант развития событий — банкротство компании.
- Санкции поисковых систем. При переходе по ссылке отображается уведомление с предупреждением об опасности. Большинство пользователей обходят подобные площадки стороной.
- Затраты на восстановление. Расходы на разработку программных решений, доработка сайта. Стоимость 1 часа работы программиста среднего уровня — от 1000 рублей. Объем работы большой: анализ логов, поиск уязвимостей, восстановление, установка защиты.
- Утрата доверия посетителей. Более того, владелец сайта обязан обеспечить безопасность информации согласно Закона о персональных данных.
- Промышленный шпионаж. Конкуренты тратят значительные средства, чтобы завладеть секретами производства, рецептами фармацевтических препаратов, другими ценными сведениями.
- Кража средств со счетов клиентов и компании. Вернуть деньги, как правило, не удается.
- Неработоспособность сайта. На восстановление требуется время.
К сожалению, степень угрозы невозможно оценить визуально, но она весьма высока. Хакерские атаки происходят с частотой 1 раз в 39 секунд, 2244 раза в день — это удалось установить в результате исследования, проведенного специалистами Мэрилендского университета. Весной 2022 года компания Toyota приостановила производство из-за выведения из строя систем поставщика, что обернулось колоссальными убытками.
Какие бывают угрозы и способы борьбы с ними
Различают три типа угроз инфобезопасности веб-ресурсов: конфиденциальности — хищение персональных данных, целостности — удаление или искажение информации, размещенной на сайте. Третий вид — блокировка, в результате которой площадка становится недоступной для посетителей (невозможно зарегистрироваться, не открываются страницы).
Существует два типа хакерских атак:
- Целевые. Цель — один сайт или группа (например, веб-ресурсы компаний, занимающихся автоперевозками, по продаже косметики и так далее). Хакеры стремятся завладеть конфиденциальной информацией для получения выгоды.
- Нецелевые. Зачастую выбор сайта для атаки происходит рандомно. Злоумышленник стремится к максимальному охвату — страдают сотни, а то и тысячи интернет-ресурсов. Задача: внедрить скрипт, вредоносный код, вытянуть данные.
Целевые атаки не всегда заметны даже владельцу сайта. Он часто не подозревает о проблеме, и ее выявляют случайно, в результате спонтанной проверки площадки. Ниже мы рассмотрим основные виды угроз и способы их устранения.
Защита от спама
Засилье ботов, размещающих некорректные комментарии, создает много проблем:
- ссылки на сомнительные сайты;
- информация, размещение которой размещено согласно законодательства РФ;
- чрезмерная нагрузка на сервер, в особенности если количество мусорных комментариев исчисляется десятками или даже сотнями;
- ухудшение статистических показателей (отказы, ухудшение позиции в результатах выдачи).
Проще всего отключить комментарии, но это делает невозможным общение с аудиторией. Предлагаем более эффективные варианты.
Плагины для CMS
Практически во всех движках предусмотрена возможность установить расширение для борьбы со спамом. Для WP это Akismet Anti-Spam. Плагин блокирует комментарии с признаками спама. Например, отправленные с подозрительных IP-адресов, ссылками на внешние ресурсы, определенными словами. Одно из преимуществ — пользователям не надо вводить капчу (раздражает) или выполнять арифметические действия.
Фильтрация информации выполняется с учетом статистики. Есть определенная вероятность блокировки корректных комментариев, но ею можно пренебречь. Для борьбы со спамом в формах обратной связи советуем дополнить Akismet Anti-Spam дополнительным расширением, например, AntiSpam for Contact Form 7.
Использование файла .htaccess
Применяется для блокировки нежелательных комментариев путем блокировки ботов по IP. Пропишите IP-адреса в файле, и посетители, которые с них зайдут, не смогут комментировать содержимое сайта. Минусы метода:
- при совпадении IP посетителей с указанными в .htaccess для них недоступно комментирование;
- неэффективен для спамеров с динамическим IP.
Для достижения требуемого результата комбинируйте указанный метод с другими.
Облачный антиспам
Представляет собой систему, предназначенную для борьбы со спамом на сайтах. При активизации бота-комментатора, программа его распознает, ограничивая доступ ко всем ресурсам, подключенным к серверу. Пример подобного решения — Cleantalk. Отличное средство для профилактики и удаления нежелательных комментариев и посетителей, попавших в черный список.
JavaScript
Блокировка спамеров выполняется за счет добавления в форму программного кода. Поле ввода заполняется автоматически, после нажатия кнопки («заказать», «отправить», другие варианты). Боты не способны распознать скрытое поле, из-за чего отправка данных им недоступна. Алгоритм действий:
- дополните форму полем name=”check” (значение value):
- добавьте следующие сроки в код кнопки:
- внесите код в PHP-скрипт, обеспечивающий работу формы.
Как только посетитель нажмет кнопку, в скрытом поле появится запись с произвольным значением (value). Для выполнения описанных действий не нужны навыки программиста, достаточно найти нужные фрагменты кода в файлах HTML и PHP.
Важно! Если у пользователя не установлена Java, у них не получится ни оформить заказ, ни оставить комментарий.
Защита от вредоносного ПО
Атаки на сайт приводят к его неработоспособности и понижению позиций в результатах поиска, а также заражению вирусами. Источники заражения:
- вирусоносители — плагины и шаблоны;
- реклама от недобросовестных рекламодателей;
- зараженные вирусами файлы сайта;
- взлом с помощью подобранного пароля/логина;
- пользовательский контент.
Рассмотрим популярные способы внедрения вредоносного ПО:
- SQL-инъекция. Исходный SQL-запрос дополняют вредоносным кодом для поражения элементов, предназначенных для ввода: форм обратной связи, полей поиска и прочих.
- Шеллы. Скрипты, с помощью которых злоумышленники получают возможность управлять веб-ресурсом. Для своей цели используют уязвимости программного кода, небезопасное интернет-соединение.
- XSS-атака. Внедренный вредоносный код запускается на ПК пользователя при заходе на страницу и взаимодействует с сервером хакера. Альтернативное название — межсайтовый скриптинг.
- Взлом админпанели. С помощью специальных приложений злоумышленники подбирают логин и пароль для входа в админку.
- Взлом через FTP-клиент. Возможен благодаря элементарным паролям и небезопасному соединению.
- Dos и DDos-атаки. Массовые серверные запросы ложат сервер, сайт становится недоступным для пользователей.
Будьте осторожны при установке расширений. Зачастую веб-ресурс становится неуязвимым из-за установки непроверенных модулей.
Способы защиты
Различают три типа методов борьбы с вредоносным программным обеспечением (классификация по объекту):
Защита сервера | Защита CMS | Защита компьютера администратора |
---|---|---|
Ограничения доступа посетителей | Периодическое обновление CMS | Антивирусные программы |
Бэкап сайта (откат к работоспособной версии) | Применение SSL-сертификата | |
Проверка вводимых пользователями данных | Установка плагинов типа iThemes Security, Wordfence, Sucuri Security | |
Регулярное изменение паролей | Подключение только проверенных расширений | |
Сложные пароли с использованием | Защита от подбора паролей |
Сервисы для выявления заражения: встроенный антивирус хостинга, специальные инструменты от Google Webmaster и Яндекс.Вебмастер. Определить, заражен ли сайт вирусами можно с помощью Virustotal, ReScan. Обнаружили на сайте вирусы? Примите меры:
- определите источник заражения;
- проанализируйте состояние базы данных;
- проверьте, не заражены ли вирусами программные файлы сайта;
- ограничьте права посетителей, а если требуется, закройте сайт на время «лечения».
Не помогло? В таком случае откатите сайт путем запуска бэкапа. Если и в этом случае не удалось достичь успеха, воспользуйтесь помощью техподдержки хостинга.
Защита от криптомайнинга
Недобросовестные криптомайнеры задействуют ресурсы ПК пользователей для получения выгоды. При заходе на проблемный сайт вычислительные мощности компьютера работают для майнинга криптовалюты. Признаки: снижение производительности, подвисание системы. Подобное происходит в результате внедрения в программный код площадки вредоносных скриптов. Например, в один из модулей. Способы защиты от криптомайнинга:
- Subresource integrity (SRI). Инструмент для проверки загружаемого кода (при добавлении необходимо дополнить его атрибутом integrity). Атрибут содержит хэш файла, который браузер вычисляет — если он отличается от значения integrity, код не выполняется. Сервисы для вычисления хэша: SRI Hash Generator или Report Uri.
Важно! При обновлении скрипта поставщиком есть риск, что он не загрузится. Метод не работает для доменов, внесенных в белый список. - Контроль над средой Javascript и DOM. Нужен для выявления сторонних включений в код. Благодаря мониторингу удается избежать угроз типа JS и XSS.
Советуем сочетать оба способа для эффективной защиты сайта от вредоносных кодов.
Защита от фишинга
Фишинг — доступ к конфиденциальной информации с использованием сайта-клона. Чаще всего применяют для определения паролей, финансовых реквизитов, секретной информации. Сбор данных осуществляется на копии ресурса, который выглядит абсолютно так же, как оригинал. Признаки фишингового сайта:
- отсутствует сертификат безопасности — первые символы домена не https \\, а http \\;
- некорректное доменное имя — схоже с известным доменом, отличается 1–2 символами;
- ошибки в дизайне, контенте — неверно указано название компании, много опечаток, структура площадки отличается от оригинальной;
- подозрительные контакты, нет пользовательского соглашения, для коммерческих проектов обязательны условия доставки/оплаты, предоставления услуг.
На изображении ниже приведен пример фишинга: обратите внимание на отличие оригинального доменного имени от сайта-клона — как правило, это всего одна буква.
Способы защиты от фишинга:
- Проверка адресов сайтов. Даже отличие в один символ должно вызывать подозрение, особенно на ресурсах, где требуется ввод важных данных.
- Доверяйте только площадкам с сертификатом безопасности (если в адресной строке HTTP, а не HTTPS, воздержитесь от посещения).
- Используйте дополнительную проверку при авторизации. Например, с помощью SMS-кода.
- Проверка антивирусом. Поможет выявить фишинговый сайт.
- Воздержитесь от посещения сайтов платежных систем через публичные Wi-Fi.
Используйте встроенные средства браузера для защиты от фишинга.
Борьба со скиммингом
Skimming — кража платежных данных. Онлайн-скиммеры действуют по принципу автомайнеров — путем интеграции вредоносных скриптов для перехвата финансовых реквизитов пользователей. Хищение информации выполняется до кодирования и отправки. К сожалению, протокол HTTPS проблему не решает.
Методы противостояния скиммерам аналогичны майнерским: Subresource integrity и мониторинг среды Javascript и DOM. Проверяйте устанавливаемые на сервер файлы, отслеживайте состояние кода.
Как бороться с компрометацией паролей
Хищение личной информации подрывает доверие к сайту, компрометирует администратора. Основные типы угроз:
- Трояны. Вирусы попадают на ПК в качестве легального ПО, после чего становится возможным удаление, блокировка, редактирование и копирование конфиденциальной информации. Виды троянских вирусов:
- Бэкдоры. Служат для отслеживания веб-трафика, запуска вредоносного кода/программ.
- Эксплойты. Поражают ОС, браузеры, модули с открытым исходным кодом.
- Руткиты. Маскируют вредоносные программы, благодаря чему их сложнее обнаружить.
- Дропперы. Способствуют загрузке опасного ПО. Крайне сложно выявить даже с помощью антивирусных приложений.
- Банковские трояны. Служат для получения финансовых данных и хищения средств пользователей.
- Трояны для DDos-атак. После заражения ПК он используется для массированных атак.
- Имитация антивирусов. Зачастую отображаются в браузере: пользователь видит сообщение-предупреждение об опасности, переходит по ссылке, загружает троянскую программу. В результате платежные данные оказываются в распоряжении третьих лиц.
- Другие разновидности: «вымогатели», SMS-трояны, «шпионы», для сбора e-mail.
- Брутфорс. Подбор пароля путем перебора сочетаний. Чем проще комбинации, тем легче достичь цели злоумышленникам. Одна из мер противостояния — rate limiting (максимальное количество попыток ввода в единицу времени).
- Один и тот же пароль для разных сайтов. Если на одном из них произойдет утечка, станут известны данные для входа в разных сервисах.
- Перехват трафика вместе с паролями. Зачастую это происходит при входе через публичный Wi-FI, в корпоративной сети, с помощью бесплатных прокси-серверов или беспроводной интернет в гостях. Будьте осторожны, когда вводите данные на чужом ПК. Впоследствии его владелец может получить данные посредством кейлоггера.
Узнать о массовом сливе данных можно на ресурсе haveibeenpwned.com. Достаточно ввести пароль и электронную почту, чтобы начать проверку. Не забудьте поменять пароль после процедуры.
Способы защиты паролей
Комплексный подход поможет избежать хищения данных для входа. Наши рекомендации:
- Откажитесь от стандартного логина администратора для входа в админпанель (admin). Используйте нестандартные варианты, это снизит вероятность успешного взлома сайта.
- Избегайте реальных личных данных в качестве логина. Оптимальный выбор — нейтральное слово, которое не указывает на сайт или сферу деятельности.
- Обзаведитесь резервным учетным аккаунтом для входа в админку. Он пригодится на период отсутствия администратора, для восстановления данных, защиты от внешних угроз.
- Ограничивайте права пользователей. Без потребности не давайте статус редактора или администратора.
- После увольнения специалистов ограничьте их доступ. Этот совет особенно полезен крупным компаниям с большим количеством персонала.
- Воздержитесь от простых комбинаций, памятных дат в качестве пароля.
- Создавайте разные пароли для сотрудников. Так будет легче обеспечить безопасность сайта.
- Отдавайте предпочтение комбинациям, которые реально запомнить. Чрезмерно сложные сочетания чаще всего записывают, что упрощает их хищение.
- Надежный пароль. Помимо строчных и прописных букв используйте спецсимволы, цифры. Еще один вариант — транслитерация небольших фраз.
- Обеспечьте безопасность в сети. Не предоставляйте доступ всевозможным приложениям к вашему сайту.
- Периодически обновляйте пароль. Не реже 1 раза в 3 месяца.
- Откажитесь от пересылки логина и пароля по e-mail. В крайнем случае, используйте разные адреса для пересылки данных. Например, для логина — один почтовый ящик, а для пароля — другой. Не указывайте содержимое послания («доступ к сайту», «данные для входа» и так далее).
- Проверьте, что в качестве адресата указан один пользователь. Нередко отправитель не замечает, что помимо основного получателя указаны дополнительные.
- После выполнения разовых работ специалистами со стороны обязательно меняйте данные для входа.
- Добавьте сайт в «Яндекс.Вебмастер», а также в Google Search Console. С помощью встроенных инструментов удастся скорее узнать о внедрении вредоносного кода.
- Обеспечьте доступность данных для восстановления ресурса. Держите под рукой телефон провайдера хостинга, e-mail. Позаботьтесь о резервных каналах для общения с клиентами.
- Периодически делайте резервные копии веб-ресурса. Для этой цели подойдут расширения или стандартные инструменты CMS.
Еще советуем своевременно обновлять ПО, в том числе серверное, дополнения для блог-платформ и прочее.
Заключение
Мы рассмотрели основные виды угроз для сайта и способы борьбы с ними. Всегда помните о том, что:
- любой веб-ресурс нуждается в комплексной защите;
- данные для входа требуется менять не реже 1 раза в квартал;
- следует позаботиться о восстановлении площадки (бэкап);
- максимальная безопасность достигается за счет постоянной работы в области выявления уязвимостей.
Перекрыть все лазейки не удастся, так как аферисты постоянно совершенствуют мошеннические схемы. Именно поэтому заботиться о безопасности сайта надо постоянно, а не периодически.
Ваш вопрос или комментарий