Комплексная защита сайта или блога на WordPress

10 способов обезопасить свой сайт или блог на WordPress от взлома хакерами. Как защитить WordPress от злоумышленников в интернете без привлечения специалистов.

Защитить сайт на Вордпресс

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

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

Во-первых

Часто взломщики (особенно студенты и школьники, насмотревшиеся фильмов типа «Хакер») для взлома блога на WordPress используют данные о его версии. Версию блога можно узнать разными способами.

Например, с помощью файлов readme.html и license.txt расположенных в корне сайта.
Убедитесь сами:
SeoBlondinka.ru,
Krutikoff.com.ua,
TiamatInc.ru,
Online-delo.ru,
Trakhtenberg.info,
Dimoning.ru
и т.д.
Не буду выдавать все. Самое удивительное, что многие из этих вебмастеров уже не первый год в Интернете, но допускают такие серьезные ошибки. Ребята! Давайте устраняйте ваши уязвимости!

Для этого вам надо просто удалить файлы readme.html и license.txt через FTP в корневике блога. Скорее всего это будет папка имя_сайта/public_html/

Для проверки своего блога на наличие подобного рода уязвимостей введите в адресную строку браузера адрес: //имя_сайта/readme.html

Кроме того, сам WorPress пишет свою версию прямо в код страницы. В заголовке HEAD.
Чтобы убрать ее оттуда, пропишите в функции темы functions.php строку

<?php remove_action (’wp_head’, ‘wp_generator’); ?>
Во-вторых

Служебные папки движка тоже могут представлять некоторую опасность. Злоумышленник может посмотреть какие (например) плагины вы используете и подобрать «ключик» к вашему блогу.

Например: Spryt.ru, Online-delo.ru и т.д.

Устранить тоже легко. Поместите пустой файл index.php или index.html в папки имя_сайта/wp-admin/, имя_сайта/wp-content/, имя_сайта/wp-includes/. Или сделайте как я. Поместите такой вот интересный файл. Прикольно, да? Качайте и пользуйтесь.

Также рекомендую дописать в ваш файл .htaccess, который тоже лежит в корне сайта строки

Options All -Indexes
RewriteEngine On

Это защитит другие ваши папки от просмотра чужими людьми.

Для проверки своего (или чужого) блога на такую уязвимость введите в адресную строку браузера адрес: //имя_сайта/wp-admin/, //имя_сайта/wp-content/, //имя_сайта/wp-includes/ и т.д.

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

1 494 11 Обновлено
Опубликовано: 14 марта 2009

11
Обсуждение

500
  Подписаться  
новые старые
Уведомлять
Курсак
Order Deny,Allow
Deny from all

С этим та же история. 🙂

Kursak

RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR] # Block out any script that includes a tag in URL RewriteCond %{QUERY_STRING} (\|%3E) [NC,OR] # Block out any script trying to set a PHP GLOBALS variable via URL RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] # Block out any script trying to modify a _REQUEST variable via URL RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) # Send all blocked request to homepage… Показать полностью »

Администрация сайта

Попасть в админку не проблема:
http://имя_сайта/wp-admin/index.php

oldvovk

Да это еще и не все. К примеру, вывалят данные о версии — фид блога, сайтмет от Гугла и Дагона, заодно проставятся подключаемые модули Ява. Да еще мало ли мест откуда он засветится.

Павел

Спасибо! Как раз актуально.
Правда. Рубим типичные эксплойты, как сделано в Джумле в .htaccess. Это меня тоже повалило. Пришлось откатить.

GPS

Устранить тоже легко. Поместите пустой файл index.php или index.html в папки 1. htaccess Options All -Indexes , как говорилось Вами ниже, достаточно. RewriteEngine On к листингу директорий отношения не имеет. 2. Хорошей практикой является переименование административной папки или прикрытие ее паролем — меньше соблазнов возникает. 3. Рубим типичные эксплойты, как сделано в джумле. В .htaccess RewriteEngine on # Block out… Показать полностью »

Kursak

Ага, сделал я:

Options All -Indexes

И сайт накрылся!
Хорошие советы, надо же!

Администрация сайта

По всей видимости, Вы смотрите не туда. Версия WP удаляется из HTML кода страницы. В панели администратора версия останется видна.

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

Екатерина

Вставляю код в функции и все равно показывает версию…

dd

GPS грамотный комментарий написал, а вам Kursak надо поднабраться опыта, не может сайт повиснуть из-за Options All -Indexes

Дима

Если залить в wp-admin пустой index.html, то как тогда в админку попасть? Какое есть решение?