Безопасность WordPress — 19 шагов для блокировки вашего сайта

Безопасность WordPress - 19 шагов для блокировки вашего сайта

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

Оглавление статьи:

Безопасен ли WordPress?

Первый вопрос, который вас, вероятно, интересует, безопасен ли WordPress? По большей части, да. Однако WordPress обычно получает дурную славу за то, что он подвержен уязвимостям безопасности и по своей сути не является безопасной платформой для бизнеса. Чаще всего это связано с тем, что пользователи продолжают следовать проверенным практикой наихудшим методам обеспечения безопасности. Использование устаревшего программного обеспечения WordPress, неработающих плагинов, плохое системное администрирование, управление учетными данными и отсутствие необходимых знаний в области веб-безопасности у пользователей WordPress, не обладающих техническими знаниями, позволяют хакерам оставаться на вершине киберпреступности. Даже лидеры отрасли не всегда используют лучшие практики. Компания Reuters была взломана, потому что использовала устаревшую версию WordPress. По сути, безопасность — это не идеальные безопасные системы. Это может быть непрактично или невозможно найти и/или поддерживать. Безопасность — это снижение риска, а не его устранение. Речь идет о применении всех доступных вам средств контроля, в пределах разумного, которые позволяют вам улучшить вашу общую позицию, снижая вероятность того, что вы станете мишенью и впоследствии подвергнетесь взлому. — Кодекс безопасности WordPress Но это не значит, что уязвимости не существует. Согласно исследованию за 3 квартал 2017 года, проведенному компанией Sucuri, специализирующейся на многоплатформенной безопасности, WordPress продолжает лидировать среди зараженных веб-сайтов, над которыми они работали (83%). Это больше, чем 74% в 2016 году.

 

Вашу рекламу скликивают конкуренты?

Подключите защиту по ссылке и экономьте ваш рекламный бюджет!

WordPress security vulnerabilities

На WordPress работает более 43,3% всех сайтов в интернете, и с сотнями тысяч комбинаций тем и плагинов неудивительно, что уязвимости существуют и постоянно обнаруживаются. Однако вокруг платформы WordPress также существует большое сообщество, благодаря которому эти уязвимости исправляются как можно скорее. По состоянию на 2022 год команда безопасности WordPress состоит примерно из 50 (по сравнению с 25 в 2017 году) экспертов, включая ведущих разработчиков и исследователей безопасности — около половины из них являются сотрудниками Automattic, а некоторые работают в сфере веб-безопасности.

Уязвимости WordPress

Ознакомьтесь с некоторыми из различных типов уязвимостей безопасности WordPress ниже.

  • Бэкдоры
  • Фарма Хаки
  • Попытки грубого входа в систему
  • Вредоносные перенаправления
  • Межсайтовый скриптинг (XSS)
  • Отказ в обслуживании

Бэкдоры

Уязвимость с метким названием «бэкдор» предоставляет хакерам скрытые проходы в обход шифрования безопасности для получения доступа к веб-сайтам WordPress через аномальные методы — wp-Admin, SFTP, FTP и т.д. После эксплуатации бэкдоры позволяют хакерам сеять хаос на хостинг-серверах с помощью межсайтовых атак заражения — компрометации нескольких сайтов, размещенных на одном сервере. В третьем квартале 2017 года компания Sucuri сообщила, что бэкдоры по-прежнему являются одним из многих действий злоумышленников после взлома: 71% зараженных сайтов имеют ту или иную форму инъекции бэкдора.

Malware family distribution

Бэкдоры часто зашифрованы так, что выглядят как легитимные системные файлы WordPress, и проникают в базы данных WordPress, используя слабые места и ошибки в устаревших версиях платформы. Фиаско TimThumb стало ярким примером того, как уязвимость бэкдора, использующая теневые скрипты и устаревшее программное обеспечение, скомпрометировала миллионы веб-сайтов. К счастью, предотвратить и вылечить эту уязвимость довольно просто. Вы можете просканировать свой сайт WordPress с помощью таких инструментов, как SiteCheck, которые легко обнаруживают распространенные бэкдоры. Двухфакторная аутентификация, блокировка IP-адресов, ограничение доступа администратора и предотвращение несанкционированного выполнения файлов PHP легко справляются с распространенными угрозами бэкдоров, о которых мы расскажем ниже. Canton Becker также опубликовал отличный пост об очистке бэкдоров в ваших установках WordPress.

Фарма Хаки

Эксплойт Pharma Hack используется для вставки мошеннического кода в устаревшие версии сайтов и плагинов WordPress, заставляя поисковые системы возвращать рекламу фармацевтической продукции при поиске скомпрометированного сайта. Уязвимость представляет собой скорее угрозу для спама, чем традиционное вредоносное ПО, но дает поисковым системам достаточно оснований для блокировки сайта по обвинению в распространении спама. Движущие части Pharma Hack включают бэкдоры в плагинах и базах данных, которые можно очистить, следуя инструкциям из этого блога Sucuri. Однако эксплойты часто представляют собой порочные варианты зашифрованных вредоносных инъекций, скрытых в базах данных, и требуют тщательной очистки для устранения уязвимости. Тем не менее, вы можете легко предотвратить Pharma Hacks, используя рекомендуемых хостинг-провайдеров WordPress с современными серверами и регулярно обновляя свои установки WordPress, темы и плагины. Такие хостинги, как Kinsta, также предлагают бесплатные услуги по устранению взломов.

Попытки грубого входа в систему

При попытках входа в систему методом грубой силы используются автоматизированные сценарии для использования слабых паролей и получения доступа к вашему сайту. Двухэтапная аутентификация, ограничение попыток входа, мониторинг несанкционированных входов, блокировка IP-адресов и использование надежных паролей — вот некоторые из самых простых и эффективных способов предотвращения атак методом грубой силы. Но, к сожалению, многие владельцы сайтов WordPress не выполняют эти правила безопасности, в то время как хакеры легко могут скомпрометировать до 30 000 сайтов за один день, используя атаки методом перебора.

Вредоносные перенаправления

Вредоносные перенаправления создают бэкдоры в установках WordPress, используя FTP, SFTP, wp-admin и другие протоколы, и внедряют коды перенаправления на сайт. Эти перенаправления часто помещаются в файл .htaccess и другие файлы ядра WordPress в закодированном виде, направляя веб-трафик на вредоносные сайты. Ниже мы рассмотрим некоторые способы предотвращения этих проблем в наших шагах по обеспечению безопасности WordPress.

Межсайтовый скриптинг (XSS)

Межсайтовый скриптинг (XSS) — это когда вредоносный скрипт внедряется в доверенный веб-сайт или приложение. Злоумышленник использует его для отправки вредоносного кода, обычно скриптов на стороне браузера, конечному пользователю без его ведома. Целью обычно является перехват данных cookie или сессии, а возможно, и переписывание HTML на странице. По данным WordFence, уязвимости межсайтового скриптинга являются наиболее распространенной уязвимостью, обнаруженной в плагинах WordPress со значительным отрывом.

Отказ в обслуживании

Возможно, самая опасная из них, уязвимость Denial of Service (DoS) использует ошибки и недочеты в коде для переполнения памяти операционных систем веб-сайтов. Хакеры взломали миллионы веб-сайтов и заработали миллионы долларов, используя устаревшие и баговые версии программного обеспечения WordPress с помощью DoS-атак. Хотя финансово мотивированные киберпреступники реже выбирают в качестве цели малые компании, они склонны компрометировать устаревшие уязвимые веб-сайты при создании сетей ботнетов для атак на крупные предприятия. Даже последние версии программного обеспечения WordPress не могут обеспечить комплексную защиту от громких DoS-атак, но, по крайней мере, помогут вам избежать попадания под перекрестный огонь между финансовыми учреждениями и изощренными киберпреступниками. И не забывайте о 21 октября 2016 года. Именно в этот день интернет перестал работать из-за DDoS-атаки DNS. Читайте подробнее о том, почему важно использовать премиум-провайдера DNS для повышения безопасности WordPress.

Руководство по безопасности WordPress 2022

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

WordPress sites hacked every day

Мы обязательно будем обновлять этот пост актуальной информацией по мере изменений в платформе WordPress и появления новых уязвимостей.

Инвестируйте в безопасный хостинг WordPress

Когда речь идет о безопасности WordPress, это гораздо больше, чем просто блокировка вашего сайта, хотя мы дадим вам лучшие рекомендации о том, как это сделать, ниже. Существует также безопасность на уровне веб-сервера, за которую отвечает ваш хостер WordPress. Мы в Kinsta очень серьезно относимся к безопасности и решаем многие из этих вопросов для наших клиентов. Очень важно, чтобы вы выбрали хостера, которому вы можете доверить свой бизнес. Или если вы размещаете WordPress на собственном VPS, то вам нужно обладать техническими знаниями, чтобы делать эти вещи самостоятельно. И, честно говоря, пытаться стать сисадмином, чтобы сэкономить 20 долларов в месяц, — плохая идея. Укрепление сервера — это ключ к поддержанию тщательно защищенной среды WordPress. Для того чтобы ИТ-инфраструктура, на которой размещаются сайты WordPress, была способна защитить от сложных угроз, как физических, так и виртуальных, требуется несколько уровней мер безопасности на аппаратном и программном уровне. По этой причине серверы, на которых размещается WordPress, должны обновляться последними версиями операционной системы и (защитного) программного обеспечения, а также тщательно тестироваться и сканироваться на наличие уязвимостей и вредоносных программ. Хорошим примером этого является ситуация, когда компании Kinsta пришлось поставить заплатку на NGINX для обнаруженных уязвимостей безопасности OpenSSL.

Брандмауэры и системы обнаружения вторжений на уровне сервера должны быть установлены до установки WordPress на сервер, чтобы обеспечить его надежную защиту даже на этапах установки WordPress и создания сайта. Однако любое установленное на машине программное обеспечение, предназначенное для защиты содержимого WordPress, должно быть совместимо с новейшими системами управления базами данных для поддержания оптимальной производительности. Сервер также должен быть настроен на использование безопасных сетевых протоколов и протоколов шифрования передачи файлов (например, SFTP вместо FTP), чтобы скрыть конфиденциальное содержимое от злоумышленников. В компании Kinsta мы используем самые быстрые серверы Google Cloud Platform и сеть премиум-уровня для всех наших клиентов WordPress, чтобы обеспечить быстрый и безопасный хостинг WordPress. Большим преимуществом этой платформы является то, что она построена на модели безопасности, которая создавалась на протяжении 15 лет, и в настоящее время обеспечивает безопасность таких продуктов и услуг, как Gmail, Search и т. д. В настоящее время в Google работает более 500 штатных специалистов по безопасности. Все сайты на Kinsta также защищены нашей бесплатной интеграцией с Cloudflare, которая включает в себя безопасный брандмауэр корпоративного уровня, а также бесплатную защиту от DDoS. Kinsta также использует Linux-контейнеры (LXC) и LXD для их оркестровки поверх Google Cloud Platform, что позволяет нам полностью изолировать не только каждый аккаунт, но и каждый отдельный сайт WordPress. Безопасность встроена в нашу архитектуру с самого начала, и это гораздо более безопасный метод, чем предлагаемый другими конкурентами.

Kinsta hosting architecture.

Используйте последнюю версию PHP

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

Supported PHP Versions

И знаете что? Согласно официальной странице WordPress Stats, на момент написания этой статьи более 57% пользователей WordPress все еще используют PHP 5.6 или ниже. Если объединить это с PHP 7.0, то получается, что 77,5% пользователей используют PHP версии, которые больше не поддерживаются. Это пугает!

WordPress PHP version Stats

Иногда предприятиям и разработчикам требуется время на тестирование и обеспечение совместимости своего кода, но у них нет оправдания тому, чтобы работать на чем-то без поддержки безопасности. Не говоря уже о том, что работа на старых версиях оказывает огромное влияние на производительность. Не знаете, на какой версии PHP вы сейчас находитесь? Большинство хостеров обычно указывают это в заголовке запроса на вашем сайте. Быстрый способ проверить — запустить ваш сайт через Pingdom. Нажмите на первый запрос и найдите параметр X-Powered-By. Обычно он показывает версию PHP, которую в настоящее время использует ваш веб-сервер. Однако некоторые хостеры удаляют этот заголовок по соображениям безопасности. Kinsta удаляет этот заголовок по умолчанию, чтобы обеспечить безопасность вашего сайта.

Check PHP version in Pingdom

Мы в Kinsta рекомендуем использовать только стабильные и поддерживаемые версии PHP, включая 7.2, 7.3 и 7.4. PHP 5.6, 7.0 и 7.1 были сняты с производства. Вы даже можете переключаться между версиями PHP одним нажатием кнопки на панели MyKinsta.

Change to PHP 7.4.

Если вы находитесь на хосте WordPress, который использует cPanel, вы обычно можете переключаться между версиями PHP, нажав на «PHP Select» в категории программного обеспечения.

cpanel php version

Используйте умные имена пользователей и пароли

Удивительно, но одним из лучших способов усилить безопасность WordPress является простое использование умных имен пользователей и паролей. Звучит довольно просто, верно? Посмотрите ежегодный список самых популярных паролей, украденных в течение года (отсортированных в порядке популярности), составленный компанией SplashData в 2019 году.

  • 123456
  • пароль
  • 123456789
  • 12345678
  • 12345
  • 111111
  • 1234567
  • солнечный свет
  • qwerty
  • iloveyou

Именно так! Самым популярным паролем является «123456», за которым следует удивительное «password». Это одна из причин, почему в Kinsta при установке новых WordPress мы фактически заставляем использовать сложный пароль для входа в wp-admin (как показано ниже в нашем процессе установки в один клик). Это не является необязательным.

Force secure WordPress password

Основная функция WordPress wp_hash_password использует механизм хеширования паролей phpass и восемь проходов хеширования на основе MD5. Лучшая защита начинается с основ. В Google есть несколько отличных рекомендаций по выбору надежного пароля. Или вы можете воспользоваться онлайн-инструментом, например, Генератором надежных паролей. Подробнее о том, как изменить пароль WordPress, вы можете узнать здесь. Также важно использовать разные пароли для каждого сайта. Лучше всего хранить их локально в зашифрованной базе данных на вашем компьютере. Хорошим бесплатным инструментом для этого является KeePass. Если вы не хотите идти этим путем, существуют также онлайн менеджеры паролей, такие как 1Password или LastPass. Несмотря на то, что ваши данные надежно хранятся в «облаке», они в целом более безопасны, поскольку вы не используете один и тот же пароль на нескольких сайтах. Это также избавляет вас от необходимости использовать липкие записки. Что касается установки WordPress, вы никогда не должны использовать имя пользователя «admin» по умолчанию. Создайте уникальное имя пользователя WordPress для учетной записи администратора и удалите пользователя «admin», если он существует. Это можно сделать, добавив нового пользователя в разделе «Пользователи» на приборной панели и присвоив ему профиль «Администратор» (как показано ниже).

WordPress administrator role

После назначения новой учетной записи роли администратора вы можете вернуться и удалить исходного пользователя «Admin». Убедитесь, что при нажатии на кнопку «Удалить» вы выбрали опцию «Приписать все содержимое» и выбрали новый профиль администратора. Это назначит его автором этих сообщений.

delete admin attribute all content to

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

UPDATE wp_users SET user_login = 'newcomplexadminuser' WHERE user_login = 'admin';

Всегда используйте последнюю версию WordPress, плагинов и тем

Еще один очень важный способ усилить безопасность WordPress — всегда поддерживать его в актуальном состоянии. Это включает ядро WordPress, плагины и темы (как из репозитория WordPress, так и премиум-класса). Они обновляются не просто так, и во многих случаях они включают в себя улучшения безопасности и исправления ошибок. Мы рекомендуем вам прочитать наше подробное руководство о том, как работают автоматические обновления WordPress.

Keep WordPress up to date

К сожалению, миллионы компаний используют устаревшие версии программного обеспечения и плагинов WordPress и по-прежнему считают, что находятся на верном пути к успеху бизнеса. Они называют такие причины отказа от обновления, как «их сайт сломается» или «основные модификации исчезнут» или «плагин X не будет работать» или «им просто не нужна новая функциональность». На самом деле, сайты ломаются в основном из-за ошибок в старых версиях WordPress. Команда WordPress и опытные разработчики, которые понимают все риски, никогда не рекомендуют вносить изменения в ядро. А обновления WordPress в основном включают в себя необходимые исправления безопасности, а также дополнительные функции, необходимые для работы новейших плагинов. Знаете ли вы, что, по имеющимся данным, уязвимости плагинов составляют 55,9% известных точек входа для хакеров? Именно такие результаты были получены компанией WordFence в ходе исследования, в ходе которого они опросили более 1000 владельцев сайтов WordPress, ставших жертвами атак. Обновляя свои плагины, вы можете быть уверены, что не станете одной из этих жертв.

hacked wordpress websites plugins

Также рекомендуется устанавливать только проверенные плагины. Категории «featured» и «popular» в репозитории WordPress могут быть хорошим местом для начала. Или загрузите его непосредственно с сайта разработчика. Мы настоятельно не рекомендуем использовать недействительные плагины и темы WordPress. Во-первых, вы никогда не знаете, что может содержать измененный код. Это может легко привести к тому, что ваш сайт взломают. Отказ от оплаты премиум-плагинов WordPress также не способствует развитию сообщества в целом. Мы должны поддерживать разработчиков. Вот как правильно удалить тему WordPress. Вы можете использовать онлайн-инструмент, например VirusTotal, для сканирования файлов плагина или темы на предмет обнаружения вредоносных программ.

VirusTotal

Как обновить ядро WordPress

Есть несколько простых способов обновить вашу установку WordPress. Если вы являетесь клиентом Kinsta, мы обеспечили автоматическое резервное копирование с возможностью восстановления одним щелчком мыши. Таким образом, вы можете тестировать новые версии WordPress и плагинов, не беспокоясь о том, что они что-то сломают. Также вы можете сначала протестировать в нашей рабочей среде. Чтобы обновить ядро WordPress, вы можете зайти в раздел «Обновления» в вашей приборной панели WordPress и нажать на кнопку «Обновить сейчас».

Update WordPress core

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

  • Удалите старые каталоги wp-includes и wp-admin.
  • Загрузите новые каталоги wp-includes и wp-admin.
  • Загрузите отдельные файлы из новой папки wp-content в существующую папку wp-content, перезаписав существующие файлы. НЕ удаляйте существующую папку wp-content. НЕ удаляйте файлы и папки в существующей папке wp-content (кроме той, которая перезаписывается новыми файлами).
  • Загрузите все новые свободные файлы из корневого каталога новой версии в существующий корневой каталог WordPress.

Как обновлять плагины WordPress

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

Update WordPress plugins

Аналогичным образом можно обновить плагин вручную. Просто возьмите последнюю версию у разработчика плагина или в репозитории WordPress и загрузите ее по FTP, перезаписав существующий плагин в каталоге /wp-content/plugins. Также важно отметить, что разработчики не всегда поддерживают свои плагины в актуальном состоянии. Команда из WP Loop провела небольшой анализ того, сколько плагинов WordPress в репозитории не соответствуют текущему ядру WordPress. Согласно их исследованию, почти 50% плагинов в репозитории не обновлялись более 2 лет. Это не означает, что плагин не будет работать с текущей версией WordPress, но рекомендуется выбирать плагины, которые активно обновляются. Устаревшие плагины с большей вероятностью содержат уязвимости в системе безопасности.

wordpress plugins not updated

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

Old WordPress plugin with bad ratings

Иногда популярная стратегия безопасности WordPress за счет неизвестности оказывается достаточно эффективной для среднего онлайн-бизнеса и сайта WordPress. Если вы затрудняете хакерам поиск определенных «черных ходов», то вероятность атаки на вас снижается. Блокировка области администрирования и входа в систему WordPress — хороший способ усилить свою безопасность. Два отличных способа сделать это — изменить URL-адрес входа в систему wp-admin по умолчанию, а также ограничить количество попыток входа.

WordPress security archive

Как изменить URL-адрес входа в систему WordPress

По умолчанию URL входа на сайт WordPress — domain.com/wp-admin. Одна из проблем с этим заключается в том, что все боты, хакеры и скрипты также знают это. Изменив URL, вы можете сделать себя менее привлекательной мишенью и лучше защитить себя от атак методом перебора. Это не универсальное решение, это просто один маленький трюк, который определенно поможет защитить вас. Для изменения URL-адреса входа в WordPress мы рекомендуем использовать бесплатный плагин WPS Hide login или премиум-плагин Perfmatters. Оба плагина имеют простое поле ввода. Только не забудьте выбрать что-то уникальное, что не будет уже в списке, который может попытаться просканировать бот или скрипт.

Hide WordPress login URL with Perfmatters

Как ограничить количество попыток входа в систему

Хотя описанное выше решение по изменению URL-адреса входа в систему администратора может помочь уменьшить большинство неудачных попыток входа, введение ограничений также может быть очень эффективным. Бесплатный плагин Cerber Limit Login Attempts — это отличный способ легко настроить длительность блокировки, попытки входа, а также белые и черные списки IP-адресов.

limit login attempts wordpress

Если вы ищете более простое решение для обеспечения безопасности WordPress, еще одна отличная альтернатива — бесплатный плагин Login Lockdown. Login LockDown записывает IP-адрес и временную метку каждой неудачной попытки входа в систему. Если в течение короткого периода времени с одного и того же IP-адреса будет обнаружено более определенного количества попыток, то функция входа будет отключена для всех запросов из этого диапазона. Он полностью совместим с плагином WPS Hide login, о котором мы упоминали выше.

login lockdown wordpress

Как добавить базовую аутентификацию HTTP (защита htpasswd)

Еще один способ заблокировать администратора — добавить HTTP-аутентификацию. Для этого необходимо ввести имя пользователя и пароль, прежде чем получить доступ к странице входа в систему WordPress. Примечание: Обычно этот способ не следует использовать на сайтах электронной коммерции или сайтах членства. Но это может быть очень эффективным способом предотвратить попадание ботов на ваш сайт.

.htpasswd authentication prompt

Apache

Если вы используете хостинг cPanel, вы можете включить защищенные паролем каталоги из его панели управления. Чтобы настроить его вручную, сначала нужно создать файл .htpasswd. Вы можете использовать этот удобный инструмент генератора. Затем загрузите этот файл в каталог в папке wp-admin, например:

home/user/.htpasswds/public_html/wp-admin/htpasswd/

Затем создайте файл .htaccess со следующим кодом и загрузите его в каталог /wp-admin/. Убедитесь, что вы обновили путь к директории и имя пользователя.

AuthName "Только для администраторов"
AuthUserFile /home/ваш каталог/.htpasswds/public_html/wp-admin/htpasswd
AuthType basic
require user yourusername

Единственная оговорка в этом способе заключается в том, что он нарушает AJAX (admin-ajax) на передней части вашего сайта. Этого требуют некоторые сторонние плагины. Поэтому вам также потребуется добавить следующий код в вышеуказанный файл .htaccess.

<Файлы admin-ajax.php>
Приказ разрешить, запретить
Разрешить от всех
Удовлетворить любые
</Files>

Nginx

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

Enable .htpasswd protection

Если вы размещаете свой сайт WordPress на Kinsta, вы можете использовать наш простой инструмент защиты паролем (htpasswd) в приборной панели MyKinsta. Вы можете найти его в разделе «Инструменты» на вашем сайте. Просто нажмите «Включить», выберите имя пользователя и пароль, и все готово! После его включения ваш сайт WordPress будет требовать аутентификации для доступа к нему. Вы можете изменить учетные данные в любое время или отключить их, если они вам больше не нужны.

Блокировка пути URL

Если вы используете брандмауэр веб-приложений (WAF), такой как Cloudflare или Sucuri, у них также есть способы блокировки пути URL. По сути, вы можете настроить правило так, чтобы только ваш IP-адрес мог получить доступ к URL-адресу входа в систему администратора WordPress. Опять же, это правило не следует использовать на сайтах электронной коммерции или сайтах членства, поскольку они также зависят от доступа к бэкенду вашего сайта.

  • Cloudflare имеет функцию блокировки URL в своих учетных записях Pro и выше. Вы можете установить правило для любого URL или пути.
  • В Sucuri есть функция черного списка URL-путей. Затем вы можете внести в белый список свой собственный IP-адрес.

Воспользуйтесь преимуществами двухфакторной аутентификации

И, конечно, нельзя забывать о двухфакторной аутентификации! Каким бы надежным ни был ваш пароль, всегда есть риск, что кто-то его узнает. Двухфакторная аутентификация предполагает двухэтапный процесс, при котором для входа в систему требуется не только пароль, но и второй способ. Обычно это текстовое сообщение (SMS), телефонный звонок или одноразовый пароль, основанный на времени (TOTP). В большинстве случаев это на 100% эффективно для предотвращения атак грубой силы на ваш сайт WordPress. Почему? Потому что практически невозможно, чтобы у злоумышленника был и ваш пароль, и ваш мобильный телефон. Двухфакторная аутентификация состоит из двух частей. Первая — это ваша учетная запись или панель управления, которую вы имеете у хостинг-провайдера. Если кто-то получит к нему доступ, он может изменить ваши пароли, удалить ваши сайты, изменить записи DNS и т.п. Ужасные вещи. Мы в Kinsta сотрудничаем с Authy и предлагаем двухфакторную аутентификацию для вашей панели MyKinsta. После установки и настройки одного из вышеперечисленных плагинов на странице входа в систему WordPress обычно появляется дополнительное поле для ввода кода безопасности. Или, с плагином Duo, вы сначала входите в систему со своими учетными данными, а затем вам нужно выбрать метод аутентификации, например, Duo Push, звонок или пароль. Этот метод можно легко совместить с изменением URL входа по умолчанию, о чем мы говорили ранее. Таким образом, ваш URL для входа в WordPress теперь не только известен только вам, но и требует дополнительной аутентификации для входа. 

WordPress two-factor authenticator page

Поэтому обязательно воспользуйтесь двухфакторной аутентификацией — это простой способ усилить безопасность WordPress.

Используйте HTTPS для зашифрованных соединений — SSL-сертификат

Один из самых забытых способов усилить безопасность WordPress — установить SSL-сертификат и запустить свой сайт по протоколу HTTPS. HTTPS (Hyper Text Transfer Protocol Secure) — это механизм, который позволяет вашему браузеру или веб-приложению безопасно соединяться с веб-сайтом.  Большое заблуждение заключается в том, что если вы не принимаете кредитные карты, то SSL вам не нужен. Что ж, давайте объясним несколько причин, почему HTTPS важен не только для электронной коммерции. Многие хостинги, включая Kinsta, предлагают бесплатные SSL-сертификаты с Let’s Encrypt.

Безопасность

Конечно, самая большая причина для HTTPS — это дополнительная безопасность, и да, это действительно относится к сайтам электронной коммерции. Однако насколько важна ваша информация для входа в систему? Для тех, у кого есть многоавторские сайты WordPress, если вы работаете по протоколу HTTP, каждый раз, когда человек входит в систему, эта информация передается на сервер в виде обычного текста. HTTPS абсолютно необходим для поддержания безопасного соединения между веб-сайтом и браузером. Таким образом, вы можете предотвратить доступ хакеров или посредников к вашему сайту. Поэтому, независимо от того, есть ли у вас блог, новостной сайт, агентство и т.д., все они могут извлечь выгоду из HTTPS, так как это гарантирует, что ничто и никогда не будет передано в виде обычного текста. Google официально заявил, что HTTPS является фактором ранжирования. Хотя это лишь небольшой фактор ранжирования, большинство из вас, вероятно, воспользуется любым преимуществом, которое вы можете получить в SERP, чтобы обойти своих конкурентов.

Доверие и надежность

По данным опроса, проведенного компанией GlobalSign, 28,9% посетителей ищут в браузере зеленую адресную строку. И 77% из них беспокоятся о том, что их данные могут быть перехвачены или использованы не по назначению в Интернете. Увидев зеленый замок, клиенты будут чувствовать себя спокойнее, зная, что их данные находятся в большей безопасности.

Данные о направлениях

Многие люди не понимают, что данные о переадресации HTTPS на HTTP блокируются в Google Analytics. Что же происходит с этими данными? Ну, большинство из них просто объединяется с разделом «прямой трафик». Если кто-то переходит с HTTP на HTTPS, реферер все равно передается.

Предупреждения Chrome

С 24 июля 2018 года версии Chrome 68 и выше начали помечать все не-HTTPS сайты как «Небезопасные». Независимо от того, собирают они данные или нет. Вот почему HTTPS важен как никогда!

Chrome not secure website

Это особенно важно, если ваш сайт получает большую часть трафика из Chrome. Вы можете посмотреть в Google Analytics в разделе «Аудитория» в разделе «Браузер и ОС», чтобы узнать, какой процент трафика ваш WordPress-сайт получает из Google Chrome. Google делает гораздо более понятным для посетителей, что ваш сайт WordPress может работать не на защищенном соединении.

Производительность

