Как исправить и предотвратить XSS-атаки в WordPress

Опубликовано: 2022-06-14
How to fix and prevent xss attacks

Вы беспокоитесь о том, что хакеры могут атаковать ваш сайт?

Межсайтовый скриптинг, также называемый XSS, является одной из самых распространенных атак на сайты WordPress. Хакеры находят уязвимости на вашем сайте и используют их для кражи информации и неправомерного использования вашего сайта.

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

Вы можете предотвратить эти взломы, установив брандмауэр на своем сайте WordPress.

Если ваш сайт уже подвергся атаке, мы сразу покажем вам, как это исправить, на простом, понятном для новичков языке. В этом руководстве мы сведем к минимуму жаргон кибербезопасности. Мы также покажем вам, как предотвратить атаки в будущем.

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

Что такое XSS-атака в WordPress?

XSS расшифровывается как Cross Site Scripting, который является своего рода инъекционной атакой, когда хакеры внедряют вредоносные скрипты на веб-сайт.

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

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

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

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

В этом сценарии правительство — это ваш веб-сайт, а шпион — браузер пользователя. Браузер следует инструкциям вашего веб-сайта и не может отличить хорошие сценарии от плохих.

Эти сценарии обычно написаны на Javascript, одном из самых популярных и широко используемых языков программирования. Хотя эти атаки могут происходить с использованием любого клиентского языка.

Сейчас существует множество способов проведения XSS-атаки. Один из способов — отправить ссылку ничего не подозревающим пользователям, чтобы они щелкнули по ней. Как только они нажмут на нее, атака может выполнить одно или несколько из следующих действий:

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

Если хакеру удастся украсть информацию из файлов cookie, он может полностью скомпрометировать учетную запись пользователя. Например, если вы вошли в панель управления wp-admin вашего сайта, хакер может украсть ваши учетные данные и войти на ваш сайт.

Что вам нужно сделать, чтобы предотвратить эти атаки, так это убедиться, что все пользовательские данные проверены и должным образом очищены, прежде чем они попадут на ваш сайт. Таким образом, пользовательский ввод не может быть вредоносным кодом Javascript. Кроме того, вам нужно убедиться, что на вашем сайте нет XSS-уязвимостей, которые могут позволить хакеру атаковать.

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

Как найти и устранить XSS-атаку в WordPress

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

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

Sucuri предлагает бесплатный сканер вредоносных программ для веб-сайтов, который вы можете установить на своем сайте WordPress, перейдя во вкладку « Плагины» »Добавить новую .

Мы рекомендуем использовать премиальный серверный сканер. Это вывернет ваш сайт наизнанку, чтобы найти любые следы вредоносного ПО.

В дополнение к этому, вот несколько его основных моментов:

  • Отслеживает спам и вредоносные скрипты
  • Проверяет наличие скрытых бэкдоров, созданных хакерами
  • Обнаруживает изменения, внесенные в DNS (система доменных имен) и SSL
  • Проверяет наличие черных списков в поисковых системах и других органах
  • Отслеживает время работы сайта
  • Мгновенные оповещения по электронной почте, SMS, Slack и RSS

Подробнее читайте в нашем обзоре Sucuri.

Стоимость Sucuri составляет 199,99 долларов в год. Если это выходит за рамки вашего бюджета, вы можете попробовать другие плагины безопасности. Смотрите наш список: Сравнение 9 лучших плагинов безопасности WordPress.

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

Шаг 1: Сканирование вашего сайта

Для начала вам необходимо подписаться на план Sucuri. Затем войдите в панель инструментов Sucuri, где вы можете добавить свой сайт.

Add site in Sucuri

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

Connect site to Sucuri

Когда ваш сайт подключен, Sucuri автоматически выполнит тщательное сканирование вашего сайта. После этого он покажет вам подробный отчет на вкладке «Мои сайты» .

Sucuri dashboard site infected

Теперь вы можете нажать кнопку «Подробнее» рядом с предупреждающим сообщением. Откроется страница « Мониторинг », где вы сможете просмотреть подробности взлома или заражения.

