кнопка наверх

Защита WordPress от спама и взлома

защита 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ообщение об ошибке на странице войти

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

sovet1

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

Чтобы удалить сообщение об ошибочном вводе логина-пароля, откройте файл 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 звезда2 звезды3 звезды4 звезды5 звезд (5 оценок, среднее: 4,00 из 5)
Загрузка...
like
Понравилось?
Подпишитесь на блог и получайте новые статьи!
Добавляйтесь в соц. сетях:
  1. Aleks:

    Полезные фишки, пойду пробовать.

    Спасибо и удачи!

    Ответить
  2. Александр:

    Как раз вовремя!

    Искал как защитить свой сайт.А есть еще какие-нибудь фишки по защите или это все?

    Ответить
    • Анна:

      Фишек еще много, когда-нибудь напишу про другие.

      Ответить
  3. Елена:

    Я как всегда с вопросами:

    1. Как можно изменить username на другой?

    2. У меня нет файла Htaccess, блог сразу делала на хостинге. Как быть в такой ситуации?

    Ответить
  4. Евгений Комиссаров:

    как раз использую плагин Login LockDown, отличный плагин!

    Ответить
  5. Александр:

    Сделал два шага:

    Совет 2: ЗащититьWP-config.php

    Совет 3: Создать плагин, который защитить ваш блог от вредоносных запросов в URI

    Реакция на совет 2- ошибка 500.Удалил «допись» в файле-Htaccess,стало нормально,но тему сайта повело как от зубной боли и в админке и на сайте в верхнем левом углу появились цифры.

    Ладно,удалил плагин blockbadqueries.php-все стало хорошо!

    Ответить
  6. Александр:

    Да,кстати!Хорошо,что напомнил.Замечательный плагин!

    Ответить
  7. Елена:

    А если сам вдруг неправильно введешь три раза, то сколько времени «будет длиться перекур»?

    Ответить
  8. Евгений Комиссаров:

    вот а еще нужно в файле 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, 🙂

    Ответить
    • Анна:

      Спасибо, совсем забыла написать про уникальные ключи, это очень важно для защиты.

      Ответить
  9. Евгений Комиссаров:

    Ну там можно выставить время от минуты и до нескольких дней...) так сказать все можно настроить.

    Ответить
  10. Елена:

    Евгений, спасибо за ответ.

    Ответить
  11. Настя:

    Блог pro-wordpress.ru С Рождеством !=)

    Merry Christmas and a Happy New Year!

    Ответить
  12. Елена Мамонтова:

    Здравствуйте. А этот метод с добавлением add_filter ('login_errors',create_function ('$a', «return null;»)); еще работает? ДОбавила в самом конце файла Functions.php эту строчку, сохраняю и у меня полностью пропадает сайт. Т.е. открывается белая страница без ничего.

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

    Я не туда вставляю (поместила в самом самом низу) или этот метод устарел?

    Ответить
Ваш комментарий: