Домой Продвижение 14 советов, как обезопасить сайт на WordPress

14 советов, как обезопасить сайт на WordPress

247
0

CMS WordPress была и остается лидером по количеству установок во всем мире.

Так, по состоянию на сентябрь 2019 года более 34% сайтов используют WordPress (доля рынка — 61,6%).

По данным исследования w3techs.com

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

Но кроме того, что эта CMS очень популярна, она является самой часто взламываемой среди всех существующих. По данным GoDaddy Security / Sucuri за 2018 год, 90% всех хакерских атак пришлось именно на сайты, использующие WordPress.

В этой статье поговорим о том, как обезопасить сайт на WordPress.

Следите за новостями в сфере IT

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

Новости с сайта xakep.ru

Новость с сайта habr.com

Если регулярно следить за новостями, публикуемыми такими онлайн-изданиями, как, например, xakep.ru, habr.com, securitylab.ru, можно успеть принять меры и обезопасить свой ресурс в случае массовых хакерских атак. Если, конечно, ваш сайт не взломают одним из первых. Но это маловероятно, учитывая, что на базе этой CMS работает огромное количество ресурсов. Да и атаки, как правило, начинаются с зарубежных сайтов.

Не используйте в качестве логина администратора слово admin

Если злоумышленники знают логин, это уже 50% их успеха. Используйте отличный от admin логин, а еще лучше – email-адрес в качестве него.

Учтите, что логин администратора можно узнать несколькими способами:

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

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

  • Путем добавления к адресу сайта фрагмента ?author=1, чтобы получилось так: site.ru/?author=1.

Если вы введете такую строку, скорее всего, вас перекинет на адрес вида site.ru /author/логин_администратора.

Чтобы исправить ситуацию, нужно добавить в конец файла .htaccess, расположенного в корне сайта, следующую строку: RedirectMatch Permanent ^/author/login-admin https://site.ru, где login-admin – логин администратора, а https://site.ru – адрес вашего сайта. Теперь, если вы перейдете по адресу site.ru/?author=1, вас должно перебрасывать на главную страницу сайта.

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

Всем известно, что если добавить к адресу сайта на WordPress запись: site.ru/wp-admin, то мы попадем на страницу с формой авторизации.

Зная логин (из предыдущего пункта), а также адрес, по которому расположена форма входа в панель управления, злоумышленник может подобрать пароль путем перебора (на языке хакеров – «брутфорс», от англ. brute force).

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

И да, есть еще один адрес, который следует заменить: site.ru/wp-login.php.

Запретите вход с чужих IP

При желании вы можете разрешить вход в панель администратора только с определенных IP-адресов.

Для этого в файл .htaccess необходимо добавить строки:

AuthUserFile /dev/null

AuthGroupFile /dev/null

AuthName "WordPress Admin Access Control"

AuthType Basic

<LIMIT GET>

order deny,allow

deny from all

allow from xx.xx.xx.xxx

allow from xx.xx.xx.xxx

</LIMIT>

Здесь xx.xx.xx.xxx – ваш IP-адрес.

Одна строка – один IP-адрес.

allow from xx.xx.xx.xxx

Таким образом вы можете добавить несколько IP-адресов, если на сайте несколько администраторов.

IP-адрес можно узнать с помощью любого из сервисов: 2ip.ru, pr-cy.ru, hidemy.name.

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

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

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

Условия пароля, который защищает:

  • содержит как минимум 10 знаков;
  • состоит из букв разного регистра;
  • включает цифры;
  • включает спецсимволы (#, $, %, !, & и т. д.).

Чтобы не придумывать пароль самостоятельно, воспользуйтесь любым генератором паролей: lastpass.com, onlinepasswordgenerator.ru, passwordsgenerator.net.

Регулярно обновляйте WordPress

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

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

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

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

Но чем больше плагинов установлено на сайте, тем больше его уязвимость. Почему?

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

Предположим, что вам на сайте нужна форма обратной связи. И вместо того, чтобы ставить 2–3 плагина или какой-нибудь ContactForm 7, форму можно сделать «вручную».

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

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

Не используйте готовые темы из сомнительных источников

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

Выхода два: заказать разработку шаблона или же купить премиум-тему у проверенного продавца.

Создавайте бекапы (резервные копии)

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

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

Отключите возможность редактирования PHP-файлов через панель администратора

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

Сделать это можно следующим образом: необходимо найти файл wp-config.php и добавить в него строку:

define( ‘DISALLOW_FILE_EDIT’, true );

Установите двухфакторную авторизацию

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

Для этого также можно воспользоваться плагином. Например, Google Authenticator или Clef Two-Factor Authentication.

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

Обеспечьте безопасность своего ПК или ноутбука

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

  • ESET Nod32,
  • Kaspersky,
  • Avast Antivirus,
  • Dr. Web,
  • Comodo Firewall (фаервол),
  • Avira (фаервол) и др.

Используйте SSL-сертификат

Использование протокола HTTPS поможет защитить передаваемую информацию как в админпанели, так и в форме авторизации или оплаты на сайте. Для использования протокола необходимо наличие SSL-сертификата (платного или бесплатного).

Измените стандартный префикс таблиц в базе данных

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

У DLE (Data Life Engine) префикс – dle_, у WordPress – wp_.

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

Для того чтобы заменить префикс, можно воспользоваться одним из плагинов – WP-DBManager или iThemes Security. Также можно проделать вручную следующие действия:

  • В файле wp-config.php в строке $table_prefix = ‘wp_’; заменить wp_ на свой префикс, например, так:

$table_prefix = ‘my_’;

  • Выполнить SQL-запрос для замены старых префиксов wp_ на новые.

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

Подытожим

  • Следите за новостями о WordPress и обзорами о найденных уязвимостях.
  • Не используйте в качестве логина слово admin и не дайте злоумышленникам узнать логин администратора.
  • Смените стандартный адрес входа в админпанель.
  • Разрешите вход в панель управления только с определенных IP-адресов.
  • Используйте взломостойкий пароль, который не смогут подобрать путем простого перебора.
  • Регулярно обновляйте сам движок и все установленные плагины.
  • Удалите неиспользуемые плагины.
  • Не устанавливайте бесплатные темы из непроверенных источников.
  • Делайте бекапы как базы данных, так и файлов.
  • Запретите редактирование важных системных файлов через панель администратора.
  • Установите двухфакторную авторизацию.
  • Проверяйте свой компьютер на наличие вирусов.
  • Используйте защищенный протокол HTTPS.
  • Измените стандартный префикс базы данных.

Источник: seonews.ru

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here