Выйти из системы

Сменить пользователя

Как уберечь сайт на WordPress от кражи данных: защита POST-запросов

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

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

Как происходит типичный взлом сайта на WordPress

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

В результате он крадет информацию о клиентах — их имена, адреса и номера кредитных карт. После этого данные выставляются на продажу в даркнете.

Мы много раз становились свидетелями подобных инцидентов. 

Например, весной 2024 года хакеры взломали платформу Robo.finance. Так в открытый доступ попали 2 миллиона строк данных клиентов микрофинансовой организации «Займер» и около 6 миллионов — клиентов МФО «А Деньги».

Подобные истории происходят всё чаще. По данным «Солар», общее количество утечек данных в 2024 году выросло на 35% — вероятно, в том числе благодаря уязвимости плагинов WordPress.

Почему такие инциденты — не шутка

Владельцу сайта любая утечка персональных данных клиента может дорого обойтись.

Финансовые потери: компанию могут оштрафовать на сумму от 60 000 до 100 000 рублей за нарушение законодательства о защите персональных данных. В некоторых случаях штрафы могут достигать 1 миллиона рублей.

Напомним, с 2025 года ответственность за нарушения требований в сфере персональных данных ужесточили. Теперь главе или ответственному за ИБ в компании, которая допустила утечку, грозит уголовная ответственность. А с мая введут ещё и оборотные штрафы — от 1 до 3%.

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

Репутационные потери: утечка данных подрывает доверие клиентов к компании. Кроме того, подобные истории часто становятся достоянием общественности, что приводит к негативному освещению в СМИ и дополнительному давлению на компанию. 

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

Уязвимости плагинов WordPress часто связаны с незащищенными POST-запросами (особенно при использовании REST API, такого как wp-json/wp/v2/) и неправильной настройкой защиты, в том числе CORS и CSRF.

Что это такое

POST-запрос — метод передачи данных от клиента (обычно веб-браузера) к серверу. 

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

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

Если настройки CORS позволяют доступ с любого домена, злоумышленники могут отправлять POST-запросы от имени авторизованного пользователя. 

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

Чтобы минимизировать риски, важно правильно настроить защиту для работы с POST-запросами и REST API.

1.      Настройте CORS

Дайте доступ только проверенным доменам.

Убедитесь, что ваш API доступен только с вашего домена и других безопасных ресурсов.

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

2.      Используйте CSRF-токены

Внедрите CSRF-токены для защиты запросов на вашем сайте.

Эти токены автоматически генерируются на сервере и присоединяются к каждому запросу, что подтверждает его легитимность.

Воспользуйтесь встроенными функциями защиты WordPress от CSRF.

3.  Установите Web Application Firewall (WAF)

Настройте WAF для отсечения подозрительных запросов и ограничения доступа для нежелательных IP-адресов.

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

4.      Регулярно обновляйте WordPress и плагины

Обновления помогают устранять уязвимости и защищают ваш ресурс от новых угроз.

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

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

Подписывайтесь на наш Telegram-канал – мы регулярно публикуем новости об ИТ-индустрии, а также полезные материалы, шпаргалки и инструменты.