Как защитить WordPress-блог
19 Янв 2008Вопрос безопасности обычно возникает уже слишком поздно — когда тот самый жареный петух уже сделал свое черное дело, и блог уже в руках «других людей». Всё это многие уже проходили на LiveJournal, где до сих пор любят поугадывать ответы на «секретные вопросы».
А мы будем защищать самое ценное — свой блог на WordPress.
Пункт первый. У бесплатного движка есть недостаток — любой может скачать, поставить и изучить. И изучают, и находят ошибки. Регулярно. Не будем этого ждать — закроем админку Http-авторизацией средствами веб-сервера. Для этого нужно сгенерировать файл .htpasswd, что можно сделать утилитой htpasswd, обычно входящей в состав дистрибутива Apache. Синтаксис её такой:
htpasswd -mbc .htpasswd USER PASSWORD
Где USER — имя пользователя, а PASSWORD — его пароль. Можно поступить и проще — сгенерировать файл .htpasswd более наглядной программкой Htpasswd generator. Полученный файл кладется в папку wp-admin вместе с .htaccess со следующими инструкциями:
AuthUserFile /full/path/to/.htpasswd
AuthType Basic
AuthName “Access_Control”
Require valid-user
Вместо «/full/path/to/» нужно прописать полный путь до файла .htpasswd от корневого каталога. Всё, админку WP не зная этого пароля больше скорее всего никто не откроет. Ну а каким должен быть пароль я уже писал.
Важная поправка: существует плагин AskApache Password Protect, делающий это автоматически.
Пункт второй. Лишаем взломщика информации. В папке с темой есть файл header.php, из которого можно удалить строчку:
<meta name=”generator” content=”WordPress <?php bloginfo(’version’); ?>” />
Но лучше всего её поправить, скажем так:
<meta name=”generator” content=”Serendipity v.1.2-beta4” />
Военная хитрость, пусть развлекаются. Глядишь, после скупки эксплойтов к Serendipity, на WordPress сил и денег не останется… Также упоминания о платформе и версии могут быть в sidebar.php и footer.php — их тоже лучше убрать.
Пункт третий. Нужно знать врага в лицо, займемся аудитом. Плагин Login LockDown запишет все неудачные попытки входа в панель управления WP (с IP и прочей информацией), и заодно заблокирует попытки брутфорса.
Пункт четвертый. Нужно ли говорить о том, что e-mail админа блога должен быть хорошо защищен и находиться под присмотром? Нужно ли говорить о том, что выходящие патчи, заплатки и обновления к WP и плагинам нужно ставить? Надеюсь, не нужно. Вы избавили свой блог от угрозы взлома процентов на 90%.
В тему про .htaccess: http://blog.kmint21.com/2007/09/20/wordpress-password-protection/ (есть плагин специальный, так что пункт номер 1 упрощается)
Спасибо, важная поправка, внес в статью. Так действительно удобнее.
А вот за подобную статью отдельное и огромное спасибо.
а я вот поначалу не защищал свои ВП-блоги специальными мерами…однако после того как у друга увели очень пиаристый блог, пришлось принимать меры :)
без этого сейчас никак
Спасибо, впервые услыша о плагине Login LockDown
Даже не думал, что такой существует.
а вообще были прецеденты взлома блогов? может все это лишнее и достаточно реплицировать БД с инфой ежедневно?
Вообще были и есть… В ЖЖ это вообще норма — каждый день кого-то нагибают… В WP чаще всего iframe вставляется, но немного другим методом.
Я рекомендую такой метод: ежедневный бэкап базы на мейл плагином и сохранение файловой структуры при изменениях.
ниче се…а интересно iframe блокировку моно сделать в вордпрессе в поле для комменирования? я как то через визуальный редактор вставил ifrmae для Google Map — в результате пост стал не редактируемым )) пришлось удалить…
Млин… Работает…
Полезная информация даже при том, что вордпрессом не пользуюсь.
Разобрался. Короче в WP ифрейм в коментах может использовать только админ. У остальных по дефолту режется.
[…] .htpasswd — об этом методе хорошо написано в статье Как защитить WordPress-блог чтобы не мучаться в ручную Вам поможет плагинчик WordPress […]
Стоит еще и убирать ссылки типа «Вход» :-)
Пробовал зайти в Вашу админку — htaccess пароля не спрашивает
Ну и что ? =)
Владимир, вот вы изменили генератор, а толку? Всё равно видно, что вы юзаете WordPress. А выдают строки вида , в которых есть «wp-content».
Да, но во-первых теперь непонятно какая версия, а во-вторых, если будет найдена какая-то уязвимость движка, то автоматическим поиском по мета-тегам блог не зацепит.
Все же любые способы защите лучше, чем отсутствие хоть каких-либо. Спасибо за советы, будем пробовать обороняться.
Спасибо приму к сведению.
Не прошло и 5 минут после прочтения статьи как я убрал информацию о версии вордпресса у себя. Спасибо.
Давно думаю над защитой своего блога. Вы натолкнули на дельные мысли. Спасибо
Да безопасность привыше всего
Для .htaccess использую
order deny,allow
deny from all
allow from my_ip
allow from hosting_ip
и пароли вводить не надо:)
Хотя конечно прилепив сюда еще и пароль будет «больше» безопасности
[…] Читаем статью здесь. […]
Спасибо за статью. Полезная информация, есть над чем поразмыслить на досуге.
Одно БОЛЬШОЕ уточнение: то что мы скрываем в коде страницы версию WP — это полдела. Достаточно подписаться на фид блога, или сымитировать подписку переходом по ссылке типа site.ru/feed как мы получим в RSS строчку вроде такой
http://wordpress.org/?v=2.3.3
Довольно удобно, надо взять на заметку, благодарю!
Очень хорошее и полезное сообщение. Сам недавно искал в интернете данную тему и все обсуждения связанные с ней. Но только тут нашел хороший и качественный и что немаловажно полезный материал. Спасибо автору блога за предоставленную информацию.
[…] статье использованы материалы с сайтов: zhilinsky.ru streha.ru kgayzer.info Спасибо авторам!) В рубриках: CMS, […]