Защита сайта на WordPress от взлома и спама — Uglion.ru

Uglion.ru

Скачать музыкальный альбом

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

Май 26th, 2015

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

Раньше мой блог функционировал на довольно экзотической CMS и я даже понятия не имел сколько проблем доставляют различные боты. Одни спамят комментарии, другие пытаются регистрироваться, третьи брутфорсят форму авторизации. Всё это выливается в серьёзную нагрузку на сервер и трату личного времени на чистку спамной деятельности. А у меня как раз не так много свободного времени и поэтому было решено решить эту проблему раз и навсегда.

Я надеюсь, что этот материал принесёт мне много трафика, так как описанные здесь действия не сводятся к установке какого-то плагина, использованию хака или применению хитрости. Здесь применяется целый комплекс мер, которые сделают жизнь ботам невыносимой.

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

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

Чтобы бот-взломщик мог нормально функционировать и спокойно подбирать пароли для вашей админки WordPress, ему необходимо узнать ваш логин, зайти на страницу авторизации, ввести предполагаемые логин/пароль в соответствующие поля и, если авторизация не произошла, повторить все действия с новыми паролями неограниченное число раз. Теперь же мы навставляем палок в колёса ботам по каждому из пунктов.

Использование уникального логина

Это такая глупость, но тем не менее миллионы сайтов на WordPress продолжают использовать «admin» в качестве логина. Будьте уверены, что брутфорс вашей админки начнётся с того, что боты не раздумывая особо, в большинстве случаев введут именно этот логин. Соответственно, для того, чтобы получить полный доступ к вашему сайту, им потребуется лишь только подобрать пароль. Конечно, для этого может потребоваться немало времени, если пароль не самый лёгкий, но как раз у ботов времени предостаточно и методично перебирая пароли, они рано или поздно разгадают и ваш. Таким образом, ежедневно, взламываются десятки тысяч сайтов.

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

Скрытие страницы авторов

Ну а пока, я хочу обратить внимание на ещё одну уязвимость сайтов на вордпресс, связанную с именем пользователя. Дело в том, что по умолчанию, даже если администратор использовал уникальный логин, те боты, что поумнее, всегда могли его узнать, обратившись к странице записей автора. WordPress её генерирует автоматически, вне зависимости от желания вебмастераи выглядит она так: http://site.ru/?author=1 Администратор обычно и является первым автором. Соответственно, имя администратора и есть логин. Чтобы скрыть эту страницу я использовал плагин SEO Redirection.

seo redirection

В принципе можно обойтись и без плагина, настроив редирест через htaccess, но, если вы новичок, или нет желания возиться с доступом к сайту через ftp, то лучше будет использовать плагин. В моём случае плагин уже и так использовался, так как после переезда на WordPress с другой CMS мне пришлось настроить несколько сотен редиректов, и благодаря этому плагину я избежал множественных ошибок. Теперь, когда бот пытается попасть на страницу авторов, то он попадает на специально подготовленную страничку обо мне, включая место моего проживание и даже личное фото. Разве-что там не указан мой логин. 🙂

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

Теперь, если уж параноить дальше, то можно окончательно скрыть свой логин. Для этого регистрируем на своём сайте дополнительный аккаунт с привилегиями модератора и уже от его имени публикуем все материалы. Но я этого делать уже не стал, так как отображение имени автора статьи на страницах публикаций довольно сильно зависит от использования каждой конкретной темы и если какие-то боты и в состоянии вычленить эту информацию, то очень немногие и дальнейшие шаги, описанные в данной статье сведут к минимуму и их возможные действия.

Изменение адреса входа

Всем пользователям WordPress известна стандартная страница входа в админ-панель: wp-admin. Это известно и ботам, атакующим ваши сайты. Учитывая, что их действия основаны на алгоритмах, то нарушение работы любого шага приведёт к краху всего алгоритма. Именно этого можно добиться просто изменив адрес страницы входа. Для этих целей я использую плагин Lockdown WP Admin. Он не идеальный, так как было бы веселее вовсе редиректить ботов на какой-нибудь другой сайт, чтоб они там взламывали всё, что вздумается, но он просто показывает страницу 404 по старому адресу. Причём, не получится настроить редирект через SEO Redirection, всё-равно 404 выходит. Видимо возникает конфликт с Lockdown WP Admin. Ну да и ладно, в любом случае цель достигнута.

Ограничение на количество неудачных авторизаций

Ну что ж, я уже рассказал и о важности использовании уникального логина, и о возможности максимально его скрыть от ботов и даже как спрятать форму авторизации от них же. Но что делать, если это не помогло и брутфорс паролей продолжается? Последним действием,  которое окончательно решит проблему, это установление ограничения на количество неудачных авторизаций. Для этого существует большое количество плагинов, от самых простых, до очень сложных. Я выбрал тот, что попроще: Login LockDown. Настраиваете его по собственному вкусу.

Login LockDown

Всё, теперь сайт будет максимально защищён от ботов авторизации.

Защита WordPress от спама в комментариях

Однако, всё-таки этими действиями мы ограничим доступ не всем ботам. Под санкции до сих пор не попали регистрационные и спам-боты. От спам ботов хорошо спасает плагин Akismet, но так как он не борется с регистрационными ботами, то я порекомендую другое решение: Stop Spammers Spam Control. Со спамными комментариями он справляется ничуть не хуже Акисмета (кроме своих собственных методик защиты, плагин испольльзует базу спамных IP-адресов Акисмета), а его возможности борьбы с ботами, постоянно пытающимися зарегистрироваться на сайте, помогают справиться почти со всей этой надоедливой армией.

Защита от спамных регистраций

Если честно, не очень понятна мотивация всех этих бесконечных регистраций. На моём не слишком популярном ресурсе количество таких регистраций превышало даже количество живых посетителей. После установки плагина Stop Spammers этот поток значительно убавился, но не иссяк.

Окончательно от них избавиться помог ещё один маленький плагин, который использует маленькую хитрость. Дело в том, что тупые боты при регистрации не глядя заполняют поля «user login» и «password». Плагин Registration Honeypot добавляет в форму регистрации ещё одно поле, которое и будет использоваться для ввода логина, а оригиналтное поле скрывается посредством CSS. Таким образом, живые посетители будут заполнять видимые поля, а боты впишут логин в скрытое поле и будут тут же отсеяны. Плагин не имеет настроек, просто установите его и забудьте о левых регистрациях навсегда (или пока не появятся боты, умеющие обходить эту защиту).

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

Comments

3 Comments

RSS
  • barbados-fs says on: 25.06.2015 at 16:07

     

    «http://site.ru/?author=1 Администратор обычно и является первым автором.» — отдельное спасибо. Теперь понял, как боты узнали мой логин админа 🙂

    Я не стал заморачиваться и поменял его через базу данных. Теперь по данному адресу бьется мой уже не существующий логин. И боты пытаются под него подобрать пароль 🙂

  • Billy says on: 13.07.2015 at 19:02

     

    Google, либо FireFox обратиться к хостеру, вот что сделать! Попросить заблочить сайт, по-возможности создать резервную копию посредством помощи хостера(если такая помощь есть), даль удалять сайт и заливать по новой.

  • Василий says on: 30.10.2015 at 23:18

     

    тестируем коменты без капчи и прочего

Your email address will not be published. Required fields are marked *

*