Максимальная безопасность Вордпресс

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

  • Минимальная безопасность WordPress
  • Основные параметра безопасности WordPress

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

Все параметра с подробными описаниями, читайте и применяйте на веб-сайте.

В данной статье мы рассмотрим:

  1. Измените страницу входа на веб-сайт
  2. Ограничьте доступ к wp-login.php и wp-admin
  3. Измените файловую структуру веб-сайта
  4. Переместите wp-config.php
  5. Дайте минимальные разрешения MySQL аккаунту
  6. Отключите директивы php.ini
  7. Установите пароль на важные файлы и папки
  8. Отключите показ ошибок на веб-сайте
  9. Запретите доступ к важным файлам
  10. Установите ограничение на размер загружаемых файлов
  11. Запретите доступ к PHP файлам
  12. Запретите исполнение PHP файлов в папке Uploads
  13. Запретите доступ к папке wp-includes
  14. Защитите веб-сайт от внедрения вредоносных скриптов
  15. Заблокируйте вредоносные запросы
  16. Добавьте защиту от непреднамеренных загрузок вредоносного кода
  17. Отключите HTTP-трассировку
  18. Добавьте защиту от некоторых типов XSS атак
  19. Добавьте защиту от кликджекинга
  20. Добавьте дополнительную фильтрацию символов
  21. Добавьте мощный файрвол
  22. Бонус 1. Включите логи событий на сервере
  23. Бонус 2. Используйте двух-факторную авторизацию
  24. Бонус 3. Меняйте ключи и соли

1. Измените страницу авторизации на веб-сайте

По умолчанию страница авторизации находится по адресу ваш-сайт.ru/wp-login.php. Боты приходят на эту страницу и пытаются подобрать логин и пароль. Чтобы уменьшить активность данных ботов на веб-сайте вы можете без труда настроить адрес страницы авторизации на другой, к примеру, ваш-сайт.ru/entrypage или ваш-сайт.ru/ep.php.

  • Как настроить адрес страницы входа при помощи кода
  • Как настроить адрес страницы входа при помощи плагина

2. Ограничьте доступ к wp-login.php и wp-admin

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

Если у вас статический IP, вы можете запретить доступ к странице входа или панели администратора:

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

Замените /путь-к-вашему-сайту/ в двух первых строках на адрес.Замените IP Адрес 1, IP Адрес 2 и IP Адрес 3 на те IP адреса, с которых вы планируете иметь доступ к страницам wp-login.php и wp-admin.

Если вам нужен только один IP адрес, удалите строки 9 и 10, если вам необходимо больше адресов, добавьте нужное число строк.

Если вы или другой посетитель имеете динамические IP(или Мультисайт), используйте это правило:

Замените /путь-к-вашему-сайту/ и /ваш-сайт.ru/ на адрес.

Это правило определяет, что только те посетители, которые вручную набрали wp-login.php или wp-admin в браузере, получат доступ к данным страницам.

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

Ещё один метод — создайте файл .htaccess в папке wp-admin. Это правило разрешает доступ к папке только указанным ip:

Замените IP Адрес 1 и IP Адрес 2 на IP.

3. Измените файловую структуру веб-сайта

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

Чтобы противостоять таким атакам, можно реорганизовать стандартную файловую структуру WordPress. Вы можете легко перенести всю установку WordPress в новую папку, настроить стандартное расположение папок wp-content, plugins и uploads и создать новую папку для тем.

  • Как настроить файловую структуру WordPress

4. Переместите wp-config.php

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

Перенесите файл wp-config на один уровень вверх. Если первоначальное расположение файла было /home/public_html/wp-config.php, то перенесите файл в /home/wp-config.php

Если расположение файла было /home/public_html/abcd-xyz/wp-config.php, то перенесите файл в /home/public_html/wp-config.php

Не переносите файл, если на одном уровне выше есть файл wp-config.php, или если веб-сайт установлен в подпапке или на субдомене.

Если вы хотели бы переместить wp-config.php в иное место, перенесите его в новое место, на старом месте создайте ещё один wp-config.php и добавьте в него этот код:

Замените /путь/к/wp-config.php на новый адрес к файлу wp-config.

5. Дайте минимальные разрешения MySQL аккаунту

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

Для обычного использования веб-сайта рекомендованные привилегии SELECT, INSERT, UPDATE, DELETE и ALTER для обновления WordPress.

Зайдите в phpMyAdmin, вкладка SQL:

Показать всех посетителей:

select user,host from mysql.user;

Показать привилегии:

show grants for ‘user’@’host’;

Замените user и host на имя посетителя, которое вы можете без труда узнать в файле wp-config и хост, обычно localhost.

Чтобы настроить привилегии сначала необходимо отменить текущие привилегии:

revoke all privileges on *.* from ‘user’@’host’;

Чтобы дать новые привилегии, используйте этот запрос:

grant SELECT,INSERT,UPDATE,DELETE ON `db`.* TO ‘user’@’host’;

Применить:

flush privileges;

6. Отключите директивы в php.ini

По умолчанию в Вордпрессе нет файла php.ini. Если в установке нет этого файла, создайте его в корневой папке веб-сайта.

Добавьте expose_php = off, чтобы скрыть версию PHP, и allow_url_include = off, чтобы отключить функция для php кода использовать эту директиву, которую хакеры используют для XSS атак.

Если вы не хотели бы добавлять код, используйте плагин PHP Settings.

***

C данными параметрами вы наберете 100% в тесте безопасности плагина Security Ninja.

  • Как проверить WordPress веб-сайт на уязвимости
  • Подробное описание плагина Security Ninja

Я не стал удалять посетителя с ID 1, так что набрал 99%.

Тест безопасности веб-сайта плагином Security Ninja, максимальные параметра
Используйте данные тесты только как рекомендации. Хотя данные методики появились и проверялись на практике в течение многих лет, все зеленые знаки не гарантируют, что веб-сайт не взломают. Также все красные знаки не означают, что веб-сайт обязательно взломают.

7. Установите пароль на важные файлы и папки

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

Создайте файл с паролями( генератор.htpasswd), положите его в недоступную из интернета папку(на один уровень выше корневой папки) и добавьте запись в .htaccess с адресом этого файла, или установите плагин AskApache Password Protect.

  • Как установить пароль на wp-login и wp-admin

Этот контент доступен после оплаты.

  • Максимальная безопасность WordPress

    Максимальная безопасность WordPress

    0 из 5
    400 руб.

Приобрести доступ

Подробнее

Вы добавите 15 правил в файл .htaccess:

  • Запретите доступ к файлам wp-config.php, .htaccess, php.ini и логам ошибок
  • Запретите доступ к PHP файлам 
  • Запретите исполнение PHP файлов в папке uploads
  • Добавите защита от внедрения вредоносных скриптов
  • Отключите HTTP-трассировку
  • Заблокируете вредоносные запросы
  • Добавите защиту от XSS-атак
  • Добавите мощный файрвол

И пару иных правил.

22. Бонус 1. Включите логи событий на сервере

Логи находятся на веб-хостинг панели, в зависимости от используемого софта они могут называться по-разному: «Логи», «Журнал событий», «Метрики» или что-нибудь подобное. Обычно в этом разделе находятся 2 журнала: « Логи ошибок » и « Логи доступа ».

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

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

  • Как найти следы взлома в логах сервера

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

Ещё один метод увеличить безопасность веб-сайта — использовать двух-факторную авторизацию.

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

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

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

В репозитарии WordPress находится много плагинов для добавления этого метода защиты, к примеру: Google Authenticator, Duo Two-Factor Authentication, Two-Factor, Rublon Two-Factor Authentication.

24. Бонус 3. Меняйте ключи и соли

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

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

Заключение

Данные параметра защитят веб-сайт от 99,99% автоматических и ручных атак хакеров. Это защита уровня платных премиум-плагинов, таких как Wordfence, iThemes Security и иных. Если вы хотели бы иметь ещё большую защиту, добавьте сканер веб-сайта по расписанию и файрвол на уровне DNS.

  • 7 Лучших плагинов безопасности для WordPress

Лучший сервис предоставляет Sucuri Security, он следует от 199$ / год. При покупке подписки весь трафик будет проходить через сервера Сукури. Весь подозрительный и вредоносный трафик будет фильтроваться, а безопасный трафик проходить на веб-сайт. Это снимет нагрузку с сервера и сервер сможет обслуживать большее число пользователей без перехода на более высокий тариф веб-хостинга.

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

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

Сукури — лучший сервис по защите WordPress веб-сайтов.

  • Подробное описание бесплатной версии плагина Sucuri Security
  • Мощная защита веб-сайта с файрволом на уровне сервера на основе бесплатной версии Sucuri Security

Security Ninja Pro предоставляет файрвол на уровне приложения, сканер веб-сайта на наличие вредоносного ПО, сравнение файлов WordPress с оригинальными файлами в репозитарии WordPress, облачный файрвол с базой вредоносных IP, логи событий и оптимизацию базы данных с лайф-тайм лицензией на 1 веб-сайт за 42$.

  • Подробное описание Security Ninja Pro
  • Как усилить защиту Security Ninja Pro до лучших премиум-плагинов безопасности

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

Читайте также:

  1. Безопасность WordPress. Подробная инструкция
  2. Как подключить Cloudflare к WordPress. Подробное описание
  3. Как вылечить от вирусов WordPress веб-сайт

Надеюсь, статья была полезна. Оставляйте комментарии.

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

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