Как снизить нагрузку на сервер, потратив пару минут?

В этом месяце неожиданно нарисовалась очередная проблема с сайтом. Совсем недавно у меня скопировали сайт, а сейчас увеличилась нагрузка на сервер хостинга TimeWeb. Норма нагрузки была превышена в 10 раз.

Нагрузка на сервер - что делать? Способы защиты админки WordPress от подбора пароля и взлома

Такой поворот событий для меня не был неожиданностью и возможную причину знал заранее. После запроса логов у хостера догадки подтвердились. Ко всем сайтам на аккаунте подбирались пароли к админке WordPress.

Вход в админку у меня был стандартный и дополнительно не был защищен. Подход банальный, если ничего не случилось, зачем что-то делать? Подход резко изменился, когда хостинг ТаймВеб за нестабильную работу сервера вынужден (он бы не прочь, но я его вынуждаю ;)) приостановить обслуживание моего аккаунта.

[stextbox id=”info”]Брутфорс – это и есть подбор пароля и логина путем перебора множества вариантов. В результате таких манипуляций растет количество запросов и увеличивается нагрузка.[/stextbox]

Программ для взлома акканутов сейчас в сети полно и любой школьник по приложенной инструкции без особых проблем может почувствовать себя хакером. Для защиты админки в этом случае достаточно провести несложные действия.

Как уменьшить нагрузку на сервер с WordPress?

Самые вкусные файлы для взломщиков wp-login.php и wp-config.php. Для уменьшения нагрузки на сервер им необходимо уделить особое внимание, а для защиты админки следует присмотреться к следующим способам.

Первый способ. Закрыть полный доступ к wp-login.php для всех IP адресов, кроме вашего. Для защиты достаточно внести изменения в файл .htaccess. То есть доступ к админке будет разрешен только вам, у остальных будет выкидываться ошибка.

Этот очень простой способ для меня не самый удобный. Дело в том, что при подключении к интернету мне дается новый IP и для входа в админку сайта требуется сначала зайти в админку хостинга, внести мой новый IP в .htaccess и только потом перейти на блог.

Второй способ. Спрятать файл wp-login.php. Этот способ оказался для меня идеальным.

1. Переименовываем название файла wp-login.php в, например, 45jkdsf234.php. Искать файл нужно в корне сайта, корректировать либо через админку хостинга либо через ftp-клиента.

[stextbox id=”warning”]Перед внесением изменений обязательно сделайте бэкап файлов сайта.[/stextbox]

2. Заменяем все встречающиеся слова wp-login.php на переименованные, в моем примере на 45jkdsf234.php. Изменения нужно внести в старый файл wp-login.php, который сейчас называется 45jkdsf234.php и в wp-includes/general-template.php.

Теперь вход в админку будет осуществляться не по адресу ваш-сайт/wp-login.php, а по адресу ваш-сайт/45jkdsf234.php.

3. Добавить в .htaccess перед # END WordPress такой код:

<Files wp-login.php>
Order Deny,Allow
Deny from all
</Files>

Внесение этого кода ограничивает полный доступ к уже несуществующему файлу wp-login.php. Это необходимо для того, чтобы при продолжении обращений к этой странице не создавалась на сервер нагрузка.

4. Дополнительно не помешает ограничить доступ к файлу wp-config.php. При настроенном блоге он требуется крайне редко, поэтому его тоже закрываем от всех. В .htaccess добавляем такой код:

<Files wp-config.php>
Order Deny,Allow
Deny from all
</Files>

В результате у меня получился такой .htaccess:

Ограничения доступа к htaccess

Третий способ. Использовать плагин Login LockDown, который предотвращает попытки подбора пароля. Установка плагина банальная, поставил и забыл. По умолчанию имеется 3 попытки войти в админку в течение 5 минут, при неудачных попытках происходит блокировка по IP на 1 час.

Мне очень не хотелось ставить Login LockDown, обычно я подбираю пароль к админке раза с 5-го. Но что сделаешь, придется тренировать память, лучше так, чем постоянные взломы.

Вот так выглядит график нагрузки до и после подбора пароля:

Нагрузка на сервер TimeWeb (ТаймВеб) при подборе пароля

Период взлома отчетливо виден по резким скачкам графика.

