Работает система Orphus

WordPress для каждого на русском языке!

  • RSS

Учебник по WordPress

Полезные советы

Хитрости

Шоукейс

О проекте

Темы WordPress на русском!

Эволюция пользовательского интерфейса WordPress (2003 – 2009)

Четверг, 14 января 2010 - Рекомендуем, Статьи и советы

WordPress каким мы видим его сейчас – это продукт любви, которой наградило его сообщество. Без идей, пожеланий, рекоммендаций и советов пользователей и тяжелой работы команды разработчиков, которая воплощала это всё в жизнь, из него никогда бы не получилось того, что есть сейчас. Сегодня WordPress предстает перед нами мощной полноценной CMS, подходящей почти под любые нужды. [...]

читать дальше

Продвинутые советы по разработке сайтов на WordPress

Понедельник, 27 июля 2009 - Рекомендуем, Статьи и советы

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

читать дальше

5 полезных и оригинальных способов использования виджетов в WordPress

Четверг, 16 июля 2009 - Рекомендуем, Статьи и советы

Если вы создали хотя бы несколько сайтов на WordPress, то вы наверняка уже знаете, что WordPress это гораздо больше, чем просто блоггинговый движок. Он может быть также использован как и CMS, а виджеты WordPress – это мощный инструмент в арсенале WP-разработчика.

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

читать дальше

10 шагов для защиты вашего блога на WordPress

Среда, 24 июня 2009 - Рекомендуем, Статьи и советы

Административная зона любого веб-приложения давно стала излюбленной мишенью для хакеров и её безопасность чрезвычайно заботит разработчиков. Это касается и WordPress - при установке нового блога система создает аккаунт администратора с уникальным случайно сгенерированным в реальном времени паролем, чем блокирует всеобщий доступ к настройкам системы, контролируя его c помощью страницы авторизации.

Эта статья сфокусирована на вопросах усиления безопасности WordPress - как административной панели, так и настроек блога, подразумевая все содержимое папки wp-admin (http://wp-config.ru/wp-admin/), которое отображается только после авторизации. Мы сознательно выделили фразу "после авторизации" - вы должны четко осознавать, что только один простой запрос отделяет "злого хакера" и админку всего вашего блога или сайта! А последняя защищена настолько сильно, насколько мощный пароль вы выбрали.

gilt-zu-schuetzen-administrationsbereich-in-wordpress

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

1. Переименуйте папку wordpress.

Начиная с версии 2.6, стало возможным изменять путь к папке wp-content. К сожалению это до сих пор неприменимо к папке wp-admin. Думающие о безопасности блоггеры смирились с этим и стали надеяться, что это станет возможным в будущих версиях. Пока этого не случилось, предлагаем воспользоваться следующим альтернативным решением проблемы. После распаковки архива с файлами WordPress, вы увидите папку "WordPress" - переименуйте папку (в идеале во что-то непонятное вроде "wordpress_live_Ts6K") и после этого настройте соответственным образом файл wp-config.php, который находится в корневой директории.
Что нам даст это изменение?

  • Во-первых, все файлы WordPress не будут смешаны с другими файлами в корне сайта, таким  образом мы повысим ясность корневого уровня.
  • Во-вторых, множество копий WordPress может быть установлено параллельно в папки с разными именами, исключая их взаимодействие, что делает это идеальным для тестирования
  • Третье преимущество напрямую касается безопасности: административная зона (и весь блог в целом) больше не находится в корневой папке и для проведения каких-либо действий по взлому сначала ее нужно будет найти. Это проблемно для людей, но что касается ботов - вопрос времени.

mehrere-installationen-in-einem-root-verzeichnis
Несколько установленных версий в root-каталоге - это возможно!

Примечание: Если системные файлы WordPress больше не в корневой директории, и имя папки инсталяции изменено в соответствии с рекомендациями, описанными выше, блог будет все равно доступен по адресу http://wp-config.ru/. Почему? Зайдите в раздел "Общие настройки (General settings)" вашего блога и введите в поле "WordPress address (URL)" реальный адрес блога на сервере, как показано в примере:

wordpress_wordpress_address
Адрес блога должен быть красивым и ненавязчивым

Это позволит блогу отображаться по красивому виртуальному адресу.

2. Усовершенствуйте файл wp-config.php

Конфигурационный файл WordPress wp-config.php содержит в себе некоторые настройки сайта и информацию для доступа к базе данных. Также там другие настройки, касающиеся безопасности (они представлены в списке ниже).  Если таких значений в этом файле нет, или же имеются только установленные по умолчанию, вам необходимо, соответственно, добавить или изменить их:

  • Ключи безопасности: начиная с версии 2.7, в WordPress есть четыре ключа безопасности, которые должны быть правильно установлены. WordPress спасает вас от необходимости выдумывать эти строки самому, автоматически генерируя правильные ключи с точки зрения безопасности. Вам просто нужно вставить ключи в соответствующие строки файла wp-config.php. Эти ключи являются обязательными для обеспечения безопасности вашего блога.
  • Префикс таблицы заново установленного WordPress блога не должен быть стандартным "wp_" Чем больее сложным будет значение префикса, тем менее вероятна возможность несанкционированного доступа к таблицам вашей MySQL базы данных. Плохо: $table_prefix = 'wp_';. Намного лучше: $table_prefix = 'wp4FZ52Y_'; Не стоит бояться забыть это значение - вам необходимо ввести его только один раз, больше оно вам не понадобится.
  • Если у вас на сервере доступно SSL шифрование, рекомендуется включить его для защиты административной зоны. Это можно сделать, добавив следующую команду в файл wp-config.php: define('FORCE_SSL_ADMIN', true);

Также вы можете регулировать другие системные настройки в конфигурационном файле. Четкий и исчерпывающий список доступных настроек доступен на странице Кодекса

wordpress_authentication_unique_keys
Не пренебрегайте установкой правильных ключей безопасности!

3. Переместите файл wp-config.php

Также начиная с версии 2.6, WordPress позволяет перемещать файл wp-config.php на высший уровень. По причине того, что этот файл содержит в себе намного более важную информацию, чем какой либо другой, и потому что всегда намного сложнее получить доступ к корневой папке сервера, имеет смысл хранить его не в той же директории, где и остальные файлы. WordPress автоматически обратится к высшей папке в поиске файла wp-config.php. Любые попытки пользователей самим настроить путь бесполезны.

4. Защитите файл wp-config.php

Не все ISP серверы позволят вам передавать данные на более высокие уровни, чем корневая директория. Другими словами, не у всех хватит прав для осуществления предыдущего шага. Или по другим причинам: например, если у вас несколько блогов, при определенной структуре папок у вас не получится положить в корень все файлы, так как их имена будут совпадать для каждого из блогов. В этом случае мы можем запретить доступ к файлу wp-config.php извне при помощи файла .htaccess. Вот код для этого:

# protect wpconfig.php
<pre><files wp-config.php>
Order deny,allow
deny from all</pre>
</files>

Очень важно убедиться, что файл .htaccess находится в той же директории что и файл wp-config.php.

5. Удалите учетную запись администратора.

Во время процесса установки WordPress создает учетную запись администратора с ником "admin" по умолчанию. С одной стороны это вполне логично, с другой - пользователь с известным ником, т.е. ID - 1, обладающий административными правами, является вполне предсказуемой мишенью для хакеров с их программами подбора паролей. Отсюда следует наш совет:

  • Создайте еще одного пользователя с административными правами и вашим ником.
  • Завершите сеанс работы.
  • Залогиньтесь под новым аккаунтом.
  • Удалите учетную запись "admin".

Если у вас не новый блог и под учетной записью admin вы уже публиковали посты или комментарии, то из предложенных вариантов в момент удаления, выберите пункт "Связать все записи и ссылки с:" и выберите имя нового пользователя:

wordpress_delete_user

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

6. Выберите сильный пароль.

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

Чаще всего именно пароли являются самым слабым звеном в этой цепи. Почему? Способы выбора пароля у большинства пользователей зачастую необдуманны и беспечны. Многие проведенные исследования показали, что большинство паролей - односложные существующие слова, набранные строчными буквами, которые не сложно подобрать. В программах подбора паролей существуют даже списки самых часто используемых паролей.

В WordPress реализован интуитивно понятный индикатор стойкости набираемого пароля, который показывает цветом его уровень сложности:

wordpress_passwort_staerke

Мы рекомендуем использовать как минимум семь символов, комбинировать строчные и прописные и использовать служебные символы такие как ! " ? $ % ^ & ( ).

7. Защитите папку "wp-admin".

Следуя пословице "две головы лучше одной", существует способ вдвое усилить защиту административной зоны. Защита регулируется файлом .htaccess, который должен находится в папке "wp-admin" вместе с файлом .htpasswd, который хранит логин и пароль пользователя. После обращения к папке, вам нужно будет ввести логин и пароль, но разница в том, что в этом случае авторизация контролируется на стороне сервера, а не силами самого WordPress.

Для того чтобы просто и быстро сгенерировать файлы .htaccess и .htpasswd, воспользуйтесь этим сервисом.

8. Запретите отображение ошибок на странице авторизации.

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

Несложно догадаться, как быстро сокращается вероятность подбора комбинации логина/пароля, когда система указывает что именно введено неверно. Простая строка кода, поможет решить эту проблему, достаточно добавить её в файл functions.php вашей темы:

add_filter('login_errors',create_function('$a', &quot;return null;&quot;));

wordpress_login_screen
Изначальный/измененный вид страницы авторизации.

9. Ограничьте количество неудачных попыток авторизации.

WordPress не ведет статистику авторизаций, как удачных, так и нет. Это очень неудобно для администратора, так как у него нет возможности увидеть были ли попытки несанкционированного доступа, чтобы принять какие-либо меры, если они участятся. Предлагаем два решения: плагины Login LockDown и Limit Login Attempts. После установки они не только ведут лог авторизаций, но также ограничивают количество неудавшихся попыток авторизации, блокируя на определенное время IP пытающегося.

wordpress_login_lockdown

10. Поддерживайте актуальные версии.

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

wordpress_plugin_verwaltung

Запомните: меньше значит лучше, когда это касается любых надстроек и аддонов. Как администратор, вы должны удостовериться, что у вас установлены и активны, только те плагины, которые действительно вам нужны. Каждый плагин - это потенциальный риск и угроза безопасности, так как все они разрабатываются посторонними разработчиками.

А вы?

Как вы защищаете свой блог от взлома? Что используете для этого?

Перевод статьи "10 Steps To Protect The Admin Area In WordPress".

25 комментариев

  1. Miha пишет:

    Не смог запостить на хабре.

    Спасибо. Очень полезная статья.

  2. Kichrum пишет:

    Спасибо! Сейчас же воспользуюсь советами! Особенно понравился первый пункт про несколько блогов на одном сайте. Как-то не догадывался о такой возможности раньше :)

  3. этоя пишет:

    привет, в пункте 8, куда вставлять, после какой строки (примерно)

  4. wp-admin пишет:

    этоя, в конец файла functions.php

  5. Plate пишет:

    По поводу запрета отображения ошибок на странице авторизации -
    после добавления указанного вами кода сайт перестает работать, выдавая:
    Parse error: syntax error, unexpected ‘;’, expecting T_PAAMAYIM_NEKUDOTAYIM in /home/site/domains/site1/../../functions.php on line 25

  6. stawsejurse пишет:

    спасибо за статью… добавил в ридер

  7. Jictiorgo пишет:

    Читаю уже не первую неделю Ваш блог, узнаю много интересного. Спасибо Вам за Ваш труд!

  8. Jictiorgo пишет:

    Добавил в закладки. Теперь буду почаще читать!

  9. Solo пишет:

    Скажите, а в какое место (после каких строк) вставлять в wp-config.php ключи безопасности?

  10. Solo пишет:

    Упс, разобрался! Прошу прощения… Я-то юзал WP 2.3.3 а там такого нема ;-)

  11. Wolpix пишет:

    После выполнения п.8 в админке меняется кодировка, везде в самом верху странице показывает кусок кода, а если его стереть, то сайт перестаёт работать, выдавая ошибку.
    “Вылечил” заменой отредактированного файла functions.php заранее сохранённым.

  12. Ivan пишет:

    Если ВП перенести в другой каталог, и если при этом есть ссылки на вход и регистрацию на сайте, то видно путь к блогу.

  13. Денис пишет:

    Третье преимущество напрямую касается безопасности: административная зона (и весь блог в целом) больше не находится в корневой папке и для проведения каких-либо действий по взлому сначала ее нужно будет найти. Это проблемно для людей, но что касается ботов – вопрос времени.

    Никакого преимущества в безопасности. Адрес каталога известен. Достаточно просмотреть код страницы.

  14. Флетчер пишет:

    После распаковки архива с файлами WordPress, вы увидите папку “WordPress” – переименуйте папку (в идеале во что-то непонятное вроде “wordpress_live_Ts6K”) и после этого настройте соответственным образом файл wp-config.php, который находится в корневой директории.

    А что именно надо поменять в файле wp-config.php ?

    • Vanilla Man пишет:

      Флетчер, добавить строку define( ‘WP_CONTENT_DIR’, $_SERVER['DOCUMENT_ROOT'] . ‘/blog/wp-content’ ); и изменить на свой путь. Или строку define( ‘WP_CONTENT_URL’, ‘http://example.com/blog/wp-content‘); .

    • Николай пишет:

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

  15. Безопасность ядра WordPress: простые приемы » Применение WordPress пишет:

    [...] материалам статей http://www.wpbot.ru/?p=1161 http://wp-config.ru/quick-tips/10-shagov-dlya-zashhity-wordpress/ [...]

  16. Diego пишет:

    1. Спасибо за полезный ресурс с полезными советами!!
    2. Можно ли выполнить 1й пункт, если WP уже установлен, если да – где можно поменять настройки?
    3. В 3м пункте есть опечатка в конце абзаца – “WortdPress” вместо “WordPress”

    • Vanilla Man пишет:

      1. Спасибо вам, заходите еще.
      2. Можно в файле wp-config.php с помощью строки
      define( ‘WP_CONTENT_DIR’, $_SERVER['DOCUMENT_ROOT'] . ‘/blog/wp-content‘ );
      3. Спасибо, поправил.

  17. Артем пишет:

    1 Спасибо, классный сайт!
    2. Скажите новичку, как поменять префиксы?

  18. Filmaki пишет:

    Спасибо , пригодится)

  19. eldar пишет:

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

  20. Rusoperu.wordpress пишет:

    Обор по странам – чем они отличаются, как отличается жизнь для иностранца по станам Латинской Америки, лгальые основания для въезда и проживнания в странах Латинской Америки. Стоимость жизни, медицинского обслуживания (страховки), уровень жизни, престпность, недвижимость – покупка и аренда и отвты на ваши личные вопросы.

  21. Игорь пишет:

    проставил Limit Login Attempts – как получилось, что попал сам? Со своего компа не могу получить доступ – стоит картинка, что ждать 28 дней 5 часов 46 минут.

  22. tars пишет:

    и не забываем пользоваться кучей плагинов!!!

Ваш комментарий

Этот домен продается здесь: telderi.ru, и еще много других