Фев 01

24. Создаем блог: повышаем безопасность WordPress блога (часть 2)


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

  • Начнем мы с самого простого, но от этого не менее полезного плагина, Anti-XSS attack, который защищает блог от межсайтового скриптинга.

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

  • Login LockDown

Данный плагин записывает IP-адреса всех пользователей, которые неудачно ввели логин или пароль при входе в административную панель блога, после чего их блокирует.
После активации расширения переходим в раздел «Настройки» — «Login LockDown».
безопасность блога
Пройдемся немножко по его опциях.
Max Login Retries – максимальное количество неправильных входов при которых не будет производиться блокировка.
Retry Time Period Restriction (minutes) – доступное время для повторной попытки входа (в минутах).
Lockout Length (minutes) – время блокировки IP-адреса, с которого был осуществлен неудачный вход в админку (в минутах).
Lockout Invalid Usernames? – блокировка не только в случае неправильного ввода пароля, но и логина. Советую включить.
Mask Login Errors? – маскировка сообщений про неправильный ввод логина (пароля). Советую также оставить включенным, чтобы злоумышленник не догадывался, что было введено не так.
После всех изменений жмем «Update Settings», чтобы обновить настройки.
Еще ниже размещен блок «Currently Locked Out», в котором будут отображаться все IP-адреса, с которых осуществлялись неудачные попытки зайти в административную панель блога. Если некоторым адресам вы доверяете, можете отметить их и снять блокировку нажатием на «Release Selected».
Итак, с этим расширением разобрались. Идем дальше.

  • Secure WordPress

По большому счету, данный плагин дублирует многое из того, что мы уже сделали в прошлый раз. Но если вы боитесь самостоятельно редактировать файлы блога и копаться в различных кодах, то это расширение поможет сделать все значительно быстрее и проще.
Secure WordPress имеет свои опции, которые находятся в разделе «Настройки» — «Безопасный WP».
безопасность wordpress
Сообщения о ошибках – скрывает сообщения про ошибки (неправильный логин, пароль) при входе в админку блога. Отмечаем.
Версия WordPress — скрывает версию WordPress движка отовсюду кроме административной панели. Включаем.
WordPress Version in Backend — скрывает версию движка в админке от всех, кроме администратора. Это на случай, если другие тоже имеют, хоть и ограниченные, права доступа в панель.
index.php – создает индексные файлы в папках «Плагины» и «Темы», чтобы скрыть существующие в данных папках файлы. Также включаем.
Really Simple Discovery и Windows Live Writer можно не отмечать, поскольку данными сервисами вы скорее всего пользоваться не будете.
Обновление ядра, плагинов, шаблонов – скрывает сообщение о новой версии WordPress, плагинов, тем оформления от пользователей, которые не имеют прав администратора. Отмечаем все три пункта.
Сканер WP – онлайновый сканер безопасности блога. Для его работы нужно будет добавить одну строчку кода в шаблон. Тут уже на свое усмотрение.
Block bad queries – защита от вредоносных запросов. Дальше идет ссылка на страницу, где детально обсуждаются способы защиты от них. Поскольку я не знаю, как поведет себя такой код на блоге, пока его не устанавливал. Но ознакомится со статьей рекомендую.
После того как все настроили сохраняем результат.

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

  • WP Security Scan

Также очень полезный плагин, хотя по большей части информационный. Скачать можно отсюда.
После активацию заходим в раздел «Security». В правой колонке отображается информация про сервер, на котором размещен блог. Нас же больше интересует левая колонка.
защита wordpress
WordPress version: xxxx You have the latest stable version of WordPress. Как можно догадаться, зеленый текст означает, что данная уязвимость уже закрыта. В данном случае говориться про то, что используетcя последняя стабильная версия WordPress.
Your table prefix is not wp_. Префикс таблиц базы данных изменен со стандартного wp_ на другой. Про это мы позаботились еще на этапе установки движка на сервер.
Your WordPress version is successfully hidden. Версия WordPress скрыта от посторонних.
WordPress DB Errors turned off. Сообщения про ошибки базы данных выключены.
WP ID META tag removed form WordPress core. Мета тег идентификатора удален с ядра движка.
No user «admin». Имя пользователя по-умолчанию изменено на другое.
The file .htaccess does not exist in wp-admin/. В папке wp-admin нет упоминаемого файла. А это мы сейчас исправим.
Заходим через ftp-клиент в указанную папку и кладем в нее пустой текстовый файл с названием .htaccess.
Если мы сейчас обновим вкладку «Security», то увидим, что красная строчка сменилась на зеленую .htaccess exists in wp-admin/.
Отлично. Тут закончили, переходим в следующую закладку «Scanner».

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

безопасность wordpress блога
Если все строчки подсвечены зеленым это значит, что ничего менять уже не надо. В нашем случае есть одна красная строка, которая сообщает, что файл .htaccess (не тот, который мы только что создали, а основной) имеет права 640. (колонка Current Chmod). Нам нужно изменить их на рекомендуемые 0644 (колонка Needed Chmod). Заходим через фтп-клиент в папку /public_html и меняем права к файлу на нужные. Обновим закладку сканнера. Теперь все зеленое.

