7 Уязвимости ваши плагины безопасности WordPress не могут защитить вас (и как их исправить вручную)

Опубликовано: 2025-01-27

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

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

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

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

Оглавление

Набор инструментов

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

  • Проверка сайта Sucuri : бесплатный инструмент для запуска вашего начального сканирования и проверки ваших изменений.
  • Заголовки безопасности : еще один бесплатный инструмент, который предоставляет подробные отзывы о конфигурациях безопасности веб -сайта.
  • Доступ к вашей панели управления хостингом : я использую CPanel, но я расскажу, что делать, если у вас есть что -то еще.
  • Текстовый редактор (возможно): на вашей панели управления хостингом, вероятно, есть одна встроенная, так что это может не понадобиться, но я перечисляю ее здесь на всякий случай.

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

Самый простой способ подойти к нему (если вы не уверены) - это перейти на базу знаний вашей хостинговой компании и поиск «CPanel». Если это нигде не приведет к поддержке клиентов.

Запуск ваших первоначальных проверок безопасности

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

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

Проверка сайта Sucuri

Чтобы начать, зайдите в инструмент проверки сайтов Sucuri и вставьте адрес вашего веб -сайта в сканер:

Страница проверки сайта Sucuri.

Нажмите «Отправить» и позвольте Sucuri внести свой магический.

Для целей этого учебника я намеренно не защищал свой личный сайт, чтобы показать вам, как выглядит стандартная конфигурация WordPress (прежде чем сделать изменения):

Результаты начального сканирования Sucuri, показывающих уязвимости безопасности.

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

Заголовки безопасности

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

В зависимости от того, насколько велик ваш сайт, результаты могут занять от секунды до… ну, дольше. 😅 Мой первоначальный результат выглядел так:

SecurityHeaders.com не удалось сканировать безопасность.

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

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

Понимание всех красных флагов

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

Проблемы оба пойманных инструмента 🤝

  • Содержимого безопасность-политика полностью отсутствует, что означает, что ничто не контролирует, какие сценарии и контент могут загружаться на сайте. ℹ Почему это плохо? Без этих элементов управления вредоносный код может быть введен и запускаться на ваших страницах, потенциально ставя под угрозу ваш сайт и посетителей.
  • X-frame-options отсутствует, что оставляет сайт уязвимым, чтобы щелкнуть попытки в результате несанкционированного встраивания. ℹ Почему это плохо? ClickJacking - это когда злоумышленники заставляют пользователей щелкнуть что -то отличное от того, что они видят, часто невидимо накладывая ваш законный сайт под злым контентом.
  • Опции контента не установлены, что может позволить атаки путаницы в типе MIME. ℹ Почему это плохо? Путаница типа MIME возникает, когда браузер обманывается в обработке одного типа файла как другого, потенциально выполняя вредный код.

Уникальные выводы Sucuri 🔍

  • Версия PHP видна в заголовках HTTP. ℹ Почему это плохо? Когда злоумышленники могут увидеть вашу версию PHP, они точно знают, какие уязвимости могут работать против вашего сайта, например, иметь план вашей системы безопасности.

Дополнительные идеи заголовка безопасности 🔬

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

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

Поиск пути к файлам сервера

Предполагая, что у вас есть CPanel, как и я, нажмите на диспетчер файлов в своей панели панели:

Доступ к файловому менеджеру через CPanel.

Если вы используете что -то другое, кроме CPanel, то вы можете скачать Filezilla (это бесплатно, и вот краткое руководство о том, как ее использовать). После его установки используйте данные FTP с панели панели хостинга, чтобы подключиться к вашему серверу:

  • Хост: ftp.yoursite.com - Дважды проверьте, является ли это правильный адрес в разделе FTP Cpanel
  • Имя пользователя: your-username
  • Пароль: your-password
  • Порт: 21 - Также проверьте, является ли это порт, который использует ваша настройка (FTP в CPanel)

Некоторые хозяева также предоставят вам собственную альтернативу CPanel, которая может функционировать аналогичным образом. Другими словами, вам, возможно, не нужно использовать Filezilla. Если вы не уверены, спросите поддержку клиентов.

Расположение файла .htaccess

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

Введите .htaccess в окне и нажмите Go .

Поиск файла .htaccess в файловом диспетчере CPanel.

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

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

Вы не хотите ни одного из них. Вы хотите только тот, который называется .htaccess и ничего больше.

Добавление кода в файл .htaccess для решения проблем безопасности

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

Загрузить файл .htaccess до внесения изменений.

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

После того, как ваша резервная копия будет безопасно загружена, вы можете продолжить редактирование файла .htaccess . В файловом менеджере Cpanel щелкните правой кнопкой мыши файл и выберите «Редактировать» . Если вы используете Filezilla, щелкните правой кнопкой мыши и выберите View/Edit -это откроет файл в вашем текстовом редакторе по умолчанию.

Следующая часть - вершина всей этой миссии. Именно здесь вы на короткое время чувствуете себя как эксперт по безопасности WordPress. Наслаждайтесь этим, пока это длится.

Где поместить код в свой файл .htaccess 👨🏻‍💻

Установки WordPress обычно имеют несколько разделов здесь, помеченные комментариями, которые начинаются с # BEGIN и # END .

Ищите линию, которая говорит об этом:

 # END WordPress

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

Вот код:

 # BEGIN Security Headers Header unset X-Powered-By php_flag expose_php Off Header set X-Frame-Options "SAMEORIGIN" Header set X-Content-Type-Options "nosniff" Header set Strict-Transport-Security "max-age=31536000; includeSubDomains" Header set Content-Security-Policy "default-src 'self' 'unsafe-inline' 'unsafe-eval' *; script-src 'self' 'unsafe-inline' 'unsafe-eval' * data: blob:; style-src 'self' 'unsafe-inline' *; img-src 'self' data: *; frame-src 'self' *; font-src 'self' data: *; media-src 'self' *;" Header set Referrer-Policy "strict-origin-when-cross-origin" Header set Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=()" # END Security Headers

После того, как вы закончите, нажмите «Сохранить изменения» в правом верхнем углу. Для пользователей, не относящихся к CPANEL, найдите, что эквивалентная кнопка находится на вашем собственном интерфейсе.

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

Повторно выполняет проверки безопасности

Во -первых, проверьте заголовки безопасности:

SecurityHeaders.com прошел Security Scan.

Не так уж плохо, а?

Мы пошли от F к А.

Поговорим о сиянии!

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

Далее, давайте проверим Sucuri:

Сканирование Sucuri после добавления кода заголовка.

Гораздо лучше, но странно, есть еще два предупреждения.

Первый на самом деле является ложным позитивным, так как я знаю, что на моем сайте работает WordFence. У меня нет никакого объяснения для этого, кроме, возможно, Сусури не узнает WordFence по какой -либо причине. Если вы видите то же предупреждение, а также знаете, что у вас установлен WAF, просто игнорируйте его.

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

SecurityHeaders.com прошел сканирование безопасности, но с предупреждениями.

Вот в чем дело:

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

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

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

Завершая

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

7 Уязвимости ваши плагины #WordPress #Security не могут защитить вас от 🔐
Нажмите, чтобы твитнуть

Скриншоты до и после сканирования безопасности, которые вы видели, являются доказательством этого.

И теперь, когда вы прочитали этот урок, вы тоже можете взять свою безопасность WordPress от «Плагин защищен» до «защищенного уровня сервера».

В последнем примечании, как лучшая практика безопасности, я также рекомендую сделать следующее:

  • Запустите эти безопасные сканирования ежемесячно.
  • Продолжайте документацию о ваших конфигурациях безопасности.
  • Проверьте после обновлений WordPress, чтобы убедиться, что все все еще работает в соответствии с задумами.
  • Измените адрес своей страницы входа.
  • Ограничить попытки входа в систему.
  • Активируйте двухфакторную аутентификацию (или 2FA для короткого).
  • Держите плагины и темы обновленными и удаляйте те, которые вы не используете.

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

У вас есть вопросы? Дайте мне знать в комментариях. Я был бы рад вам помочь.

Ура! Вы добрались до конца статьи!