Шаг 2. Запрос на очистку от вредоносных программ

На странице « Мониторинг » вы можете увидеть, какое вредоносное ПО заразило ваш сайт. Sucuri добавляет рейтинг, чтобы указать уровень риска. Поэтому, если это критический или высокий риск, вы знаете, что вам нужно исправить это немедленно. Кроме того, он также покажет вам, был ли ваш сайт внесен в черный список какими-либо поисковыми системами.

Clean up site with Sucuri

Теперь, когда вы знаете, что ваш сайт заражен, вам нужно очистить его, и Sucuri сделает это очень просто. Чтобы начать процесс, нажмите кнопку «Очистить мой сайт» .

Malware removal request in Sucuri

На следующей странице нажмите кнопку « Новый запрос на удаление вредоносного ПО », и появится форма, в которой вы можете ввести данные своего сайта.

Malware removal request form in Sucuri

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

Теперь вам может быть интересно, сколько времени потребуется, чтобы очистить ваш сайт.

Sucuri отдает предпочтение пользователям бизнес-плана. Обещают время выполнения 6 часов. Для других планов это зависит от сложности заражения вашего сайта и объема запросов, находящихся в очереди.

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

Как предотвратить XSS-атаки на вашем сайте WordPress

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

1. Включите брандмауэр веб-приложений (WAF)

У Sucuri один из лучших брандмауэров для сайтов WordPress. Он блокирует не только XSS-атаки, но и все виды других вредоносных атак, таких как DDoS, Brute Force, фишинг и SQL-инъекции.

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

Чтобы включить брандмауэр Sucuri, перейдите на вкладку « Брандмауэр » на панели инструментов Sucuri.

Выберите свой сайт, и вы увидите инструкции по настройке, которым вы можете следовать. Sucuri предлагает 2 варианта настройки брандмауэра:

1. Автоматическая интеграция: просто введите свои учетные данные хостинга с помощью cPanel или Plesk. Этот метод требует, чтобы вы предоставили Sucuri доступ к серверу вашего веб-сайта для автоматической настройки брандмауэра на вашем сайте.

Sucuri firewall waf

2. Интеграция вручную: вы можете настроить брандмауэр самостоятельно, не предоставляя внутренний доступ к Sucuri. Для начала нажмите на ссылку внутреннего домена и убедитесь, что она загружается.

check internal domain link

Затем вы можете настроить свой DNS так, чтобы ваш веб-трафик направлялся на брандмауэр Sucuri. Для этого вам потребуется доступ к записям DNS в вашей учетной записи хостинга. Здесь вы можете изменить запись «A» вашего сайта и ввести IP-адреса, которые предоставляет Sucuri.

sucuri dns ip addresses

Если вы считаете, что все это слишком сложно, вы можете обратиться за помощью к своему веб-хостингу, и они помогут вам в этом процессе. Кроме того, вы также можете подать заявку в службу поддержки Sucuri, и их служба поддержки поможет вам изменить записи DNS.

Чтобы открыть тикет, вы найдете ссылку в инструкции на той же странице.

open a ticket sucuri

После завершения настройки брандмауэра обычно требуется несколько часов, чтобы изменения вступили в силу. Вы можете ожидать максимальное время ожидания 48 часов.

Когда вы включаете брандмауэр, он автоматически добавит заголовки безопасности на ваш сайт, чтобы защитить его от XSS-атак.

Если есть попытка XSS-атаки, Sucuri заблокирует ее и сообщит вам об этом на вкладке « Отчеты ».

Что нам нравится в брандмауэре Sucuri, так это то, что его легко использовать всем, включая новичков. Вам не нужно быть экспертом по кибербезопасности или знать какой-либо код.

Вы можете включить все виды функций защиты, просто щелкнув на вкладке « Настройки» »Безопасность .

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

Emergency ddos protection

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

Помимо этого, плагин Sucuri будет:

  • Регулярно сканируйте и отслеживайте наличие спама и вредоносного кода
  • Предупреждать вас о любых уязвимостях межсайтового скриптинга
  • Блокировать плохих ботов и хакеров
  • Проверьте наличие черных списков в поисковых системах и других органах
  • Следите за временем работы сайта
  • Обнаружение изменений, внесенных в DNS (система доменных имен) и SSL
  • Отправляйте вам мгновенные оповещения о безопасности по электронной почте, SMS, Slack и RSS

Так что ваш сайт всегда будет под защитой.

2. Используйте безопасные формы

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

Наша рекомендация для защиты форм вашего веб-сайта — WPForms. Это конструктор форм № 1 для WordPress со встроенной системой безопасности, поэтому ваши формы защищены с самого начала.

anti spam protection in WPForms

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

Advanced noCaptcha and Invisible Captcha

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

3. Установите разрешения роли пользователя

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

WordPress позволяет создавать роли для:

  • Супер администратор
  • Администратор
  • редактор
  • Автор
  • Автор
  • Подписчик

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

4. Автоматический выход неактивных пользователей

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

Вы можете свести к минимуму этот риск, выполнив выход из системы неактивных пользователей WordPress.

Многие плагины безопасности имеют функцию выхода из сеанса бездействия, или вы можете использовать плагин Inactive Logout.

5. Регулярно обновляйте свой сайт

Плагины WordPress, темы и даже ваша установка WordPress регулярно обновляются. Вы увидите их на панели инструментов WordPress, когда они будут доступны:

updates in wordpress

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

view version details of update

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

Все, что вам нужно сделать, это обновить программное обеспечение на вашем сайте.

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

security update

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

Таким образом, вы узнали, как исправлять и предотвращать XSS-атаки на ваш сайт WordPress.

Прежде чем мы закончим, мы дадим вам еще один совет по безопасности. Всегда делайте регулярные резервные копии вашего сайта.

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

Вы можете настроить автоматическое резервное копирование с помощью плагина резервного копирования, такого как UpdraftPlus. Дополнительные параметры см. в нашем списке лучших плагинов для резервного копирования WordPress.

Часто задаваемые вопросы

1. Уязвим ли WordPress к атакам межсайтового скриптинга?

Основное программное обеспечение WordPress разработано и поддерживается одними из лучших экспертов в мире. Их программное обеспечение довольно надежное, но имейте в виду, что ни одно программное обеспечение не свободно от уязвимостей.

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

2. Существуют ли различные виды атак межсайтового скриптинга?

Да. Существует 3 основных типа XSS-атак:

  • Сохраненный XSS (также известный как постоянный XSS): Злоумышленники хранят свою полезную нагрузку на скомпрометированном сервере, в результате чего веб-сайт доставляет вредоносный код другим посетителям.
  • Отраженный XSS: полезная нагрузка хранится в данных, отправляемых из браузера на сервер.
  • DOM XSS: здесь не сам сервер уязвим для XSS, а JavaScript на странице.
  • Самостоятельный межсайтовый скриптинг: Злоумышленники могут использовать уязвимость, которая требует действительно особого контекста и ручных изменений. Жертвой здесь может быть только ты сам.
  • Слепой межсайтовый скриптинг: в этих атаках уязвимость обычно находится на странице, доступ к которой имеют только авторизованные пользователи. Злоумышленник не может видеть результат атаки.

3. Как убедиться, что на моем сайте нет других проблем с безопасностью?

Убедитесь, что на вашем сайте всегда установлен плагин безопасности. Это необходимо для всех видов веб-сайтов, включая WooCommerce, блоги и сайты малого бизнеса. Мы рекомендуем Sucuri, но вы также можете попробовать Wordfence, MalCare и SiteLock. См. больше наших лучших рекомендаций здесь: Сравнение 9 лучших плагинов безопасности WordPress.

Это все, что у нас есть для вас сегодня. Мы надеемся, что этот пост дал вам все необходимое для защиты вашего сайта.

Дополнительные сведения о безопасности веб-сайтов см. в наших ресурсах:

  • Полное руководство по безопасности WordPress (для начинающих)
  • 5 лучших сканеров уязвимостей WordPress для поиска угроз
  • 9 лучших плагинов журнала активности для отслеживания и аудита вашего сайта WordPress

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