На этом работу с данным плагином можно закончить и деактивировать его. Если вы еще не поменяли префикс к таблицам базы данных блога, тогда переходим на вкладку «Database».
В единственном поле «Change the current:» меняем «wp_» на что-то другое. К примеру, на «vfbet_» (префикс должен быть известен только вам), после чего жмем «Start Renaming». Через некоторое время префиксы будут изменены.

  • Stealth Login

Как вы помните, для того чтобы войти в административную панель блога, нужно в адресной строке набрать www.вашблог.com/wp-admin. Это знают все и, честно говоря, такой расклад нас мало устраивает. Нужно как-то сменить адрес для входа на другой, который будет известен только нам. Для этого устанавливаем следующий плагин.
Перейдем в его настройки (вкладка «Stealth Login» в разделе «Настройки»).
защита блога
Enable Plugin – включить/выключить плагин. Переводим в «On».
Login Slug – слово для входа. Пока у нас стоит wp-admin. Вписываем свое. Главное, чтобы потом его не забыли.
Login Redirect – куда нас будет перекидывать. В данном случае в админку, что нам и нужно.
Logout Slug – слово для выхода. Можно не менять.
Admin Slug – слово для входа в административную панель. Поскольку в Login Slug мы также ставили редирект в админку, то слова входа у нас будут одинаковые.
Stealth Mode – режим «невидимки», который запрещает пользователям прямой доступ к файлу wp-admin.php.
Сохраняем изменения, нажав «Save Changes», после чего в поле «.htaccess Output» у нас появится код, автоматически скопированный в файл .htaccess на сервере.
Вот и все. Сейчас можно выйти с админки и попробовать, как работает новый вход.

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

  • Exploit Scanner

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

После активации плагина в разделе «Инструменты» появится вкладка «Exploit Scanner». Настройки сканера изначально выставлены оптимально. Правда, со временем блог будет обрастать новыми плагинами и контентом из-за чего расширение при сканировании может зависать. В таком случае измените значение «Number of files per batch:» со 150 на 100. Или запустите процесс сканирования еще раз.

Итак, мы нажали «Run the Scan» и через некоторое время нам высветились результаты. Не удивляйтесь, если увидите много строчек кода подсвеченных желтым цветом. Это не означает, что вас уже взломали и повсюду напихали кучу зловредного кода. Просто, как и в случае с антивирусами, плагин часто принимают некоторые строки коды за подозрительные. Что в таких случаях нужно делать. Если вы уверены, что с файлом что-то не так, посмотрите, где и какая строчка подсвечена, после чего сверьте его с оригинальным файлом. К примеру, если это плагин, то скачайте его опять с официального сайта и сравните с тем, что у вас на сервере.
После проведенного сканирования, расширение можно отключить до следующего раза.

  • AntiVirus

Еще один плагин, который тоже ищет эксплоиты и спам-инъекции.
После установки переходим в раздел «Настройки» — «Antivirus».
защита блога
Жмем на «Scan the theme templates now», после чего начнется процесс сканирования. У меня тут случилась забавная ситуация. Плагин выдал много информации по непонятным строчкам кода в файлах …. которых в моей теме просто не было. Пришлось посидеть и сравнить с оригинальными. Нашел много лишнего 🙂 Как видите, проверять блог нужно регулярно, чтобы не стыкаться с такими ситуациями. Хотя, вполне возможно, что я скачал уже измененный кем-то шаблон.

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

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

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


Если вам понравилась статья, вы можете подписаться на RSS, чтобы следить за новыми публикациями!

Вы также можете добавить статью в следующие социальные сервисы:

Написал DCDanton \\ теги: ,


6 комментариев к “24. Создаем блог: повышаем безопасность WordPress блога (часть 2)”

  1. 1. Irina пишет:

    Плагин Stealth Login не удалось настроить, при входе с новым словом выдае ошибку 404.

    Поля:Login

    Redirect

    Logout Slug

    Admin Slug- надо оставлять пустыми?

    А вы сами пользуетесь этим плагином, или др способом защищаете страницу входа?

  2. 2. Сергей пишет:

    Здравствуйте!

    Вопросы по плагину Stealth Login.

    Все установки прошли нормально, все работает.

    1. Если я надумаю отключить плагин — стандартный вход восстановится?

    2. И если я изменю слово для входа — код, автоматически скопированный в файл .htaccess на сервер измениться или его нужно предварительно удалить?

  3. 3. DCDanton пишет:

    Здравствуйте.

    1. Да, код восстановиться. В настройках ничего назад возвращать не нужно.

    2. .htaccess меняется сам.

  4. 4. Сергей пишет:

    Спасибо!

    А вот ответ по подписке на комментарий от Вас не пришел... (спам проверял)

  5. 5. Roman пишет:

    Во, как раз это я и искал, спасибо!

  6. 6. Владимир пишет:

    Здравствуйте.

    Как раз вовремя. Тут на хостинге началась атака на cms WordPress и Joomla. В wordpress атакуют wo-login.php. Тех.поддержка хостинга настоятельно рекомендует сменить адрес входа в админку. Ваш плагин Stealth Login очень кстати. Но не могу его найти.

    У Вас есть адрес, где его можно скачать?

Highslide for Wordpress Plugin Проверка сайта Клуб Инвесторов. Обмен ссылками.