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

Увы, печально. Возможно, этот сайт взломан злоумышленниками и попал под фильтр. Возможна за рассылку спама. Или сайт заражен вирусом.
Ниже изложу ряд простых приемов, улучшающих безопасность сайта на WordPress дабы избежать такой ситуации.
Оглавление
- 1. Общий подход как защитить блог на WordPress
- 2. Ограничение нежелательного доступа с служебным файлам
1. Общий подход как защитить блог на WordPress
Для меня понятие «безопасность сайта» – это синоним слова «предсказуемость».
Обеспечить безопасность сайта — это обеспечить предсказуемое функционирование сайта в сети Интернет.
На функционирование сайта может влиять ряд факторов:
- надежность хостинга
- устойчивость к взлому сайта и использования его для целей злоумышленников
На надежность хостинга можно повлиять только косвенным путем – выбирать компанию-хостера «кошельком» по каким-то доступным и понятным вам критериям. Я выбрал хостинг, который автоматически делает архивы сайтов за 10 последних дней.
Однако этот вариант никак не застрахует от такого случая, как пожар в data-центре, который может физически уничтожить сервер с сайтом. Единственный способ обезопасить себя от потери данных в подобных случаях – периодически делать резервное копирование содержимого сайта.
Например, с помощью плагинов. Один из них — Duplicator. Он поможет скопировать небольшой WordPress-сайт в один архив и быстро «развернуть» этот сайт или у себя, или на другом хостинге.
С надежностью хостинга понятно. Теперь о защите от взлома. Исхожу из принципа: ни один способ не гарантирует 100% защиту блога от взлома. Ибо если какая-либо защита придумана людьми, – то найдутся люди, которые знают, как ее обойти. Вопрос только во времени (их квалификации) и цене вопроса (их намерении).
Как на меня, то стратегия защиты от взлома – максимально усложнить взлом сайта путем внедрения различных «ухищрений». Исхожу из того, что злоумышленник, столкнувшись с проблемами при взломе сайта и потратив на него некое время безрезультатно, с большей степенью вероятности перейдет к взлому другого, менее защищенного сайта.
Предполагаю что утверждение выше справедливо почти всегда. Кроме случая, если на сайте лежит «супер-пупер» ценная информация для взломщика, как то номера и коды банковскых карточек олигархов или список разведчиков-резидентов. А коль такой информации на блоге нет – то «танки клопов не давят» и сайт для «профи» неинтересен. А «любителей» вы «отпугнете» разными «ухищрениями».
Правда, может быть крайний случай, когда некий «любитель» захочет лично кому-то что-то «доказать» или «насолить» выбрав в качестве мишени ваш сайт. Ибо «понты дороже денег». Но это уже другая история.
2.Ограничение нежелательного доступа с служебным файлам
Если вы ограничите нежелательный доступ к служебным папкам на сайте — вы избавите себя от львиной доли проблем безопасности сайта.
Доступ к папкам и файлам сайта возможен как по протоколу http (через веб-браузер), так и по протоколу ftp (через программу ftp-клиент ( FileZilla например).
Для ограничения доступа по http есть простой, однако надежный способ — это обеспечить доступ к папке wp-admin только по паролю с помощью файлов .htaccess и .htpasswd
Файл .htpasswd должен находиться за пределами корневой директории сайта WordPress, а лучше расположить его в директории выше корневой.
Для создания файла и генерации пароля можно воспользоваться сервисом Htpasswd Generator.
Файл .htaccess должен находиться в директории wp-admin и содержать следующие инструкции:
AuthName "Здесь будет текст, который выводится в окне авторизации" AuthType Basic AuthUserFile Здесь Полный Путь/.htpasswd require user Здесь имя пользователя, кому разрешен доступ
AuthName – текст содержащийся в данной директиве, выводится в окне ввода пароля. Он должен быть написан в одну строку и заключен в двойные кавычки.
AuthType — типы аутентификации: Basic или Digest. Рекомендуется использовать Basic.
AuthUserFile — полный путь к файлу с логинами и паролями, для аутентификации пользователей. Пароли содержаться в шифрованном виде. Рекомендуется хранить данный файл в папке, к которой нет доступа для пользователей, и это необходимо, чтобы предотвратить кражу паролей.
require user – директива предписывает, что к URL получают доступ только, пользователи, успешно прошедшие аутентификацию.
Минус такого подхода — для доступа к консоли сайта придется вводить еще один пароль:

Для ограничения доступа по ftp простой и надежный способ: ограничить доступ только с определенных IP-адресов. В этом случае IP-адреса должны статическими. Статический IP можно получить у провайдера.
Там же на хостинге, вероятно, есть инструментарий для разрешения доступа по ftp только для определенных адресов. Если же нет — то ограничить доступ можно файлом .htaccess, рзместив его в директории wp-admin сайта на WordPress.
Файл .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 в корневой директории.
Правда минус такого подхода — за счет этой операции чуть-чуть увеличиться время загрузки сайта. Но вам выбирать между скоростью и безопасностью.
Если есть какие-то замечания, советы или приемы — поделись в комментариях.
Удачи!
Александр Коваль
IP-фдресов.
Источник: https://divitheme.space/kak-zashhitit-blog-na-wordpress.html
адресов не правильно написано 🙂 очепятка
Спасибо, поправил. 🙂