Что не помешает сделать вебмастеру для снижения нагрузки WordPress на сервер

По максимуму обезопасить админку позволит следование базовым правилам по соблюдению безопасности:

  • На админку стоит поставить сложный пароль;
  • Поменять логин admin на другое название;
  • В FTP-клиентах не хранить пароли и логины;
  • Регулярно делать back up файлов вордпресс и базы данных mysql. Про создание автоматической резервной копии базы читайте здесь.

Если после проведения всех работ нагрузка на сервер остается по-прежнему повышенной и не связана со взломом, значит нужно оптимизировать код веб-проекта или искать вредоносный скрипт.

В следующий раз расскажу о сказочном способе максимального ускорения загрузки блога, так что подписывайтесь на обновления в форме ниже под статьей и получите всё сладкое самыми первыми.

На самое сладкое видео с заманчивым названием:

С уважением, Дмитрий Байдук

Отзывов (6)

  1. Татьяна пишет:

    У меня тоже был взломан сайт. Долго не обновляла WP, взломщики воспользовались дырами и перенаправляли трафик на “зеленый кофе”.
    А нагрузку еще можно в разы уменьшить скрипом Макскэш, правда он стоит $10.

    • Та же фигня с “зеленым кофе”, только я ручками удалил лишний код, но проблема по-прежнему осталась. Посоветуй, где искать корень зла?

      Скрипт Макскэш хорошая идея, и всё же, если есть возможность, я предпочитаю пользоваться бесплатными вещами. У меня стоит бесплатный аналог.

      • Татьяна пишет:

        В технических вопросах, я плохо разбираюсь и мне помогала решить эту проблему моя хорошая знакомая, программист. Я сделала бекап до дня, когда еще все было нормально и все ссылки ушли. А потом Оксана (так зовут мою знакомую) сделала все обновления (WP и плагинов) до самых последних версий и еще нужно смотреть файл htaccess (если в нем были изменения – число, когда изменялся последний раз видно).
        Я думаю, что наверное, если проблема осталась еще где-то код есть.
        И еще я после этого случая все пароли поменяла на более сложные (тоже совет Оксаны)

  2. Рашида пишет:

    Дмитрий, а плагин Better WP Security не пробовали установить – это мощная универсальная защита блога, рекомендую

  3. Елена пишет:

    Полезная инфа, а я как раз сейчас занимаюсь ускорением блога и обязательно воспользуюсь вашими советами. Спасибо!

  4. Анна пишет:

    Пришлось затратить, конечно, не пару минут, а пару дней, но оно того стоило. У меня порядка 10 сайтов на одном аккаунте висит, и долгое время приходили уведомления хостера о превышении допустимой нагрузки на сервер и предложения перейти на более дорогой тариф. В результате нагрузку удалось снизить втрое. Проделано было следующее:
    1. Включены записи логов, проанализированы логи.
    2. На сайты установлен P3 плагин, позволяющий увидеть, какой из плагинов больше всего “жрет”, отключены плагины, которые не используются, деактивированы те, которые используется лишь иногда. Особо прожорливые заменены на альтернативы. Остался лишь Wordfence, в котором был отключен live traffic. Хотя, он по-прежнему жрет больше всех других плагинов.
    3. Произведено сжатие всех медиафайлов плагином (они как бы сжимались и ранее, но процентов по 30 медиафайлов на каждом сайте оказались несжатыми. Плюс, особо тяжелые картинки были заменены на более легкие (теперь при добавлении картинки предварительно ее оптимизирую под веб).
    4. Убраны мета с боковых панелей.
    5. Оптимизирован .htaccess (закрытие доступов к определенным папкам, ограничение доступа плохим ботам, доступ к админке с определенных айпишников).
    6. Оптимизирован robots.txt.
    7. Сделан вывод, что премиум-шаблон – не всегда хорошо. Поскольку я не программист, лишь несколько урезала количество выводимых виджетов, слегка облегчив страницу (но заниматься оптимизацией шаблона еще можно долго).
    Не могу сказать, что конкретно повлияло на результат, т.к. отчет о нагрузке приходит раз в сутки, а изменения вносились на протяжении двух суток на всех сайтах. Но результат есть, и он меня пока устраивает) Вдруг, кому будет полезно.

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *