Несмотря на то, что WordPress очень хорошо защищен, всегда остаются уязвимости. Разработчики WordPress весьма оперативно закрывают найденные дыры, но не стоит расслабляться! В этой статье Вы узнаете как можно и нужно увеличить защиту своего блога. Перед тем как начать обязательно сделайте бэкап базы и всех файлов.
1. Во время установки обязательно генерируйте сложные пароли к MySQL состоящие из букв, цифр и различных знаков. После установки не изменяйте пароль для входа в админку сгенерированный WordPress'ом на свой - более легкий. Также генерируйте значения для строк AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY. Генератор можно найти здесь.
2. Обязательно меняйте префикс таблиц WordPress в базе данных (вместо wp_ ставьте например первые две буквы Вашего домена). Менять его нужно во время установки!
3. У каждой версии WordPress есть свои уязвимости и знание установленной версии сильно облегчит жизнь злоумышленнику. Чтобы версия движка не отображалась в коде, необходимо зайти в редактор шаблона, открыть header.php и удалить следующую строчку: <meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />. Также добавьте строку <?php remove_action('wp_head', 'wp_generator'); ?> в файл functions.php в Вашей теме.
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 и перейдите к БД Вашего сайта. Затем найдите таблицу 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/ или вписать в начало файла .htaccess следующую строку: Options All -Indexes
14. Защитите файл wp-config.php. Все что нужно это добавить строчку deny from all в корневой файл .htaccess
15. Регулярно обновляйте WordPress и плагины. Возможно в новой версии пофиксили какой-нибудь баг или уязвимость.
16. Деактивируйте плагины, которые вы не используете. Они могу содержать уязвимости.
17. Запретите регистрацию пользователей. В WordPress одна админ панель для всех, только с разным набором функций (взависимости от уровня прав), чем и пользуются злоумышленники.
18. Установите плагины: Anti-XSS attack - предупреждение и защита от XSS-атак блога и Belavir - показывает в админке измененные файлы.
19. Регулярно делайте бэкап базы данных. Для этого установите плагин WordPress Database Backup и настройте автоматическую отправку на почту.
Источник: seo-bomj.ru
Поправь пункт 5, там кажется чего-то не хватает.
Пункт 7 - совершенно бесполезен.
Я думаю пункт 14 нужно объяснить многим несколько подробнее.
Хорошая подборка, сам несколько вещей бы в свою добавил.
По поводу пункта 8 - можно поступить намного проще. Зайти в админку, в профиле создать нового пользователя с правами администратора и логином отличным от admin. Далее разлогиниться, и войти под новым пользователем. Снова зайти в раздел "профиль" и удалить пользователя admin. Все записи при этом сопоставить новому пользователю.
Плагин Anti-XSS attack не дает заливать картинки через админку. Можно этого как-то избежать? М есть ли плагин, который не позволяет скопировать текст со страницы?
Пишет "Achtung! XSS attack!" когда пытаюсь залить картинку с компьютера.
Спасибо за советы))
Пункт 14. можно изложить следующим образом. В корневой файл .htaccess внести дополнительные строчки:
order allow,deny
deny from all
Только что себе сделал и проверил. Работает на ура.
Deimos, заработал)) Спасибо)) У меня версия плагина от другого локализатора была.
>>>По поводу пункта 8 - можно поступить намного проще. Зайти в админку, в профиле создать нового пользователя с правами администратора и логином отличным от admin. Далее разлогиниться, и войти под новым пользователем. Снова зайти в раздел "профиль" и удалить пользователя admin. Все записи при этом сопоставить новому пользователю.
***
Это верный способ? Или все-таки лучше воспользоваться инструкцией пункта 8?
все же хотелось бы узнать точно по поводу изменения имени пользователя admin.
Просто у меня временные проблемы с хостингом и доступом к нему. Сейчас все работает, но если что-то нужно будет менять в базах данных, то опа... 🙁
Не хотелось бы рисковать.
Заранее спасибо за уточнение.
а вообще пост ОЧЕНЬ полезный и информативный! Спасибо автору!
И еще вопросик: winscp - только через ssh доступ поддерживает?
Привет,вопрос не по теме, но всё таки напишу, подскажите пожалуйста администратор этого сайта, каким образом Вы настроили облако меток? Дело в том что оно у Вас не двигается а просто стоят метки, у меня не анологично этому, у меня они крутяттся хотелось бы как у Вас. Поделитесь настройками?
Дмитрий, спасибо за исправления 😉 5 пункт поправил, 7 может пригодится, чтобы например в папке ulpoad не оказалось ничего лишнего.... По 14-ому по подробнее сейчас попробую написать!