14 способов защитить свой сайт WordPress — шаг за шагом

Опубликовано: 2022-01-05

Безопасность WordPress должна быть главным приоритетом для владельцев сайтов. Почему? Потому что каждую минуту на сайты WordPress совершается до 90 000 атак.

Если этого недостаточно, Google каждую неделю добавляет в черный список около 20 000 веб-сайтов из-за вредоносных программ и 50 000 из-за фишинга. А когда веб-сайт попадает в черный список — и пользователи вынуждены соглашаться на риски — это приводит к потере около 95% трафика.

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

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

  1. Используйте хороший веб-хостинг
  2. Используйте только качественные темы и плагины
  3. Поддерживайте актуальность ядра, тем и плагинов WordPress
  4. Не используйте «Администратор» в качестве имени пользователя
  5. Используйте надежный пароль
  6. Используйте двухфакторную аутентификацию
  7. Ограничьте количество попыток входа
  8. Установить SSL-сертификат
  9. Изменить префикс базы данных
  10. Защита файлов wp-config.php и .htaccess
  11. Добавить электронные ключи
  12. Отключить редактирование файлов
  13. Предотвратить выполнение файлов PHP
  14. Выборочное отключение XML-RPC

1. Используйте хороший веб-хостинг

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

Выберите надежный хостинг, который поддерживает последние версии основных веб-технологий, таких как PHP и MySQL. Убедитесь, что ваш хостинг поддерживает PHP 7 — это официальная рекомендуемая версия PHP для WordPress.

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

2. Используйте только качественные темы и плагины

По данным WPScan, 52% уязвимостей веб-сайтов вызваны плагинами, а 11% — темами. В сумме это более 60% безопасности WordPress.

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

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

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

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

3. Поддерживайте актуальность ядра, тем и плагинов WordPress.

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

По умолчанию WordPress автоматически устанавливает незначительные обновления (например, WordPress 4.9.4). Но для основных выпусков (например, WordPress 4.9) вы должны вручную обновиться до последней версии.

Убедитесь, что на вашем сайте всегда установлена ​​последняя версия WordPress.

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

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

4. Не используйте «Администратор» в качестве имени пользователя

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

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

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

5. Используйте надежный пароль

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

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

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

6. Используйте двухфакторную аутентификацию

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

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

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

Бесплатный плагин двухфакторной аутентификации позволяет легко добавить еще один уровень защиты при входе на сайт.

7. Ограничьте количество попыток входа

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

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

8. Установите SSL-сертификат

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

Начиная с июля 2018 года, когда был выпущен Chrome 68, веб-страницы, загружаемые без HTTPS, будут помечены как «небезопасные». Это означает, что пользователи, пытающиеся получить доступ к сайтам, не имеющим SSL-сертификата, получат предупреждение о том, что сайт не заслуживает доверия.

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

Let’s Encrypt — это бесплатный центр сертификации, предоставляющий SSL-сертификаты владельцам сайтов.

Получить SSL-сертификат становится все проще. Let's Encrypt предлагает бесплатные сертификаты с открытым исходным кодом, в то время как хостинговые компании обычно предоставляют один бесплатно (а иногда даже бесплатно).

9. Изменить префикс базы данных

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

Простой способ исправить это — изменить префикс на что-то случайное, например 5jiqtu69dg_ , используя генератор случайных строк. Чтобы обновить префикс вашей таблицы, откройте файл wp-config.php в корне каталога файлов вашего сайта и найдите эту строку:

 $table_prefix = 'wp_';

Используя мой пример, вы бы заменили строку следующим образом:

 $table_prefix = '5jiqtu69dg_';

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

10. Защита файлов wp-config.php и .htaccess

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

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

 <Файлы wp-config.php>
порядок разрешить, запретить
отрицать от всех
</файлы>

Кроме того, вы можете просто переместить файл wp-config.php в каталог выше, так как WordPress будет автоматически искать его там.

Чтобы остановить нежелательный доступ к .htaccess, все, что вам нужно сделать, это изменить имя файла в коде:

 <Файлы .htaccess>
порядок разрешить, запретить
отрицать от всех
</файлы>

11. Добавьте ключи безопасности

Ключи безопасности и соли WordPress шифруют информацию, хранящуюся в файлах cookie браузера, защищая пароли и другую конфиденциальную информацию. Всего существует четыре ключа безопасности: AUTH_KEY , SECURE_AUTH_KEY , LOGGED_IN_KEY и NONCE_KEY .

Эти ключи аутентификации в основном представляют собой набор случайных переменных и усложняют взлом ваших паролей. Незашифрованный пароль, такой как «wordpress», не требует больших усилий для взлома злоумышленниками. А вот длинный и случайный пароль типа «L2(Bpw 6#:S.}tjSKYnrR~.Dys5c>+>2l2YMMSVWno4`!%wz^GOBf};uj*>-tkye» взломать гораздо сложнее.

Добавление ключей безопасности и солей выполняется вручную и легко. Вот как это сделать:

  1. Получите новый набор ключей безопасности и солей. Здесь вы можете сгенерировать их случайным образом.
  2. Затем обновите файл wp-config.php. Откройте файл и прокрутите вниз, пока не найдете раздел ниже, и замените старые значения новыми ключами и солями:
 /**#@+
 * Уникальные ключи и соли аутентификации.
 *
 * Измените их на разные уникальные фразы!
 * Их можно сгенерировать с помощью {@link https://api.wordpress.org/secret-key/1.1/salt/ службы секретных ключей WordPress.org}
 * Вы можете изменить их в любой момент, чтобы аннулировать все существующие файлы cookie. Это заставит всех пользователей снова войти в систему.
 *
 * @с 2.6.0
 */
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', 'добавьте сюда уникальные переменные');

/**#@-*/
  1. Сохраните файл wp-config.php. Вы автоматически выйдете из своего сайта WordPress, и вам нужно будет снова войти в систему.

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

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

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

 определить('DISALLOW_FILE_EDIT', правда);

Вы по-прежнему сможете редактировать свои плагины и темы через FTP или cPanel, но не в панели администратора WordPress.

13. Предотвратить выполнение файлов PHP

Распространенной папкой для загрузки вредоносного ПО в WordPress является wp-content/uploads, а также wp-includes/ . Чтобы предотвратить выполнение файлов в этих папках, создайте новый текстовый файл в текстовом редакторе и вставьте в него этот код:

 <Файлы *.php>
отрицать от всех
</файлы>

Затем сохраните этот файл как .htaccess и загрузите его в папки /wp-content/uploads и wp-includes/ через FTP или cPanel.

14. Отключите XML-RPC выборочно

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

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

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

Бонус: как проверить наличие уязвимостей

Есть несколько способов проверить свой сайт на наличие уязвимостей: с помощью онлайн-сканера сайта или с помощью плагина.

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

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

Sucuri SiteCheck — проверьте свой веб-сайт на наличие известных вредоносных программ, статуса в черном списке, ошибок веб-сайта и устаревшего программного обеспечения. С премиальным обновлением этот инструмент будет выполнять очистку от вредоносных программ, защиту от DDoS/грубой силы, удаление из черного списка и мониторинг безопасности.

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

Бонус: лучшие плагины безопасности WordPress

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

Вот 3 лучших плагина:

Wordfence

Плагин безопасности Wordfence.

WordFence — чрезвычайно популярный бесплатный плагин безопасности с более чем 2 миллионами активных установок и доступной платной опцией. Он имеет «канал защиты от угроз», который извлекает новейшие правила брандмауэра, сигнатуры вредоносных программ и вредоносные IP-адреса, сохраняя ваш веб-сайт.

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

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

Сукури

Плагин безопасности Sucuri.

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

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

При обновлении до премиум-версии вы получаете доступ к брандмауэру веб-сайта для дополнительной защиты.

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

Плагин безопасности iThemes.

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

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

Другие функции включают онлайн-сравнение файлов, интеграцию WP-CLI и временное повышение привилегий, поэтому вы можете предоставить временный доступ администратора или редактора к вашему сайту.

Вывод

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

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

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