Благодаря протоколу под названием HTTP/2, во многих случаях те, кто запускает правильно оптимизированные сайты по HTTPS, могут даже увидеть улучшение скорости. HTTP/2 требует HTTPS из-за поддержки браузерами. Повышение производительности происходит по целому ряду причин, например, HTTP/2 поддерживает более эффективное мультиплексирование, параллелизм, сжатие HPACK с кодировкой Хаффмана, расширение ALPN и подталкивание сервера. А с TLS 1.3 соединения HTTPS становятся еще быстрее. Kinsta поддерживает TLS 1.3 на всех наших серверах и в нашей сети Kinsta CDN. Задумались о HTTPS? Ознакомьтесь с нашим подробным руководством по миграции WordPress на HTTPS, которое поможет вам начать работу, и узнайте больше в нашем сравнении TLS и SSL. Чтобы обеспечить безопасное, зашифрованное соединение между вами и сервером при входе и администрировании вашего сайта, добавьте следующую строку в файл wp-config.php:

define('FORCE_SSL_ADMIN', true);

Усильте ваш файл wp-config.php

Ваш файл wp-config.php — это сердце и душа вашей установки WordPress. Это, безусловно, самый важный файл на вашем сайте, когда речь идет о безопасности WordPress. Он содержит информацию для входа в базу данных и ключи безопасности, которые обеспечивают шифрование информации в cookies. Ниже приведены несколько вещей, которые вы можете сделать, чтобы лучше защитить этот важный файл.

Переместите файл wp-config.php

По умолчанию ваш файл wp-config.php находится в корневом каталоге вашей установки WordPress (папка /public HTML). Но вы можете переместить его в каталог, не доступный для www. Аарон Адамс написал отличное объяснение того, почему это полезно. Чтобы переместить файл wp-config.php, просто скопируйте все из него в другой файл. Затем в файле wp-config.php вы можете поместить следующий фрагмент, чтобы просто включить ваш другой файл. Примечание: путь к каталогу может отличаться в зависимости от вашего хоста и настроек. Обычно это просто одна директория выше.

<?php
include('/home/yourname/wp-config.php');

Примечание: это не будет работать для клиентов Kinsta и нарушит функциональность на нашей платформе. Это связано с тем, что наши ограничения open_basedir не позволяют выполнять PHP выше каталога ~/public по соображениям безопасности. Хорошая новость заключается в том, что мы решаем эту проблему за вас! Мы делаем фактически то же самое, блокируя доступ к wp-login.php в каталоге ~/public. Наша стандартная конфигурация Nginx включает правило, которое будет возвращать 403 при любой попытке доступа к wp-config.php.

Обновление ключей безопасности WordPress

Ключи безопасности WordPress — это набор случайных величин, которые улучшают шифрование информации, хранящейся в кукисах пользователя. Начиная с версии WordPress 2.7 существует 4 различных ключа: AUTH_KEYSECURE_AUTH_KEYLOGGED_IN_KEY и NONCE_KEY. При установке WordPress эти ключи генерируются случайным образом. Однако, если вы прошли через несколько миграций (ознакомьтесь с нашим списком лучших плагинов для миграции WordPress) или приобрели сайт у кого-то другого, может быть полезно создать свежие ключи WordPress.

WordPress security keys

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

Изменить разрешения

Обычно файлы в корневом каталоге сайта WordPress имеют права доступа 644, что означает, что файлы доступны для чтения и записи владельцу файла, для чтения пользователям из группы владельца этого файла и для чтения всем остальным. Согласно документации WordPress, разрешения на файл wp-config.php должны быть установлены на 440 или 400, чтобы другие пользователи сервера не могли его прочитать. Вы можете легко изменить это с помощью вашего FTP-клиента.

wp-config.php permissions

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

Отключить XML-RPC

В последние годы XML-RPC становится все более крупной мишенью для атак методом грубой силы. Как отмечает Sucuri, одной из скрытых особенностей XML-RPC является то, что вы можете использовать метод system.multicall для выполнения нескольких методов внутри одного запроса. Это очень полезно, поскольку позволяет приложению передавать несколько команд в рамках одного HTTP-запроса. Но бывает и так, что этот метод используется со злым умыслом. Есть несколько плагинов WordPress, например Jetpack, которые полагаются на XML-RPC, но большинству людей это не нужно, и может быть полезно просто отключить доступ к нему. Не уверены, работает ли XML-RPC на вашем сайте? Данило Эрколи из команды Automattic написал небольшой инструмент под названием XML-RPC Validator. Вы можете прогнать свой сайт WordPress через него, чтобы проверить, включен ли на нем XML-RPC. Если нет, вы увидите сообщение о неудаче, как показано на рисунке ниже в блоге Kinsta.

check wordpress xml-rpc

Чтобы полностью отключить его, вы можете установить бесплатный плагин Disable XML-RPC. Или вы можете отключить его с помощью премиум-плагина perfmatters, который также содержит улучшения веб-производительности.

location ~* ^/xmlrpc.php$ {
return 403;
}

Скрыть версию WordPress

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

wordpress version source code

Вы можете использовать следующий код, чтобы убрать это. Просто добавьте его в файл functions.php вашей темы WordPress. Важно! Редактирование исходного кода темы WordPress может привести к поломке вашего сайта при неправильном выполнении. Если вам не удобно это делать, пожалуйста, сначала проконсультируйтесь с разработчиком.

function wp_version_remove_version() {
return '';
}
add_filter('the_generator', 'wp_version_remove_version');

Вы также можете использовать премиум-плагин, такой как perfmatters (разработанный членом команды Kinsta), который позволяет скрыть версию WordPress одним щелчком мыши, наряду с другими оптимизациями для вашего сайта WordPress.

Hide WordPress version with Perfmatters

Еще одно место, где отображается версия WordPress, — это файл readme.html (как показано ниже), который по умолчанию включается в каждую версию WordPress. Он расположен в корне вашей установки, domain.com/readme.html. Вы можете безопасно удалить этот файл через FTP.

wordpress version readme

Если вы используете WordPress 5.0 или выше, это больше не применимо, так как номер версии больше не включен в файл.

Добавление последних заголовков безопасности HTTP

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

  • Политика безопасности содержимого
  • X-XSS-Protection
  • Строгость-Транспорт-Безопасность
  • X-Frame-Options
  • Public-Key-Pins
  • X-Content-Type

В KeyCDN есть отличный подробный пост, если вы хотите прочитать больше о заголовках безопасности HTTP. Вы можете проверить, какие заголовки в настоящее время работают на вашем сайте WordPress, запустив Chrome devtools и посмотрев на заголовок в первоначальном ответе вашего сайта. Ниже приведен пример на сайте kinsta.com. Видно, что мы используем заголовки strict-transport-securityx-content-type и x-frame-options.

HTTP security headers

Вы также можете просканировать свой сайт WordPress с помощью бесплатного инструмента securityheaders.io Скотта Хельме. Он покажет вам, какие HTTP-заголовки безопасности в настоящее время есть на вашем сайте. Если вы не уверены, как их внедрить, вы всегда можете спросить у своего хостера, может ли он вам помочь.

http security headers scan

Примечание: Также важно помнить, что при внедрении заголовков безопасности HTTP это может повлиять на ваши поддомены WordPress. Например, если вы добавляете заголовок Content Security Policy и ограничиваете доступ по доменам, то вам необходимо добавить и свои поддомены.

Используйте плагины безопасности WordPress

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

  • Sucuri Security
  • Безопасность iThemes
  • Безопасность WordFence
  • WP fail2ban
  • SecuPress

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

  • Генерирование и принудительное использование надежных паролей при создании профилей пользователей
  • Принудительное истечение срока действия паролей и их регулярный сброс
  • Регистрация действий пользователя
  • Простое обновление ключей безопасности WordPress
  • Сканирование вредоносных программ
  • Двухфакторная аутентификация
  • reCAPTCHAs
  • Брандмауэры безопасности WordPress
  • Белые списки IP-адресов
  • Составление черных списков IP-адресов
  • Журналы изменений файлов
  • Мониторинг изменений DNS
  • Блокировать вредоносные сети
  • Просмотр WHOIS-информации о посетителях

Очень важной особенностью многих плагинов безопасности является утилита контрольной суммы. Это означает, что они проверяют вашу установку WordPress и ищут изменения в основных файлах, предоставляемых WordPress.org (через API). Любые изменения или модификации этих файлов могут указывать на взлом. Вы также можете использовать WP-CLI для запуска собственной контрольной суммы. Обязательно прочитайте наше подробное руководство по мониторингу целостности файлов. Еще один замечательный плагин, который заслуживает почетного упоминания, — это плагин WP Security Audit Log. Он отлично подходит для тех, кто работает с многосайтовыми сайтами WordPress или просто сайтами с несколькими авторами. Он помогает обеспечить продуктивность работы пользователей и позволяет администраторам видеть все изменения, такие как логины, изменения паролей, изменения тем, изменения виджетов, создание новых постов, обновления WordPress и т.д. Это полное решение для ведения журнала активности WordPress. На момент написания этой статьи плагин WP Security Audit Log имеет более 80 000+ активных установок с рейтингом 4,7 из 5 звезд. Это отличный выбор, если вы ищете решение для безопасности WordPress, совместимое с несколькими сайтами.

wordpress security audit log

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

Обеспечение безопасности баз данных

Есть несколько способов повысить безопасность базы данных WordPress. Первый — использовать умное имя базы данных. Если ваш сайт называется volleyball tricks, то по умолчанию ваша база данных WordPress, скорее всего, называется wp_volleyballtricks. Изменение имени базы данных на более непонятное поможет защитить ваш сайт, так как хакерам будет сложнее определить и получить доступ к данным вашей базы данных. Вторая рекомендация — использовать другой префикс таблиц базы данных. По умолчанию WordPress использует wp_. Изменение его на что-то вроде 39xw_ может быть гораздо более безопасным. Когда вы устанавливаете WordPress, он запрашивает префикс таблицы (как показано ниже). Существуют также способы изменить префикс таблиц WordPress в существующих установках. Если вы являетесь клиентом Kinsta, это не нужно. У нас сайт и база данных заблокированы!

wordpress table prefix

Всегда используйте безопасные соединения

Мы не можем не подчеркнуть, насколько важно использовать безопасные соединения! Убедитесь, что ваш хостинг WordPress принимает меры предосторожности, например, предлагает SFTP или SSH. SFTP или Secure File Transfer Protocol (также известный как протокол передачи файлов SSH) — это сетевой протокол, используемый для передачи файлов. Это более безопасный метод по сравнению со стандартным FTP. В Kinsta мы поддерживаем только SFTP-соединения, чтобы обеспечить безопасность и шифрование ваших данных. Большинство хостеров WordPress также обычно используют порт 22 для SFTP. В Kinsta мы пошли еще дальше, и у каждого сайта есть свой порт, который можно найти в вашей панели MyKinsta.

SFTP details in MyKinsta.

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

  • Не включайте функцию удаленного управления (VPN). Обычные пользователи никогда не используют эту функцию, и, отключив ее, вы сможете не раскрывать свою сеть для внешнего мира.
  • Маршрутизаторы по умолчанию используют IP-адреса в диапазоне, например 192.168.1.1. Используйте другой диапазон, например 10.9.8.7.
  • Включите самый высокий уровень шифрования на вашем Wifi.
  • Внесите ваш Wifi в белый список IP-адресов, чтобы доступ к нему имели только люди с паролем и определенным IP-адресом.
  • Обновляйте прошивку маршрутизатора.

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

Проверьте разрешения файлов и сервера

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

Разрешения файлов

  • Разрешения на чтение назначаются, если пользователь имеет права на чтение файла.
  • Разрешения на запись назначаются, если пользователь имеет права на запись или изменение файла.
  • Разрешения на выполнение назначаются, если пользователь имеет права на запуск файла и/или выполнение его как сценария.

Разрешения каталога

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

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

wordpress file permissions

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

  • Все файлы должны иметь размер 644 или 640. Исключение: wp-config.php должен иметь размер 440 или 400, чтобы другие пользователи сервера не могли его прочитать.
  • Все каталоги должны быть 755 или 750.
  • Никаким каталогам никогда не следует присваивать 777, даже каталогам загрузки.

Отключение редактирования файлов в приборной панели WordPress

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

WordPress appearance editor

Кроме того, если ваш сайт WordPress взломан, первое, что они могут сделать, это попытаться отредактировать PHP-файл или тему через редактор внешнего вида. Это быстрый способ выполнить вредоносный код на вашем сайте. Если у них нет доступа к этому из приборной панели, это может помочь предотвратить атаки. Поместите следующий код в файл wp-config.php, чтобы удалить возможности ‘edit_themes’, ‘edit_plugins’ и ‘edit_files’ для всех пользователей.

define('DISALLOW_FILE_EDIT', true);

Предотвращение «горячих ссылок»

Концепция горячей ссылки очень проста. Вы находите изображение в Интернете и используете его URL непосредственно на своем сайте. Это изображение будет отображаться на вашем сайте, но оно будет передаваться с исходного места. Это фактически является воровством, поскольку используется пропускная способность сайта, на котором размещена горячая ссылка. Это не кажется большой проблемой, но может привести к большим дополнительным расходам. The Oatmeal — отличный пример. Huffington Post разместил горячую ссылку на его карикатуру, состоящую из нескольких изображений, и она принесла счет на $1,000+.

hotlinking

Предотвращение горячих ссылок в Apache

Чтобы предотвратить горячие ссылки в Apache, просто добавьте следующий код в файл .htaccess.

RewriteEngine на
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yourdomain.com [NC]
RewriteRule .(jpg|jpeg|png|gif)$  [NC,R,L]

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

Предотвращение горячих ссылок в NGINX

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

location ~ .(gif|png|jpe?g)$ {
valid_referers none заблокирован ~.google. ~.bing. ~.yahoo yourdomain.com *.yourdomain.com;
if ($invalid_referer) {
return 403;
}
}

Предотвращение горячих ссылок на CDN

Если вы передаете свои изображения из CDN, то настройка может быть несколько иной. Вот несколько ресурсов с популярными провайдерами CDN.

  • Защита горячих ссылок с помощью KeyCDN
  • Защита горячих ссылок с помощью Cloudflare
  • Защита горячих ссылок с помощью MaxCDN

Всегда делайте резервные копии

Резервное копирование — это то, что, как все знают, необходимо, но не всегда делают. Большинство из приведенных выше рекомендаций — это меры безопасности, которые вы можете принять, чтобы лучше защитить себя. Но как бы ни был защищен ваш сайт, он никогда не будет защищен на 100%. Поэтому вам нужны резервные копии на случай, если случится худшее. Большинство управляемых хостинг-провайдеров WordPress теперь обеспечивают резервное копирование. Kinsta имеет пять различных типов резервного копирования, включая автоматическое, чтобы вы могли спокойно отдыхать по ночам. Вы даже можете одним щелчком мыши восстановить свой сайт.

Backups in MyKinsta.

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

Услуги по резервному копированию WordPress

Услуги по резервному копированию сайтов WordPress обычно имеют низкую ежемесячную плату и хранят ваши резервные копии в облаке.

  • VaultPress (от команды Automattic, сейчас является частью Jetpack)
  • CodeGuard
  • BlogVault

Плагины резервного копирования WordPress

Плагины резервного копирования WordPress позволяют получать резервные копии по FTP или интегрировать их с внешним источником хранения, таким как Amazon S3, Google Cloud Storage, Google Drive или Dropbox. Мы настоятельно рекомендуем использовать инкрементное решение, так как оно использует меньше ресурсов.

  • Дубликатор
  • Капсула времени WP
  • BackupBuddy
  • UpdraftPlus
  • BackUpWordPress
  • BackWPup
  • WP BackItUp

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

Защита от DDoS-атак

DDoS — это тип DOS-атаки, когда несколько систем используются для атаки на одну систему, вызывая отказ в обслуживании (DoS). DDoS-атаки не являются чем-то новым — согласно Britannica, первый задокументированный случай относится к началу 2000 года. В отличие от взлома вашего сайта, эти типы атак обычно не наносят вреда вашему сайту, а просто выводят его из строя на несколько часов или дней. Что вы можете сделать, чтобы защитить себя? Одна из лучших рекомендаций — использовать авторитетные сторонние службы безопасности, такие как Cloudflare или Sucuri. Если вы ведете бизнес, то имеет смысл инвестировать в их премиум-планы. Если вы размещаетесь на Kinsta, вам не нужно беспокоиться о самостоятельной настройке защиты от DDoS-атак. Все наши тарифные планы включают бесплатную интеграцию Cloudflare со встроенной защитой от DDoS-атак.

DDoS protection from Cloudflare and Sucuri

Их передовая защита от DDoS-атак может использоваться для смягчения DDoS-атак всех форм и размеров, включая те, которые направлены на протоколы UDP и ICMP, а также SYN/ACK, усиление DNS и атаки уровня 7. Среди других преимуществ — размещение вас за прокси-сервером, который помогает скрыть ваш исходный IP-адрес, хотя и не является пуленепробиваемым. Обязательно ознакомьтесь с нашим тематическим исследованием о том, как остановить DDoS-атаку. У нас был клиент с небольшим сайтом электронной коммерции под управлением Easy Digital Downloads, который получил более 5 миллионов запросов на одну страницу в течение 7 дней. Обычно сайт генерировал только 30-40 МБ в день пропускной способности и пару сотен посетителей в день. Но ни с того ни с сего сайт мгновенно перешел на 15-19 ГБ передачи данных в день! Это увеличение на 4650%. При этом Google Analytics не показал никакого дополнительного трафика. Так что это нехорошо.

High bandwidth from DDoS attack

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

Added Sucuri web application firewall

Резюме

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