У меня есть привычка проверять многие сайты на возможность взлома. Точнее сказать - на предмет его защищенности. Я не имею ввиду, что я серфю Интернет в поисках слабозащищенных сайтов, скорее анализирую попавшиеся “под руку”.
Я заметил, что многие мои читатели сильно пренебрегают безопасностью своих блогов, не делая некоторых шагов по самостоятельной защите 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/
Для проверки своего блога на наличие подобного рода уязвимостей введите в адресную строку браузера адрес: http://имя_сайта/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
Это защитит другие ваши папки от просмотра чужими людьми.
Для проверки своего (или чужого) блога на такую уязвимость введите в адресную строку браузера адрес: http://имя_сайта/wp-admin/, http://имя_сайта/wp-content/, http://имя_сайта/wp-includes/ и т.д.
Читая этот пост, я надеюсь, что авторы указанных выше блогов в качестве примера, уже устранили свои уязвимости. Остальным могу посоветовать исправить свои.
- Очистка базы данных WordPress
- Пинг WordPress - снижаем нагрузку на сервер
- Несовместимость wp-pda и hyper-cache
- Отключить проверку обновлений WordPress и плагинов
- Защита WordPress от DDos атаки
- Скрываем версию WordPress
- Сервисы обновления Wordpress
- Комплексная защита блога WordPress
Читайте также:
| Опубликовано: Суббота, 14 марта 2009 в 17:41 |
| Рубрика: Оптимизация WordPress |
| Комментариев: 10 |
Читать на:
![]() |
Комментариев: 10
Есть что сказать? Не молчи!
Пожалуйста, пишите по теме.Комментарии о том, какой хороший сайт или его автор расцениваются как СПАМ и беспощадно удаляются.
Спасибо за понимание.


Устранить тоже легко. Поместите пустой файл index.php или index.html в папки
1. htaccess
, как говорилось Вами ниже, достаточно.
к листингу директорий отношения не имеет.
2. Хорошей практикой является переименование административной папки или прикрытие ее паролем - меньше соблазнов возникает.
3. Рубим типичные эксплойты, как сделано в джумле. В .htaccess
4. Запрещаем прямой доступ к папкам, содержащим библиотеки движка и другие файлы, которые не запрашиваются браузерами напрямую(методами GET/POST). Тот же .htaccess в папке root/include:
В корневой папке (если есть локальный php.ini):
или вообще все - *.ini
Список запрещенных масок расширяем по необходимости.
5. В php отключаем вывод ошибок. Демонстрация “споткнувшегося” sql запроса может быть настоящим подарком хацкеру - если движок нетипичный или доработанный:
в локальном php.ini
display_errors = OffПри этом, логом ошибок не брезгуем. Мало ли…
6. Из разряда “авось пригодится”. Апач позволяет ограничивать допустимые методы протокола http. Например, отключаем метод CONNECT в .htaccess
Ага, сделал я:
И сайт накрылся!
Хорошие советы, надо же!
Сделал это - и снова сайт завис.

Смешно.
С этим та же история.
Вставляю код в функции и все равно показывает версию…
По всей видимости, Вы смотрите не туда. Версия WP удаляется из HTML кода страницы. В панели администратора версия останется видна.
Если же Вы сделали все правильно, но именно в коде страницы версия WordPress осталась, то скорее всего у вас включено кэширование страниц. В таком случае дождитесь обновления кэша или очистите его самостоятельно.
GPS грамотный комментарий написал, а вам Kursak надо поднабраться опыта, не может сайт повиснуть из-за Options All -Indexes
Если залить в wp-admin пустой index.html, то как тогда в админку попасть? Какое есть решение?
Попасть в админку не проблема:
http://имя_сайта/wp-admin/index.php
Да это еще и не все. К примеру, вывалят данные о версии - фид блога, сайтмет от Гугла и Дагона, заодно проставятся подключаемые модули Ява. Да еще мало ли мест откуда он засветится.