Защита блога на WordPress

подходы, простые и эффективные способы, инструментарий

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

Сегодня заглянул на один из сайтов из папки «Избранное» и, вместо привычного дизайна, увидел сайт вот так:

Экран взломанного сайта для посетителя

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

Что такое «безопасность сайта»?

Итак, сначала я хочу спросить тебя, а что ты подразумеваешь под понятием «безопасность»? «Безопасный сайт» — это что?

Для меня понятие «безопасность» – это, в первую очередь, синоним слова «предсказуемость».

Выполняя какое-то действие, я ожидаю получить определенный предсказуемый результат. А если что-то пошло не так и нужного результата нет? Значит не были учтены как внешние, так и внутренние факторы, влияющие на этот результат. И «нейтрализированы» в надлежащей степени.

Безопасность сайта для меня — это обеспечение предсказуемого функционирования сайта в сети Интернет.

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

Как защитить блог на WordPress?

На функционирование сайта может влиять ряд факторов.
Например:
— надежность хостинга
— взлом сайта и использование его для целей злоумышленников
— «вывод» сайта из строя с помощью dDos- атаки

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

Однако этот вариант никак не застрахует от такого случая, как пожар в data-центре, который может физически уничтожить сервер с сайтом. Единственный способ обезопасить себя от потери данных в подобных случаях – периодически делать резервное копирование содержимого сайта. Например, с помощью плагинов. Одини из них — Duplicator. Он поможет скопировать небольшой блог на WordPress в один архив и быстро «развернуть» сайт на любом другом хостинге.

С надежностью хостинга понятно. Теперь о защите от взлома. Ни один способ не гарантирует 100% защиту блога от взлома! Спросишь — почему? А потому, что если какая-либо защита придумана людьми, – то найдутся люди, которые знают, как ее обойти. Вопрос только во времени (их квалификации) и цене вопроса (их намерении).

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

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

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

Простые, но надежные способы ограничения нежелательного доступа

Доступ к папкам и каталогам сайта возможен как по протоколу http (через веб-браузер), так и по протоколу ftp (через программу ftp-клиент FileZilla например). Если ты ограничишь нежелательный доступ к служебным папкам на своем сайте — ты избавишь себя от львиной доли всех проблем.

Для ограничения доступа по http есть простой, однако надежный способ — это обеспечить доступ к папке wp-admin только по паролю с помощью файлов .htaccess и .htpasswd

Файл .htpasswd должен находиться за пределами корневой директории твоего блога, а лучше расположить его в директории выше корневой. Для создания файла и генерации пароля можно воспользоваться сервисом Htpasswd Generator

Файл .htaccess должен находиться в директории wp-admin и содержать следующие инструкции:

   AuthName "Здесь будет текст, который  выводится в окне авторизации"
   AuthType Basic
   AuthUserFile Здесь Полный Путь/.htpasswd
   require user Здесь имя пользователя, кому разрешен доступ
 

AuthName – текст содержащийся в данной директиве, выводится в окне ввода пароля. Он должен быть написан в одну строку и заключен в двойные кавычки.
AuthType — типы аутентификации: Basic или Digest. Рекомендуется использовать первый.
AuthUserFile — полный путь к файлу с логинами и паролями, для аутентификации пользователей. Пароли содержаться в шифрованном виде. Рекомендуется хранить данный файл в папке, к которой нет доступа для пользователей, и это необходимо, чтобы предотвратить кражу паролей.
require user – директива предписывает, что к URL получают доступ только, пользователи, успешно прошедшие аутентификацию.

Для ограничения доступа по ftp существует простой и надежный способ — это ограничить доступ только с твоего IP. В этом случае у тебя должен быть статический IP. Статический IP можно получить у твоего провайдера. Файл .htaccess для директории wp-admin должен содержать следующие правила:

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Example Access Control"
AuthType Basic
order deny,allow
deny from all
allow from a.b.c.d. #Твой статический IP

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

Пока на сегодня все. Если у тебя есть какие-то замечания, советы или приемы — поделись в комментариях.
Удачи!
Александр Коваль

Метки: