Мой неуязвимый WordPress.

Несмотря на то, что WordPress очень хорошо защищен, всегда остаются уязвимости. Разработчики WordPress весьма оперативно закрывают найденые дыры, но не стоит раслабляться! Сейчас я расскажу как можно и нужно увеличить защиту своего блога. Предупреждаю сразу: неуверен - не берись icon smile Мой неуязвимый WordPress. Сделайте бэкап БД и всех записей (вообще всего что изменяете) перед тем как начать.

  1. Во время установки обязательно генерируйте сложные пароли к MySQL состоящие из букв, цифр и различных знаков. Также генерируйте значения для строк AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY. Генератор можно найти здесь.
  2. Обязательно меняйте префикс таблиц WordPress в базе данных. Менять его нужно во время установки!
  3. У каждой версии WordPress есть свои уязвимости и знание установленной версии сильно облегчит жизнь злоумышленнику. Чтобы версия движка не отображалась в коде, необходимо зайти в редактор шаблона, открыть header.php и удалить следующую строчку: <meta name=”generator” content=”WordPress <?php bloginfo(’version’); ?>” />
  4. Версию WordPress можно также узнать из файлов readme.html и license.txt - просто удалите их.
  5. Чтобы никто не рыскал по серверу откройте редактором дизайна файл search.php и строчку <?php echo $_SERVER ['PHP_SELF']; ?> замените на <?php bloginfo ('home'); ?>. Если ее нет - все нормально.
  6. Не используйте TotalComander для соединения по FTP - через него очень просто украсть пароли. Также можно использовать соединение по SSH. Для этого понадобится  специальная прога.
  7. Запретите индексацию системных папок через robots.txt. Об этом можно почитать в моей статье "Robots.txt для WordPress."
  8. По умолчанию WordPress создает акк admin. Изменить имя уже нельзя, но если очень хочется...Дело в том, что если не менять имя, то злоумышленнику нужно подобрать только пароль. Чтобы изменить имя нужен опыт работы с phpMyadmin и внесении изменений в MySQL. Если не уверены - не беритесь. Ну или попросите кого-нибудь. Также напоминаю про бэкап БД. Зайдите в phpMyadmin и перейдите к БД WordPress. Затем найдите таблицу users и строку user_login. Замените имя admin на любое другое.
  9. Используйте сложные пароли для вашего аккаунта. Для генерации и хранения можно использовать Ai Roboform. Также рекомендую менять пароль каждый месяц.
  10. Закройте директорию /wp-admin паролем. В этом поможет плагин AskApache. После установки зайдите в Настройки -> AAPassPro и введите имя пользователя и пароль. Опция «Protect Admin Folder Immediately?» должна быть при этом включена.
  11. Если у вас статический ip, то можно ограничить доступ по ip-адресу. Для этого также понадобится плагин AskApache. Как альтернативу можно использовать плагин Login Lockdown, который блокирует доступ по ip после заданного вами числа неудачных попыток.
  12. Если на вашем блоге есть картинки, то не позволяйте ими пользоваться другим. Часто вместо того, чтобы скопировать картинку и разместить ее у себя просто ставят ссылку на источник картинки. Это нагружает сервер и расходует ваш трафик. Защитить себя можно установкой плагина WordPress Hotlink protection.
  13. Закройте  список плагинов. Для этого нужно создать пустой index.php и закинуть его в http://*ваш домен*/wp-content/plugins/
  14. Защитите файл wp-config.php. Все что нужно -добавить строчку <FilesMatch ^wp-config.php$>deny from all</FilesMatch> в корневой файл .htaccess
  15. Регулярно обновляйте WordPress и плагины. Возможно в новой версии пофиксили какой-нибудь баг или уязвимость.
  16. Деактивируйте плагины, которые вы не используете. Они могу содержать уязвимости.
  17. Запретите регистрацию пользователей. В WordPress одна админ панель для всех, только с разным набором функций (взависимости от уровня прав), чем и пользуются злоумышленники.
  18. Установите плагины: Anti-XSS attack - предупреждение и защита от XSS-атак блога и Belavir - показывает в админке измененные файлы.
  19. Регулярно делайте бэкап базы данных. Для этого установите плагин WordPress Database Backup и настройте автоматическую отправку на почту.

fish6 Мой неуязвимый WordPress.

Проголосовать на:


Поделиться постом
15 комментариев на “Мой неуязвимый WordPress.”
  1. Ян пишет:

    Видно у кого-то фобия взлома своего блога.

  2. Yapi пишет:

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

  3. Xager пишет:

    Интересно пишешь. Насохранял страниц, на досуге перечитаю. Пеши есчо ).

    • admin пишет:

      Рад что понравилось:) Только лучше не писать в каментах “Пеши есчо”, а то если бы не знал тебя удалил в спам))

  4. pix8700 пишет:

    Хороший пост, для защиты своего сайта еще и не такое сделаешь) Подписался на рсс

  5. Суперпост!!! +1 как говориться. Сам недавно предстал перед проблемой безопасности Вордпресс.

  6. Вернон Коди пишет:

    Вставлю и я свои пять копеек :) )

    1, 2, 3, 7, 14, 15, 16 — делал всегда по умолчанию;
    4 — у себя нигде не нашел;
    5 — ТоталКоммандер на мой взгляд говно. Никогда им и не пользовался. Вместо него ФАР + WinSCP (и десктопная версия, и плагин);
    6 — сделал;
    8 — тоже по умолчанию, только AiRoboform меня как то стороной обошел. У меня просто есть .ods файл с паролями, который лежит на криптоконтейнере;
    9 — не понравилось;
    10 — а вот логин локдаун поставил, прикольная штука;
    11 — на вордпрессе 2.7.1 не заработал;
    12 — закрыть от чего? он у меня и так 403 ошибку отдает;
    13 — отваливается сразу в 500 Internal Server Error;
    17 — на версии 2.7.1 работает?
    18 — у меня это не так, мне удобнее по старинке, ручками :) дамп базы + .tar.bz2 все файлы системные :)

    А вообще молодец! Хороший список. Тем кто говорит, что это паранойя, я бы посоветовал подумать о тех усилиях которые придется приложить, чтобы потом все восстановить. А если там не один сайт а двадцать?! + ценная инфа которая утечет…

    Автору респект :)

    • admin пишет:

      12 – это для старых версий
      13 – думаю достаточно поставить права только на чтение
      18 – а зря. Очень удобно.

  7. Freebies пишет:

    Thanks за обстоятельный обзор. Некоторые из рекомендаций применил на практике.

  8. love-story пишет:

    Хороший список!
    Еще я бы посоветовал проверять темы при установке на наличие всякой дряни закодированной и iframe …
    На критические файлы, которые редко меняешь еще можно параноидально посоветовать поставить атрибуты 444, чтобы только сервер их читал…

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

  9. HardCorE пишет:

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

  10. Leonid пишет:

    Many thanks!!!

Написать ответ