Безопасность WordPress: основные методы защиты сайта в 2023

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

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

Про безопасность WordPress

Безопасность WordPress — тема, имеющая огромное значение для каждого владельца сайта. Google каждую неделю вносит в черный список около 10 000+ сайтов за вредоносное ПО и около 50 000 за фишинг.

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

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

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

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

Почему это важно

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

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

В марте 2016 года компания Google сообщила, что более 50 миллионов пользователей веб-сайтов были предупреждены о том, что посещаемый ими сайт может содержать вредоносное ПО или воровать информацию.

Кроме того, каждую неделю Google вносит в черный список около 20 000 сайтов за вредоносное ПО и около 50 000 за фишинг.

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

Ключи безопасности WordPress

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

Включаем ключи безопасности

Первое, что вам нужно сделать, это взять файл wp-config.php из вашей установки WordPress. Это можно сделать через файловый менеджер cPanel или через вашу любимую программу FTP. Файл wp-config.php находится в корневой папке установленной WordPress.

Откройте файл wp-config.php в текстовом редакторе и прокрутите вниз, пока не увидите упоминание «Уникальные ключи аутентификации» (англ. — Authentication Unique Keys). Они будут выглядеть примерно так:

define( 'AUTH_KEY', '' );
define( 'SECURE_AUTH_KEY', '' );
define( 'LOGGED_IN_KEY', '' );
define( 'NONCE_KEY', '' );
define( 'AUTH_SALT', '' );
define( 'SECURE_AUTH_SALT', '' );
define( 'LOGGED_IN_SALT', '' );
define( 'NONCE_SALT', '' );

Теперь все, что вам нужно сделать, это скопировать и заменить свои собственные уникальные ключи в файле wp-config.php.

Где взять собственный уникальный набор секретных ключей?

Используйте генератор, который представлен на сайте WordPress:

После внесения изменений и замены информации о секретных ключах повторно загрузите файл wp-config.php обратно в корневую папку WordPress (или просто сохраните его).

Теперь точно ваш WordPress стал немного безопаснее.

Почему WordPress не делает этого по умолчанию?

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

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

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

Нужно ли мне помнить свои электронные ключи?

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

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

Постоянное обновление WordPress

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

Страница обновлений в админке WordPress
Страница обновлений в админке WordPress

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

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

Надежные пароли и права доступа пользователей

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

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

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

Роль WordPress хостинга

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

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

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

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

Резервное копирование

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

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

Мы рекомендуем хранить их на облачных сервисах, таких как, например, Dropbox или других частных облаках.

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

К счастью, это можно легко сделать с помощью таких плагинов, как Duplicator, UpdraftPlus или BlogVault. Они считаются надежными и, главное, просты в использовании (не требуют знания программирования).

Переход на SSL/HTTPS

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

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

SSL-сертификаты обычно выдаются центрами сертификации, и их стоимость начинается от $80 до сотен долларов в год. Из-за дополнительных расходов большинство владельцев сайтов предпочитали продолжать использовать небезопасный протокол.

Чтобы исправить ситуацию, некоммерческая организация Let’s Encrypt решила предложить владельцам сайтов бесплатные SSL-сертификаты. Их проект поддерживают Google Chrome, Facebook, Mozilla и многие другие компании.

Замена имени пользователя «admin»

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

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

Примечание! Мы говорим об имени пользователя «admin«, а не о роли администратора WP.

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

  1. Создание нового имени пользователя admin и удаление старого.
  2. Использование плагинов типа Easy Username Updater.
  3. Обновление имени чеpез PhpMyAdmin

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

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

Вы можете легко сделать это, добавив следующий код в файл wp-config.php:

// Disallow file edit
define( 'DISALLOW_FILE_EDIT', true );

Отключение выполнения файлов PHP

Еще один способ усилить безопасность WordPress — запретить выполнение файлов PHP в определенных директориях WP, где они не нужны, например, /wp-content/uploads/.

Вы можете сделать это, открыв текстовый редактор, например, Блокнот, и вставив этот код:

<Files *.php>
deny from all
</Files>

Далее необходимо сохранить этот файл как .htaccess и загрузить его в папку /wp-content/uploads/ на вашем сайте с помощью FTP-клиента.

Ограничение попыток входа

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

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

Во-первых, вам необходимо установить и активировать плагин Login LockDown. После активации перейдите на страницу Настройки -> Login LockDown, чтобы настроить плагин.

Настройки Login LockDown
Настройки Login LockDown

Добавление двухфакторной аутентификации

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

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

Сначала вам нужно установить и активировать плагин Two Factor Authentication. После активации нужно нажать на ссылку ‘Two Factor Auth‘ в боковой панели администратора WordPress.

Two Factor Auth

Далее необходимо установить и открыть на телефоне приложение аутентификатора. Существует несколько таких приложений, например Google Authenticator, Authy и LastPass Authenticator.

Инструкции аналогичны для всех приложений аутентификации. Откройте приложение аутентификатора и нажмите на кнопку «Добавить» (англ. — Add).

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

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

Изменение префикса базы данных WordPress

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

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

Защита паролем страниц администратора и входа

Обычно хакеры могут обращаться к вашей папке wp-admin и странице входа без каких-либо ограничений. Это позволяет им применять свои хакерские уловки или проводить DDoS-атаки.

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

Отключение индексирования и просмотра каталогов

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

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

Вам необходимо подключиться к вашему сайту с помощью FTP или файлового менеджера cPanel. Затем найдите файл .htaccess в корневом каталоге вашего сайта. После этого необходимо добавить следующую строку в конец файла .htaccess:

Options -Indexes

Не забудьте сохранить и загрузить файл .htaccess на свой сервер.

Отключение XML-RPC в WordPress

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

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

Но с XML-RPC хакер может использовать функцию system.multicall, чтобы попробовать тысячи паролей с помощью 20 или 50 запросов. Вот почему, если вы не используете XML-RPC, то я рекомендую вам отключить эту опцию.

Самый простой метод — через .htaccess, поскольку он наименее ресурсоемкий.

Добавление вопроса при входе в админку

Добавление вопроса безопасности на экран входа в аккаунт WordPress еще больше усложняет получение несанкционированного доступа.

Вопрос при входе в админку
Вопрос при входе в админку

Вы можете добавить вопросы безопасности, установив плагин WP Security Questions. После активации вам необходимо посетить страницу Настройки -> Security Questions, чтобы настроить параметры плагина.

Смена адреса входной страницы

Последний метод, который нам позволит усилить безопасность WordPress — это смена URL входа в административную панель WP. По умолчанию адрес входа всем известен — site.com/wp-admin.

Это не безопасно и одна из самых важных рекомендаций — смена данного адреса. В этом нам поможет плагин WPS Hide Login.

После установки и активации плагина на странице основных настроек сайта в админке в самом низу мы увидим опцию смены адреса входа в административную панель.

  1. Переходим в Настройки -> Общие
  2. Прокручиваем страницу вниз
  3. Видим две новых опции — «URL входа» и «URL перенаправления«
  4. Меняем значения на свои
  5. Сохраняемся

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

Опубликовано 12 февраля 2023 в 00:05
Обновлено 9 января 2024 в 14:11
Категория: Блог
Теги: