Безопасность Wordpress - часть 1

Объявления:

Сайт дня (как попасть): магазин игрушек

Безопасность любого сайта - очень важный момент, которым ни в коем случае не стоит пренебрегать. *Отвлекусь от громких слов - давно хотел добавить эту картинку, сегодня она отлично вписалась. Особенно мне понравилось, как получилось заменить надписи на щитах на эмблему Wordpress :) *

Безопасность Wordpress - часть 1

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

На 100% защитить свой блог не получится. На любой вид защиты всегда найдутся специалисты, которые его обойдут. Это как у замков - какой бы ни создавали надежный замок, всегда найдется тот, кто его откроет.

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

Итак, приступим. Я начинаю цикл статей по безопасности Wordpress, которые помогут вам повысить уровень безопасности вашего блога.

Не забывайте делать бекапы

Золотое правило, о котором нельзя забывать. Мало ли что. После публикации каждого нового поста я сохраняю базу данных с помощью замечательного плагина WP-DB-Backup. Если у вас не стоит этот плагин - рекомендую его обязательно поставить. С помощью этого плагина можно настроить так, что база данных вашего блога будет ежедневно или еженедельно автоматически приходить к вам на e-mail.

Также я регулярно сохраняю экспортный XML файл данных блога через меню админки Manage-Export (Управление-Экспорт).

Сохраняйте все файлы блога на компьютер

Я всегда держу на компьютере локальную копию всех файлов блога, и ежемесячно ее записываю на dvd плюс каждую 1-2 недели сохраняю нужные файлы на внешний жесткий диск. Любые изменения в шаблонах или других файлах блога я сначала делаю на локальной копии, и только затем заливаю на хостинг.

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

Откажитесь от FTP

Во многих случаях протокол FTP используется для несанкционированного доступа.

Советую отказаться от FTP и перейти на использование программы Winscp (для Windows). Это программа для доступа к серверу через защищенный протокол SSH. Пароль в этой программе шифруется.

Далее нужно полностью закрыть доступ к сайту по FTP. Для этого в корне сайта создайте файл .ftpaccess, в котором пропишите такой код:

 <Limit ALL>
Deny from all
</Limit>

Об этом способе я узнал из статьи Евгения Новикова Защита FTP с помощью .ftpaccess.

Скройте версию Wordpress

В целях безопасности нежелательно, чтобы в html коде отображалась версия вашего Wordpress.

Сначала уберите ее из файла header.php (он лежит в папке с темой вашего блога). Для этого из строки:

<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />

Удалите этот код:

<?php bloginfo('version'); ?>

Затем поместите такой код в файл functions.php в той же папке:

<?php remove_action('wp_head', 'wp_generator'); ?>

Также для изменения версии Wordpress можете использовать плагин Replace WP-Version.

Желательно удалить файл readme.html в корневой папке движка. Кроме этого, нужно изменить версию Wordpress в файле version.php в папке wp-includes:

$wp_version = '2.8.1';

Закройте возможность просмотра папок

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

Закрыть возможность просмотра папок вашего блога можно следующими методами.

Можно в файл .htaccess в корне вашего блога поместить такой код:

Options -Indexes

Можно создать пустой файл index.html и поместите его в папку с плагинами wp-content/plugins.

Используйте сложный пароль

Постарайтесь использовать сложный пароль длиной в 8-12 и более символов. Это сведет к минимуму вероятность его подбора. Желательно использовать не только цифры, но и буквы (заглавные и прописные), а также различные символы.

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

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

Ограничьте доступ к wp-content и wp-includes

В целях безопасности вашего блога желательно закрыть доступ к папкам wp-content и wp-includes. Нужно запретить доступ к любым файлам, кроме картинок, файлов Javascript и CSS.

Для этого нужно создать в каждой папке файл .htaccess и поместить в него следующий код:

Order Allow,Deny
Deny from all
<Files ~ "\.(css|jpe?g|png|gif|js)$">
Allow from all
</Files>

В следующей части я продолжу описание различных способов для безопасности Wordpress.

Кстати, для любителей английского будет интересен конкурс на лучшее сочинение на сайте “Английский без дураков”: http://real-english.ru/blog/announcing-essay-contest.htm

Глобатор

Постовой: Нужна регистрация торговой марки Украина? Тогда обращайтесь к нам.

Хотите купить ноутбук в одессе - нет ничего проще.

Надежная теплоизоляция стен, труб, кровли и фасадов.

Десерт на сегодня - видеоролик о человеке, который вытворяет чудеса гибкости - обязательно его посмотрите! Я до сих пор под впечатлением:


Буду благодарен, если поделитесь этой статьей:
Опубликовать в twitter.com Опубликовать в своем блоге livejournal.com
Приглашаю присоединиться ко мне в следующих сервисах:
Мои группы:
↑ Как поставить такие же кнопки на свой сайт ↑
Эффективное продвижение статьями
Комментарии Вконтакте:

Пора попить кофе!
Комментарии Facebook:
Комментарии Wordpress:
Комментариев: 37

1. Anton Mur 15 декабря 2009 в 8:07 pm

Отличная и актуальная тема…
Надо будет заняться приминением этих советов.

2. Anton Mur 15 декабря 2009 в 8:08 pm

Отличная и актульная тема..
Надо будет на днях заняться приминением этих советов.
Спасибо, Михаил, будем ждать следующих частей!

3. rOOse 15 декабря 2009 в 8:16 pm

Скройте версию Wordpress
есть еще куки)

4. Семен Бруква 15 декабря 2009 в 8:52 pm

Насколько я понимаю, сам Wordpress (как например и Joomla) - достаточно безопасная система. А наибольшая уязвимость может идти через недостаточно проработанные сторонние плагины.

5. [m.k] 15 декабря 2009 в 8:53 pm

Еще полезно сменить имя пользователя admin на любое другое, ограничить права пользователя БД до минимально необходимых.
Не так давно у себя про это писал.

6. sMiles 15 декабря 2009 в 9:19 pm

Михаил, спасибо за статью. В очередной раз много полезного материала. Теперь осталось дождаться продолжения.

7. Kostya 15 декабря 2009 в 10:37 pm

<blockquote>Кроме этого, нужно изменить версию Wordpress в файле version.php в папке wp-includes
$wp_version = ‘2.8.1′
</blockquote>

Скажите пожалуйста, изменить на какую версию?Или эту строку в файле version.php можно просто оттуда удалить?

8. Сэл 15 декабря 2009 в 10:39 pm

Пожалуй с wp_version = самый остроумный метод. У меня давно уже 9-я версия движка :)

9. osminog 15 декабря 2009 в 11:41 pm

Спасибо, очень полезно для меня, но есть пара вопросов:
1. при обновлении блога до новой версии, много что может слететь и не востановиться? Очень переживаю.
2. если я запрещу FTP доступ, то смогу ли я попасть к каталогу через cpanel ?
Спасибо за понимание.

10. Дмитрий Донченко 16 декабря 2009 в 12:24 am

Классный пост, и картинки к постам в твоем блоге всегда впечатляют.

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

Жду вторую часть :)

11. Sosnovskij 16 декабря 2009 в 12:59 am

Я тоже занимался этим вопросом. Он кстати очень важный. В основном им интересуются только тогда, когда блог взломают :)

12. Сергей 16 декабря 2009 в 1:01 am

Полезные советы. Не думал, что все так непросто.

13. TIgor 16 декабря 2009 в 1:54 am

Люди делятся на 2 категории, те которые еще не делают бекапы и те которые уже делают :)

За статью спасибо, в ближайшее время начну применять ее на практике.

14. Глобатор 16 декабря 2009 в 2:20 am

Дмитрий Донченко, обязательно расскажу про эти пункты, прямо мои мысли читаешь :)

osminog, на всякий случай перед обновлением все нужно сохранить. Если ставили только плагины и не меняли файлы движка - то маловероятно, что что-то сломается по большому счету. Разве что некоторые плагины не будут работать. Через cpanel попадете в любом случае.

Kostya, можете сменить на любую другую.

rOOse, конечно, есть, как без них :)

15. Georg 16 декабря 2009 в 2:37 am

Замечательная статья, спасибо, что даете конкретные рекомендации, не ограничиваясь общими словами!

Особая благодарность за .ftpaccess, давно уже перешел на winscp, а вот закрыть ftp-доступ не мог, думал, что для этого надо иметь доступ к настройкам сервера. Только вот один вопрос в связи с этим возникает: если запретить ftp-доступ для всех (или даже оставить возможность доступа со своего IP), то об автоматическом обновлении плагинов придется забыть? Новую версию движка-то я, конечно, сам заливаю, там аккуратно надо, а вот плагины всё-таки хотелось бы обновлять одной кнопочкой. Хотя как вариант можно, конечно, для такого дела перезаливать .ftpaccess.

16. ua-blogger 16 декабря 2009 в 2:41 am

Михаил, можешь в двух словах сказать о Winscp:
- какой протокол советуешь выбрать в меню
- allow SCP fallback - галка нужна?

17. DareDevil 16 декабря 2009 в 8:28 am

Многое из статьи уже давно применяю на практике, насчет FTP и бэкапа файлов на сторонние носители стоит задуматься.

18. Serezhik 16 декабря 2009 в 12:07 pm

Интересный материал, жду продолжения)

19. iFox 16 декабря 2009 в 5:13 pm

Глобатор, Вас лично приглашаю принять участие в короткой и интересной эстафете! ifox.com.ua/topic/388
Буду рад. Спасибо.

20. Сергей 16 декабря 2009 в 10:23 pm

Спасибо огромное, Михаил, за Вашу работу!
Как всегда всё интересно и в тему. Офф: добрался до Ваших статей про плагины к FF и не могу нарадоваться( вот уже почти сутки балуюсь с этими плагинами).
Есть 2 вопроса к Вам, не совсем по теме этой статьи:
1. Сделайте, пожалуйста, урок по вставке видео на блог WP(как это сделано у Вас). Можно дополнить его всякими премудростями. Ведь Вы уже собаку съели на этом. А если уже есть такой урок у кого, то может ссылку выкиньте.
2. Ко мне очень часто в последнее время приходят комменты( трэкбэки). Я не знаю, как правильно ими распоряжаться: ссылки коммента там непонятные, сам анкор поста иногда нулевай вообще. Самому что ли прописывать там текст? Объясните, плиз.
Спасибо!

21. gamerati 17 декабря 2009 в 12:40 am

.ftpaccess

Allow 195.111.185 (или)
Allow 195.111.0/24
DenyAll

Вот можно и таким его сделать) Тогда сможете зайти только с этих айпишек на фтпшник)
Даже если пасс уйдет злоумышленнику, то воспользоваться им он не сможет :)

22. Bogdkad 17 декабря 2009 в 1:30 am

Советы дельные, нужно применить у себя обязательно!

23. Oz 17 декабря 2009 в 3:52 am

Здравствуйте, Михаил. Я думаю Вам пора выпускать книгу "Шакин.ру" :)

P.S. Поделитесь пожалуйста знаниями о методах предотвращения утечки веса страницы, при наличии внешних ссылок… Такое возможно? Чтобы ВС была в индексе при этом не улетучивался Тиц и Pr…

24. Сергей 17 декабря 2009 в 3:58 am

Я извиняюсь перед автором за обсуждение вопросов, не связанных с темой.
gamerati, я так понимаю, что Вы это мне ответили. Если это так, то я всё равно ничего не понял. Вот такого вида приходит трекбэк:
<strong><a href="….." rel="nofollow"> </a><a href="…." rel="nofollow"></a><a href="…." rel="nofollow"> </a><a href="…." rel="nofollow"> </a>…</strong>

Интересно <b><a href="…." rel="nofollow"> </a><a href="…." rel="nofollow"> </a><a href="….." rel="nofollow"> </a><a href="…." rel="nofollow"> </a>…</b>
Размещать в таком виде его и получается, что анкор- это спам. Ссылка трэкбэка получается не поймёшь какая.

25. Allpa 17 декабря 2009 в 5:02 am

<blockquote>нужно изменить версию Wordpress в файле version.php в папке wp-includes</blockquote>
Стоило это проделать, как ВП закричал, что есть новая версия (какая у меня и стояла) и надо срочно обновиться - это что ж, каждый раз будет выскакивать предупреждение и мозолить мне глаза? о_О
<blockquote>нужно создать в каждой папке файл .htaccess и поместить в него следующий код</blockquote>
Этого я, к сожалению, проделать не смогла: система <i>(Mac OS) </i>считет такой файл скрытым и, хоть я и сделала его видимым на компе, при попытке загрузить его в нужную папку с помощью плага <b>MyFTP</b> <i>(мой тарифный план не предусматривает доступ к блогу через FTP)</i> окно для выбора файла по-прежнему считает <b>.htaccess </b>скрытым и не показывает его <i>(значит, нельзя его выбрать для загрузки)</i>.

С нетерпением жду продолжения :)

26. Антон 17 декабря 2009 в 8:39 am

Спасибо большое за пост, как всегда все супер, и десерт вкусный. Тема актуальная, особенно сейчас из-за gumblar’a

27. Андрей Морковин 17 декабря 2009 в 6:32 pm

Все-таки решил отказаться от доступа по FTP :) Закрыл доступ предложенным способом и теперь пользуюсь рекомендованной WinSCP.

А еще, в моем header.php нет сроки про версию движка, видимо какая-то функция генерирует необходимый HTML. Не стал ее искать, просто сменил версию в файле version.php

Большое спасибо за полезную статью, Михаил!

28. SergeySL 17 декабря 2009 в 9:22 pm

Формат файла .ftpaccess зависит от типа FTP-сервера, поэтому не стОит рекомендовать представленный фрагмент всем и сразу ;)

29. st1 20 декабря 2009 в 1:28 am

Спасибо за информацию, воспользовался некоторыми рекомендациями. Жду вторую часть ;)

30. Tolsty 20 декабря 2009 в 1:36 pm

Хочу подметить:
из-за строк:
Order Allow,Deny
Deny from all
<Files ~ ".(css|jpe?g|png|gif|js)$">
Allow from all
</Files>
Блог стал выдавать 403 ошибку. Хорошо что заметил на следующий день а не через неделю.

Если менять версию через файл version.php - кроме того, что сам Вордпресс будет ругаться "обновите версию" , еще некоторые плагины могут отказаться работать! Например при изменении 2.6.1 на 2.8.2 плагин Simple Tags отрубился, а при понижении версии до 2.4.1 ничего не изменилось.

31. SergeySL 21 декабря 2009 в 3:52 am

Сергей, Вам нужен плагин Disable Trackbacks - http://www.viper007bond.com/wordpress-plugins/disable-trackbacks/, он отключает трекбеки, но разрешает пинги.
Tolsty, в данном примере автор забыл экранирующий бекслеш перед точкой, поэтому правила гасят много нужного и приводят к ошибке 403 ;)

32. Аббат_Кальне 30 декабря 2009 в 11:54 pm

хотелось бы узнать можно ли какими либо скриптами защитить блог от дос-атаки! как думаете?
если можно хотелось бы статью увидить!

33. Глобатор 12 января 2010 в 6:25 pm

SergeySL, спасибо, бекслеш добавил.

Аббат_Кальне, скриптами этого не сделать.

34. TimNet 13 января 2010 в 6:59 pm

а чем WinSCP лучше Filezilla ?? и лучше ли ?

и еще код
<?php remove_action(’wp_head’, ‘wp_generator’); ?>

отказался работать, сработало только когда прописал
remove_action(’wp_head’, ‘wp_generator’);

35. TIgor 16 января 2010 в 3:34 pm

Спасибо за статью.

Я как-то видел плагин, который позволяет легко создавать .htacess для wp-admin, но не могу вспомнить где и как он назывался. Мож кто припомнит?

36. Игорь 24 января 2010 в 2:10 pm

Михаил, вот за эту вещь "Советую отказаться от FTP и перейти на использование программы Winscp (для Windows)" мегаспасибо!!!!
даже и не знал, что ССШ - это так удобно! Теперь точно буду уходить от работы по фтп) спасибо!!!!!

поставь на блоге кнопочку "Donate". за такие подсказки лучшая благодарность - копеечка в копилочку)

37. Сергей С. 05 февраля 2010 в 5:48 am

Хотелось бы добавить что фокус с .ftpacess пройдет не на каждом хостинге
Например у меня два разных хостинга и у обоих хостеров сервера настроены такчто они не обращают внимание на ftpaccess в корне, что в нем не пиши :)
Так что защищаемся другими методами

osminog - через панель зайти сможете

Подписаться на обновления shakin.ru по RSS

Количество RSS подписчиков Рейтинг блогов




Новый сервис ссылок навсегда





Эффективная биржа ссылок

Обновления сайта

Читать Shakin.ru в твиттере
Читать Shakin.ru в Google Reader
Читать Shakin.ru в Яндекс.Ленте


Достигнутые цели


Мои бесплатные рекомендации

В случае перепечатки материалов обязательно мое письменное разрешение и прямая индексируемая ссылка на Shakin.ru
Продвижение сайтов, веб-дизайн и креатив © 2007-2012