Защита сайтов на WordPress
Такое понятие как «защита сайта» достаточно условно. Здесь слишком много составляющих. Так что обеспечить полноценную защиту сайта достаточно сложно, если вообще возможно. На мой взгляд, если ваш сайт решили взломать, то это сделают. Особенно это становится реальной угрозой, когда за дело берутся люди, которые разбираются в этом вопросе.[>
Первая и самая простая защита, это отсутствие мотивации у взломщика. Большинство сайтов просто не имеет смысла взламывать. Какой смысл от взлома сайта пресловутого Васи Пупкина, пишущего о выращивании фикусов? Разве что ради того, чтобы попробовать свои силы и умения. Но и этого вполне достаточно для беспокойства
Сейчас на моих сайтах у хотера SpaceWeb появилась неожиданная (по крайней мере, для меня) и высокая нагрузка, а для виртуального хостинга это ой как чревато. Явных причин её возникновения нет. Служба поддержки выслала огрызок сгруппированной статистики из access_log по всем моим сайтам, мол AWStats вам в помощь дорого товарищ. В начале я хотел возмутиться, но, просмотрев эту статистику, получил пищу для размышления.
Заметил, что с некоторых IP-адресов идёт аномальное количество запросов. Интересным является и распределение запросов по страницам сайтов. Эту статистику вы не найдёте в тех же рейтингах, т.к. там не всё можно увидеть, многое фильтруется и т.д. Понятно, что я не спешил с выводами и проверил подозрительные IP-адреса, что можно сделать через тот же WebNames.ru. Они не относились ни к одному из поисковиков или чему-то в этом роде. Основной же напор шёл на страницу wp-login.php, по крайне мере у сайтов на WordPress. Вы поняли?
Лично мой вывод сводится к тому, что кто-то планомерно подбирает пароль. Благо есть вероятность, что владелец сайта установит простенький, вроде: 12345, qwerty или типа того. Эта ошибка всё ещё очень распространена. Ну да при желании и настойчивости, можно подобрать и сложный пароль. Так что решил принять хоть какие-то меры по защите своих сайтов на WordPress, которыми и хочу поделиться с вами в данном посте./p>
Защита сайтов на WordPress через .htaccess
Нюанс заключается в том, что воспользоваться предлагаемыми мной способами защиты можно только в том случае, если ваш хостер позволяет вносить соответствующие изменения в файл .htaccess. В большинстве случаев так оно и есть, но если что на этом можете и закончить чтение поста.
И так. Первый способ заключается в закрытии доступа к проблемному файлу wp-login.php. В тоже время, доступ должен остаться у вас, как автора блога. Набор требующихся нам директив выглядит следующим образом:
<Files wp-login.php>
order deny,allow
deny from all
allow from 127.0.0.1
</Files>
Их нужно добавить в конец файла .htaccess, который располагается в корневой директории вашего блога. Обращаю ваше внимание на то, что вместо 127.0.0.1 нужно подставить свой IP-адрес и или пространство IP-адресов. Как вы видите, у способа есть недостаток. В идеале он подойдёт тем у кого, как и у меня, статичный IP-адрес. Конечно, можно указать и пространство IP-адресов, например: 127.0.0.1/127.0.0.10 - или перечислить их через запятую, или в нескольких директивах allow from
.
Можно пойти и от обратного, т. е. защитить сайт на Wordpress от конкретных IP-адресов. В этом случае я рекомендовал бы создавать запрет для блога в целом, а не для конкретного файла. С учётом сказанного, набор требуемых директив выглядит следующим образом:
<Limit GET POST PUT>
order allow,deny
allow from all
deny from 127.0.0.1
</Limiy>
Обращаю ваше внимание на то, что в данном случае директива order
имеет значение allow,deny, т.е. обратную по сравнению с первым способ сортировку приоритетов. В начале директива allow, потом deny. Последнее слово остаётся именно за директивой deny (запрет).
Блокировка по IP-адресу очень хороша, но имеет и ещё один недостаток. Злоумышленник может использовать тот или иной прокси сервер, меня IP-адрес. Так что второй предложенный мной способ защиты сайта не слишком эффективен. Понятно и то, что человек может использовать того же Интернет провайдера, что и вы. Поэтому первый способ наиболее эффективен, если у вас статический IP-адрес.
Как вы видите, даже тут много условий. Чего уж говорить о полноценной защите сайта. Лично для меня, это выглядит чем-то из разряда фантастики. Тем не менее, возможно, что данная заметка вам поможет. Мне же остаётся только продолжать бороться за живучесть своего сервера и надеяться на лучшее. По крайней мере, я буду знать, что сделал всё возможное из того, что мог и умел по исправлению ситуации. В крайнем случае, планирую переехать на Reg.ru. Там хоть и чуть дороже, но и лимиты не такие драконовские как у SpaceWeb. Впрочем, я уже ни в чём не уверен. Везде свои заморочки, а переезд это всегда ещё тот геморрой. Удачи!
Короткая ссылка: http://goo.gl/CFHTSx
15 комментариев:
Хотела спросить, как создать пространственный зазор в IP, если у меня только 7 цифр статичные, а в остальных даже количество меняется. Вписала очередной новой строчкой. Но пусть так, чем как было.
Спасибо огромное!
deny from 127.0.0.
Насчет файла htaccess пока до конца не поняла ничего,потому что вставляю коды один за другим, и выдает ошибку сервера. Вероятно, что-то противоречит одно другому.
Какой-то опять доброжелатель появился с комментарием, но я его в папку спам пока заслала. Спрашивает, что же я такого сделала Игорю, что у него так крышу снесло. Вежливые такие, сволочи.
Order Allow,Deny
Allow from all
Deny from 213.87.240.227 213.87.241.187
Не буду что-то утверждать, но так оно работать вроде как не сможет. Во первых надо определить секцию (Files или Limit) и каждый IP-адрес в отдельную строку, т.е. лучше сделать так:
<Limit GET POST PUT>
order allow,deny
allow from all
deny from 213.87.240.227
deny from 213.87.241.187
</Limiy>
Это то, что должно быть в вашем .htaccess вместо тех строк, что есть сейчас (т.е. указанных выше). Не знаю как сказать ещё более понятней.
Оставила только разрешение себе. Не об этом хотела спросить. Где-то прочитала, что "вам нужно создать НОВЫЙ файл" для того, чтобы ввести какие-то другие переадресации, например. Вот и думаю: он же один в папке, значит, все коды (если вдруг дальше пойду крушить науку) просто новыми абзацами вставлять? Или хватит уже? А то понравится экспериментировать.
На счет переадресации не понял... зачем вам что-то куда-то переадресовывать. Надежда, определитесь с задачей, я читать мысли не умею.
Order Allow,Deny
Deny from all
Allow from xxx.xxx.xxx.xxx
В данном случае в Allow from прописываем свой IP-адрес.
order deny,allow
deny from all
allow from 217.xx.xxx.xx (здесь цифры)
Удалила буковку. Иначе нельзя же код ставить в комментарий?
Так это не то?
Вы мне не ответили: если он есть, этот htaccess, писать же туда же? После последнего слова wordpress? Сейчас у меня именно это с несколькими моими ip. Даже не попробовала, пустит ли меня такой код, тупая.
1. В allow from не надо оставлять крестики, это просто общий формат IP-адреса. Там надо прописать ваш IP-адрес или его часть. Если вы хотите указать несколько IP-адресов, в данном случае доступ которым будет разрешен надо прописывать из отдельными строками, например:
allow from 127.0.0.1
allow from 127.0.0.2
2. Да, для защиты отдельной папки, например wp-admin/, понадобится создать файл .htaccess (с точкой в начале) в самой папке, которую нужно защитить и прописать соответствующие правила.
3. Если нужно сделать запрет на доступ к файл wp-login.php нужно открыть файл .htaccess в корневой папке сайта и дописать в конец:
<Files wp-login.php>
order deny,allow
deny from all
allow from 127.0.0.1
</Files>
Вместо 127.0.0.1 прописать свой IP-адрес.
Пункт 2 усвоила. 1 - тоже.
Сижу тут спокойно общаюсь, а опять бросок был просмотров на 500 из трех посетителей. Скачала access_log. Что там делается, блин! Любуюсь! Если бы еще все понимала, что смотреть. IP вижу, браузеры и прочую хрень понимаю, а всякие цифры еще придется постигать.
Отправить комментарий