Как уберечь сайт на 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-канал – мы регулярно публикуем новости об ИТ-индустрии, а также полезные материалы, шпаргалки и инструменты.