Блоґ

Масова атака на сайти WordPress

Шановні клієнти, по всьому світі сайти на платформі WordPress були атаковані зловмисниками.
Подібна активність помічена багатьма хостинг-провайдерами.
Використовуючи тисячі IP-адрес та підбираючи паролі, невідомі намагаються отримати доступ до панелі керування сайтом.

Аби захистити ваш сайт від підбору паролів, пропонуємо вам наступний спосіб захисту (додаткові логін та пароль для захисту панелі керування):

Зайдіть на сайт http://www.htaccesstools.com/htpasswd-generator/, в поле Username введіть бажаний логін і в поле Password бажаний пароль (використовуйте складні логін та пароль).
Натисніть кнопку “Create .htpasswd file” – отримаєте приблизно такий результат у вигляді рядку тексту:

username:$apr1$m86F7Gyo$TFs0kOCmN51Ntx/pozo1h1

Створіть через менеджер файлів у хостинг-панелі або через ftp у директорії /www текстовий файл з іменем .htpasswd і додайте отриманий рядок у нього.
Потім знайдіть в директорію з вашим сайтом (потрібно повторити для усіх сайтів з WordPress) файл .htaccess (якщо не існує – створити) і додати наступні рядки в кінці:


AuthType Basic 
AuthName "ADMIN ONLY!"
AuthUserFile /var/www/ВАШ_ЛОГІН_В_Хостинг_Панелі/data/www/.htpasswd
Require Valid-user

Потім зайти у директорію wp-admin і по аналогії додати у файл .htaccess рядки:

AuthType Basic
AuthName "ADMIN ONLY!"
AuthUserFile /var/www/ВАШ_ЛОГІН_В_Хостинг_Панелі/data/www/.htpasswd
Require Valid-user

Слова ВАШ_ЛОГІН_В_Хостинг_Панелі потрібно замінити на Ваш Логін в Хостинг-Панелі
Тепер вхід у панель-керування додатково захищений.

Посилання по темі:
http://habrahabr.ru/post/188932/
http://neron.16mb.com/index.php?option=com_content&view=article&id=122%3A-wordpress-&catid=32%3A2013-07-20-17-10-49&Itemid=41&lang=ru
http://support.hostgator.com/articles/specialized-help/technical/wordpress/wordpress-login-brute-force-attack

  1. Дякую за інформацію..
    А не достатно плагина типо: “Simple Login Lockdown” або ” Better WP Security.” ?!?

    1. Ваш метод не дасть взламати сайт (скоріше за все), але не відкине спроби це зробити, тим самим створюючи велике навантаження на сервер і на ваш сайт зокрема. При такому варіанті сайт не зламають, але можуть завадити його нормальній роботі.
      В нашому методі ботам/зловмисникам навіть не буде дозволено спробувати підбирати паролі – що значно менше створить навантаження і сайт має працювати

  2. Додатково можна також захиститись від ботів, прописавши в .htaccess в корені сайту ще такі строки:

    # Stop spam attack logins and comments
    
    	RewriteEngine On
    	RewriteCond %{REQUEST_METHOD} POST
    	RewriteCond %{REQUEST_URI} .(wp-comments-post|wp-login).php*
    	RewriteCond %{HTTP_REFERER} !.*example.com.* [OR]
    	RewriteCond %{HTTP_USER_AGENT} ^$
    	RewriteRule (.*) http://%{REMOTE_ADDR}/$ [R=301,L]
    
    

    Що не дозволить спробувати авторизуватись тим, хто навіть не зайшов на сторінку з формою авторизації.
    example.com – слід замінити на свій домен

  3. Дякую, зробив обидва варіанти.
    Можливо є щє стандартні кроки стосовно безпеки, такого плану?

  4. Я так розумію, що в директорії wp-admin треба теж створити свій файл .htaccess і в ньому прописати запропонований код? І ще додаткове питання. Після оновлення версії WP знову доведеться сворювати файл в директорії wp-admin, чи він збережеться?

  5. Олег, все вірно. Пропонується створити/відредагувати два файли – один в корені сайту, інший в директорії wp-admin.
    Оновлення не повинне видалити ці файли, оскільки їх не має в стандартному наборі файлів дистрибутиву.

  6. Мій хостер ще запропонував рішення із зміною файлу wp-login.php та general-template.php, цитую:

    2) Второй способ заключается в том, чтобы переименовать файл wp-login.php

    1. Оригинальный wp-login.php переименовуем в любое другое название, хоть в «4xqtbgkqs60.php».

    2. Затем заменим все слова wp-login.php на новое имя, в нашем случае на 4xqtbgkqs60.php, в файле 4xqtbgkqs60.php (старый wp-login.php) и в файле wp-includes/general-template.php.

    3. Заключительным шагом станет полное ограничение доступа к файлу wp-login.php в .htaccess:

    Order Deny,Allow
    Deny from all

    Закрывать доступ к несуществующему уже файл wp-login.php нужно потому, что злоумышленники все равно будут его запрашивать, а движек будет выдавать страничку 404 (файл не существует), что также создает большую нагрузку на сайт.

    4. Обратите внимание, если Вы создаете конструкцию deny from all, убедитесь в том есть ли у Вас файл 403.shtml в корне вашего сайта, если нету, тогда создайте. Иначе запросы ошибки 403 будет перехватывать wordpress и в таком случае нагрузка на сайт не уменьшится.

    1. Основна проблема в цьому способі – все поламається при оновленні


Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *