Лучшие советы по безопасности WordPress, чтобы помочь защитить ваш сайт

Здравствуйте, друзья!

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

Secure Your WordPress Website

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

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

Ко мне часто поступают вопросы про хостинг, которым я пользуюсь и поэтому решил указать хостинг в статье https://sprinthost.ru. Вы можете попробовать попользоваться хостингом 30 дней бесплатно. Чтобы понять, как будет работать Ваш сайт на этом хостинге просто перенести свой сайт (в этом поможет поддержка хостинга бесплатно) и и таким образом сможете понять подходит хостинг Вам или нет. На этом хостинге находятся сайты с 20 000 тысяч посещаемость и сайты чувствуют себя отлично. Рекомендую! Да, если делать оплату на 1 год то получаете скидку 25%. И что мне нравится - тех. поддержка всегда помогает в технических вопросах, за что им спасибо. Как Вы понимаете не всегда проходит всё гладко и нет желания, чтобы сайт не был доступен тем самым страдал трафик и доход.

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

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

Часть 1: обезопасите свой веб-сайт WordPress, защитив страницу входа и предотвращая brute force (в переводе: грубая сила) атаки

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

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

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

1. Настройка блокировки сайта и бан пользователей

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

Я узнал, что плагин iThemes Security (ранее Better WP Security) является одним из лучших таких плагинов, и я использовал его довольно долгое время. Плагин может многое предложить в этом отношении. Наряду с более чем 30 другими замечательными мерами безопасности вы можете указать определенное количество неудачных попыток входа в систему до того, как плагин заблокирует IP-адрес злоумышленника.

Настройка блокировки сайта и бан пользователей

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

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

Я предпочитаю использовать секретный код при развертывании 2FA на любом из моих сайтов. Плагин Google Authenticator помогает мне в этом всего за несколько кликов.

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

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

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

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

4. Переименуйте свой URL-адрес для входа в свой веб-сайт WordPress.

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

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

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

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

  • Переход /wp-login.php к чему-то уникальному, например: /my_new_login
  • Переход /wp-admin/ к чему-то уникальному, например: /my_new_admin
  • Переход /wp-login.php?action=register к чему-то уникальному, например: /my_new_registeration

5. Измените ваши пароли

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

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

Измените ваши пароли

6. Автоматический выход бездействующих пользователей из вашего сайта

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

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

Автоматический выход бездействующих пользователей из вашего сайта

Часть 2: защитите свой сайт WordPress через панель администратора

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

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

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

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

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

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

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

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

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

Использование SSL для шифрования данных

Я использую бесплатный SSL-сертификат Let’s Encrypt на большинстве моих сайтов. Любая хорошая хостинговая компания, такая как TimeWeb, предлагает бесплатный SSL-сертификат с его пакетами.

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

9. Упорядочить учетные записи пользователей

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

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

Упорядочить учетные записи пользователей

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

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

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

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

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

11. Отслеживать изменения в файлах

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

Отслеживать изменения в файлах

Часть 3: защитите свой веб-сайт WordPress через базу данных

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

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

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

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

Если вы уже установили свой веб-сайт WordPress с префиксом по умолчанию, вы можете использовать несколько плагинов для его изменения. Плагины, такие как WP-DBManager или iThemes Security, могут помочь вам выполнить задание одним нажатием кнопки. (Убедитесь, что вы создали резервную копию своего сайта, прежде чем делать что-либо в базе данных).

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

13. Регулярно создавайте резервные копии, чтобы защитить свой веб-сайт WordPress.

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

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

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

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

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

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

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

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

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

15. Контролируйте свои логи (журналы)

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

Контролируйте свои логи (журналы)

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

Контролируйте свои логи (журналы)

Часть 4: защитите свой сайт WordPress с помощью хостинга

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

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

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

Такая тактика затрудняет хакерам нарушение безопасности вашего сайта, начиная с wp-config.php файл становится для них недоступным.

В качестве бонуса, процесс защиты очень прост. Просто возьми свой файл wp-config.php и переместить его на более высокий уровень, чем ваш корневой каталог.

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

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

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

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

Чтобы сделать эту работу, добавьте следующее в файл wp-config.php (в самом конце):

define('DISALLOW_FILE_EDIT', true);

18. Правильно подключите сервер

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

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

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

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

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

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

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

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

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

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

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

Options All -Indexes

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

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

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

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

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

Блокировать все хотлинки

22. Понимать и защищать от атак DDoS

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

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

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

Часть 5: защитите свой сайт WordPress с помощью тем и плагинов

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

23. Регулярное обновление

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

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

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

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

Регулярное обновление

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

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

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

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

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

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

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

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

Заключительные мысли о том, как защитить ваш сайт WordPress

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

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

На этом буду заканчивать. Отличная получилась статья.

До скорых встреч!


Обо мне
Юрич:
Занимаюсь созданием сайтов на WordPress более 6 лет. Ранее работал в нескольких веб-студиях и решил делиться своим опытом на данном сайте. Пишите комментарии, буду рад общению.
4 комментария к статье "Лучшие советы по безопасности WordPress, чтобы помочь защитить ваш сайт"
  1. Юрич: 25.10.2018 в 13:45

    Добрый!
    Зачем плагин? Все делается в файле .htaccess — почитайте здесь: https://toster.ru/q/174797
    Меньше плагинов — меньше проблем

  2. Геннадий: 25.10.2018 в 13:36

    Юрич, еще вопрос. SSL установил, после чего включил плагин, который провел переадресовку. НО, нет замка в адресной строке. Где он может быть зарыт?

  3. Юрич: 22.10.2018 в 23:07

    Здравствуйте, Геннадий!
    Сертификат устанавливается в 2 клика)) Я не думаю что там нужна вам будет помощь)
    По плагину: в этом я не помню сейчас как там все — юзал очень давно)
    Сейчас пользуюсь плагином WP Security — и да — я блокирую некоторых навязчивых юзеров, которые ломятся в админку или рассылают спам))

  4. Геннадий: 22.10.2018 в 22:52

    Юрич, огромное СПС за статью!
    Относительно сертификата SSL. Хостинг TimeWeb предлагает бесплатный SSL-сертификат. Вопрос: помогает ли хостинг с установкой этого сертификата на сайт?
    По плагину iThemes Security. Если смысл блокировать пользователей в окне «Запретить доступ хостам» в связи с динамическими IP адресами?
    Блокировать в колонке: «Actions» ?

Заказать сайт