Безопасность WordPress: 24 совета по защите сайта

Многие владельцы веб-сайтов жалуются на безопасность WordPress. Основная мысль заключается в том, что WordPress — это CMS с открытым исходным кодом и она уязвима для всех видов атак. Так ли это? И если да, то как вы защищаете свой веб-сайт WordPress?

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

Почему? Потому что обычно именно пользователь виноват в том, что его сайт взломан. Есть некоторые принципы, которые вы должны соблюдать как владелец веб-сайта. Итак, главный вопрос: что делать, чтобы ваш сайт на WordPress не взломали?

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

Раздел 1: Защита сайта WordPress с помощью защиты страницы входа и предотвращения брутфорс атак

Всем известен стандартный URL страницы входа в WordPress. Отсюда можно получить доступ к бэкэнду веб-сайта, и именно по этой причине его пытаются взломать чаще всего. Просто добавьте /wp-login.php или /wp-admin / в конце доменного имени, и вы уже знаете адрес админки сайта.

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

Рассмотрим несколько советов по защите страницы входа в систему WordPress:

1. Блокирование массовых запросов авторизации и бан ботов

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

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

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

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

Плагин Google Authenticator поможет вам настроить двухфакторную аутентификацию на WordPress всего за несколько кликов.

3. Используйте адрес электронной почты для входа в систему

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

4. Измените URL-адрес страницы авторизации на сайте WordPress

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

Когда хакеры знают прямой URL-адрес вашей страницы входа в систему, они будут пытаться выполнить перебор логина и пароля с целью попасть в админку. Чаще всего это делается с помощью GWDb (Guess Work Database, т.е. базы данных предполагаемых имен пользователей и паролей, например, имя пользователя adminи пароль: p@ssword … с миллионами таких комбинаций).

На этом этапе мы уже ограничили попытки входа пользователя в систему и заменили имена пользователей на электронную почту. Теперь мы можем заменить URL-адрес страницы входа и избавиться от 99% атак методом подбора пароля.

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

  • Смените адрес wp-login.php на уникальное имя, напримерmy_new_login
  • Смените адрес /wp-admin/ на другой, напримерmy_new_admin
  • Смените адрес /wp-login.php?action=register
    на другой, напримерmy_new_registeration

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

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

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

6. Автоматический выход из аккаунта для неактивных пользователей

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

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

Раздел 2: Защита сайта WordPress через панель управления

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

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

7. Защитите  каталог wp-admin

Папка wp-admin — самая важная часть любого сайта на WordPress. Поэтому повреждение или удаление этой папки может привести к полной неработоспособности сайта.

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

Для защиты wp-admin можно использовать плагин AskApache Password Protect. Он автоматически генерирует файл .htpasswd , шифрует пароль и настраивает права доступа к файлам и каталогам.

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

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

Получение SSL-сертификата для сайта WordPress происходит  довольно просто в панели управления большинства хостингов. Можно купить сертификат безопасности у компаний, предоставляющих SSL, или оформить бесплатный сертификат Let’s Encrypt.

Как правило, компании, предоставляющие услуги хостинга, предлагают бесплатное получение и продление сертификата
Let’s Encrypt.

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

9. Следите за качеством учетных данных пользователей вашего сайта на WordPress 

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

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

10. Измените имя администратора

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

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

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

11. Следите за изменениями в файлах

Для обеспечения дополнительной безопасности, стоит мониторить изменения в файлах сайта с помощью плагинов, таких как Wordfence или того же iThemes Security.

Раздел 3: Защита базы данных сайта WordPress 

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

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

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

Использование префикса по умолчанию делает базу данных сайта уязвимой к атакам SQL-инъекций. Предотвратить атаки можно путем назначения своего префикса, например, mywp-или wpnew-.

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

13. Регулярно делайте резервные копии вашего сайта

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

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

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

14. Устанавливайте сложные пароли для баз данных

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

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

15. Следите за логами активности редакторов вашего сайта

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

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

Раздел 3: Защита сайта WordPress на уровне хостинга

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

16. Защита файла wp-config.php

wp-config.php — файл, который содержит важную информацию о системе WordPress, и это самый важный файл в корневом каталоге вашего сайта. 

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

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

17. Запрет на редактирование файлов.

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

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

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

define('DISALLOW_FILE_EDIT', true);

18. Подключайтесь к серверу через безопасный протокол

При настройке сайта подключайте сервер только через SFTP или SSH. SFTP всегда предпочтительнее традиционного FTP из-за его безопасности.

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

19. Настройте права доступа к каталогам

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

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

Изменить права на файлы и папки можно вручную с помощью диспетчера файлов внутри панели управления хостингом или через терминал (подключенный к SSH) — используйте команду «chmod».

20. Отключить листинг каталогов с помощью  .htaccess

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

Например, если вы создаете каталог под названием «data», вы можете увидеть все в этом каталоге, просто набрав http://www.example.com/data/  в своем браузере. Даже никакой пароль не требуется.

Это можно предотвратить, добавив следующую строку кода в файл .htaccess :

Options All -Indexes

21. Блокировка хотлинков

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

Несмотря на некоторые ручные методы предотвращения hotlinking, самый простой способ — плагин безопасности. Например, плагин All in One WP Security and Firewall включает встроенные инструменты для блокировки всех хотлинков.

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

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

Для защиты от DDoS можно купить подписку на премиальные планы Sucuri или Cloudflare. В последнее время хостинговые компании предлагают защиту от DDoS по умолчанию при аренде выделенного сервера.

Раздел 4: защита сайта WordPress на уровне тем и плагинов

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

23. Регулярно обновляйте все установленные плагины и темы

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

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

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

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

24. Удалите номер версии WordPress.

Текущий номер версии WordPress можно найти очень легко. Вы можете увидеть его в нижней части панели инструментов.

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

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

Для скрытия версии WordPress вручную (а также удаления номера версии из RSS-каналов) рассмотрите возможность добавления в functions.phpфайл следующей функции :

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

Заключение

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

1 Comment

  1. Андрей20.06.2020

    Вот здорово. Большое спасибо!

    Ответить

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Scroll to top