Защита WordPress от спама и взлома
Всем привет. Пришло время поговорить о защите сайта на WordPress от взлома, спама и прочих неприятностей. Тема довольно объемная, поэтому я разделю ее на две статьи. Сегодня я дам общие советы по защите блога, а во второй части расскажу об обеспечении безопасности WordPress с помощью плагинов.
Сразу после того, как вы установили и настроили свой Wordpress блог, необходимо позаботиться о его защите. Защищаться мы будем от злоумышленников, которые хотят нанести вред вашему ресурсу и от спамеров. Если вас интересует, как защитить статьи блога от воровства, читайте соответствующую статью.
Перейдем к рассмотрению некоторых хитростей, которые помогут защитить админку WordPress.
Зачем защищать блог на WordPress
Самая распространенная проблема безопасности простых информационных сайтов заключается в следующем: злоумышленник получает доступ к вашему сайту и внедряет в него свой вирусный код, который рассылает спам. Получить доступ он может разными способами и это могут быть разные доступы (админка, ftp). Как правило такие действия осуществляются автоматически с помощью специально написанных программ. Найти потом этот код среди множества файлов движка бывает очень трудно, поэтому стоит подумать о безопасности заранее.
Конечно, могут быть и другие угрозы, например, ваш конкурент захотел взломать ваш блог и нанести ему вред. Такое случается гораздо реже, но в данной статье мы рассмотрим максимальное количество методов, которые позволят защитить сайт на WordPress от любых видов угроз.
Общие рекомендации по защите WordPress от спама и взлома
- По-умолчанию логин администратора WordPress — «admin». Обязательно смените его на свой!
- Не храните пароли на своем компьютере в не зашифрованном виде
- Не сохраняйте пароли в ftp-клиентах, от туда их сможет взять любой вирус
- Используйте сложные пароли, пароли типа qwerty, 123, дата рождения и т.д. легко подобрать. А так же меняйте пароли.
- Вовремя обновляйте WordPress, с выходом обновлений исправляются найденные уязвимости системы.
- Делайте и храните на компьютере резервные копии баз данных и бэкапы всех файлов блога, чтобы случае чего, вы могли их восстановить
А теперь перейдем к непосредственным действиям по защите WordPress.
Защита админки WordPress
1. Изменить адрес админки WordPress и ограничить количество попыток ввода
Всем известно, что адрес админки WordPress — ваш_сайт/wp-admin/. И злоумышленнику это тоже известно, поэтому лучше заменить адрес на свой. Это можно сделать и вручную, но довольно трудозатратно, поэтому рассмотрим плагин Lockdown WP Admin. Установка стандартная, после активации плагина «Параметры ->Loginlockdown», в настройках введите свой адрес в поле “WordPress Login URL”. Все элементарно!
Так же плагин Lockdown WP Admin блокирует доступ в админку для данного IP-адреса, если пара логин-пароль введена неправильно Х раз подряд. Количество попыток Х и время блокировки можно задать в настройках плагина.
2. Удалить cообщение об ошибке на странице войти
При вводе неправильного пароля или неверного имя пользователя, вы получите сообщение об ошибке на странице авторизации.
Это полезно, если вы забыли свой пароль. Но это так же может помочь злоумышленнику взломать ваш блог. Например, увидев данное сообщение, хакер поймет, что данный логин подходит.
Чтобы удалить сообщение об ошибочном вводе логина-пароля, откройте файл Functions.php расположений в папке с шаблоном WordPress и вставьте код:
1 | add_filter('login_errors',create_function('$a', "return null;")); |
Сохраните и проверьте.
3. Защитить файл WP-config.php в .htaccess
Это файл содержит всю информацию, необходимую для доступа к базе данных блога: имя пользователя, пароль, имя сервера и так далее. Поэтому защита файла WP-config.php очень важна. Читайте статью о том, какие необходимо выставить права доступа к файлу WP-config.php.
Откройте файл .htaccess, который находится в корневом каталоге вашего блога. Добавьте в него следующие строки:
1 2 3 4 5 6 | # to protect wp-config.php <Files wp-login.php> Order Deny,Allow Deny from all </Files> |
Файл .htaccess поможет предотвратить нежелательный доступ к вашим файлам. Данный код является правилом, которое запрещает доступ к WP-admin.php файлу.
4. Скрыть версию WordPress
Если вы не успели обновиться до последней версии, то злоумышленник может увидеть это в исходном коде любой страницы и воспользоваться уязвимостями данной версии. Поэтому лучше убрать вывод версии. Для этого откройте файл functions.php, находящийся в теме вашего блога. И добавьте в него код:
remove_action('wp_head', 'wp_generator'); |
5. Забаньте злоумышленника или бота по IP
Если какой-то бот заспамил комментарии на блоге, его можно забанить по IP. Сделать это просто, добавьте в файл .htaccess следующий код:
1 2 3 4 5 | <Limit GET POST PUT> order allow,deny allow from all deny from 54.234.432 </Limit> |
Не забудьте заменить IP-адрес из примера на адрес вашего спамера.
6. Запретите просмотр папок на сервере
Некоторые не самые лучшие хостинг-провайдеры дают возможность просматривать папки на сервере. Например, вы переходите по адресу https://pro-wordpress.ru/wp-content и видите список файлов папки. Нужно это запретить путем добавления в файл .htaccess следующего кода:
Options All -Indexes |
У вас есть свои советы?
Если у вас есть свои советы по защите движка WordPress от спама и взлома, поделитесь ими в комментариях!
P.S. Читайте вторую частью статьи безопасность сайта на WordPress.
Полезные фишки, пойду пробовать.
Спасибо и удачи!
Пожалуйста, заходи ещё!
Как раз вовремя!
Искал как защитить свой сайт.А есть еще какие-нибудь фишки по защите или это все?
Фишек еще много, когда-нибудь напишу про другие.
Я как всегда с вопросами:
1. Как можно изменить username на другой?
2. У меня нет файла Htaccess, блог сразу делала на хостинге. Как быть в такой ситуации?
как раз использую плагин Login LockDown, отличный плагин!
Сделал два шага:
Совет 2: ЗащититьWP-config.php
Совет 3: Создать плагин, который защитить ваш блог от вредоносных запросов в URI
Реакция на совет 2- ошибка 500.Удалил «допись» в файле-Htaccess,стало нормально,но тему сайта повело как от зубной боли и в админке и на сайте в верхнем левом углу появились цифры.
Ладно,удалил плагин blockbadqueries.php-все стало хорошо!
Да,кстати!Хорошо,что напомнил.Замечательный плагин!
А если сам вдруг неправильно введешь три раза, то сколько времени «будет длиться перекур»?
вот а еще нужно в файле wp-config сгенирировать уникальные ключи... там есть специальные строчки куда их нужно вписывать...
вот:
define ('AUTH_KEY', 'впишите сюда уникальную фразу');
define ('SECURE_AUTH_KEY', 'впишите сюда уникальную фразу');
define ('LOGGED_IN_KEY', 'впишите сюда уникальную фразу');
define ('NONCE_KEY', 'впишите сюда уникальную фразу');
define ('AUTH_SALT', 'впишите сюда уникальную фразу');
define ('SECURE_AUTH_SALT', 'впишите сюда уникальную фразу');
define ('LOGGED_IN_SALT', 'впишите сюда уникальную фразу');
define ('NONCE_SALT', 'впишите сюда уникальную фразу');
замисть уникальной фразы нужно что то вот такого типа...: 23l;j23ui223@##@%2topjo234yg390;l4k34#^4#%754uy,l4m, 🙂
Спасибо, совсем забыла написать про уникальные ключи, это очень важно для защиты.
Ну там можно выставить время от минуты и до нескольких дней...) так сказать все можно настроить.
Евгений, спасибо за ответ.
Блог pro-wordpress.ru С Рождеством !=)
Merry Christmas and a Happy New Year!
Здравствуйте. А этот метод с добавлением add_filter ('login_errors',create_function ('$a', «return null;»)); еще работает? ДОбавила в самом конце файла Functions.php эту строчку, сохраняю и у меня полностью пропадает сайт. Т.е. открывается белая страница без ничего.
Помогает только удаление этой строчки через файлзиллу, потом все опять нормально.
Я не туда вставляю (поместила в самом самом низу) или этот метод устарел?