14 советов, как обезопасить сайт на WordPress
- Следите за новостями в сфере IT
- Не используйте в качестве логина администратора слово admin
- Измените стандартный адрес входа в администраторскую панель
- Запретите вход с чужих IP
- Используйте сложный пароль
- Регулярно обновляйте WordPress
- Старайтесь минимизировать количество используемых плагинов
- Не используйте готовые темы из сомнительных источников
- Создавайте бекапы (резервные копии)
- Отключите возможность редактирования PHP-файлов через панель администратора
- Установите двухфакторную авторизацию
- Обеспечьте безопасность своего ПК или ноутбука
- Используйте SSL-сертификат
- Измените стандартный префикс таблиц в базе данных
- Подытожим
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
order deny,allow
deny from all
allow from xx.xx.xx.xxx
allow from xx.xx.xx.xxx
Здесь 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.
- Измените стандартный префикс базы данных.
Есть о чем рассказать? Тогда присылайте свои материалы Марине Ибушевой
-
Господа, прошли мы тернистый путь через все эти CMS и пришли к выводу, что эффективнее сайты на фреймворке с индивидуальной панелью управления. Больше возможностей, а точнее - безграничные.
В результате, компания занята развитием проекта, продвижением, а не защитой и борьбой с упрямостью cms, поиском плагинов и т.д.
Делайте сайты на Laravel, vue.js / js / react / angular
Ставьте на http2
Выбирайте ОС семейства Unix
И будет вам счастье =) -
Лично я более 2 лет использую плагин iThemes Security, было с ним всякое — и меня он на сайт не пускал, пришлось в БД залезать с хоста и удалять блокировки этого плагина. Частенько он пытается блокировать изменения в файлах, иногда лишний раз зря ругается на некоторые IP, но в целом он мне нравится.
Использую его в паре с плагином Wordfence Security они друг друга дополняют, хотя с настройками необходимо быть очень внимательным, иначе можно натворить делов.
Спасибо за этот пост, д...Лично я более 2 лет использую плагин iThemes Security, было с ним всякое — и меня он на сайт не пускал, пришлось в БД залезать с хоста и удалять блокировки этого плагина. Частенько он пытается блокировать изменения в файлах, иногда лишний раз зря ругается на некоторые IP, но в целом он мне нравится.
Использую его в паре с плагином Wordfence Security они друг друга дополняют, хотя с настройками необходимо быть очень внимательным, иначе можно натворить делов.
Спасибо за этот пост, да и за полезный блог в целом)) -
А как можно проверить свой сайт на вирусы онлайн?
-
есть достаточное количество сервисов для этих целей:
- rescan.pro
- vms.drweb.ru/online
Но они идут, что называется, по верхам, проверяя очевидное наличие вредоносного кода, а также пометки ПС у сайта. Т.е, например, если какой-нибудь вредоносный код рассылает с помощью вашего сайта спам, сервис этого не покажет.
Для полноценной проверки этого крайне мало.
-