Комплексная защита блога на WordPress

  Автор:
  1356
kompleksnaya-zaschita-wordpress

Что же это такое – комплексная защита блога на WordPress? В прошлой своей статье «Защита сайта…», я рассказывал вам об первоочередных шагах, которые необходимо предпринять для защиты своего блога от не прошенных гостей.

Взглянув на статистику, я был шокирован. За это время было зафиксировано 345 попыток взлома моего блога – все они были заблокированы. Можете сами взглянуть. Картинки на блоге кликабельны:

blocking-ip-addresses

Все это конечно хорошо, но, как видно, не достаточно. Рассмотрим еще один способ комплексной защиты блога на WordPress.

Многие знают, что такое «файервол» – с опыта работы с операционной системой Windows. А в рамках блога это носит смежный, но немного другой характер. Дело в том, что существует проблема автоматических запросов к вашему блогу. Чем он будет популярен, тем больше вы это будете замечать. В чем суть?

Запросы бывают разные. Если взять, к примеру, Googlebot– это «робот-паук», который посещает сайты, смотрит — что там есть нового. Происходит все это в автоматическом режиме.

Если есть новые страницы, посты – с помощью этого робота-бота или паука, эти страницы добавляются в индекс поисковика Google.

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

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

В другом случае, если не найдена будет брешь, то это очень сильно нагружает ваш сервер. Ему, конечно, это безразлично, такая работа. Запрос пришел – его нужно обработать.

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

Оно вам надо – терять потенциальных клиентов, подписчиков, покупателей? И вот как раз в борьбе с этими автоматическими запросами вам и нужно бороться.

Есть такой плагин — WordPress Firewall. Он устанавливается и активируется также, как и любой другой. Плагин блокирует все возможные варианты зловредных запросов – в этом и суть его работы. Так же к вам на E-mail выводятся сообщения об обнаружении этих запросов. Ну и конечно можно настраивать белые и черные IP-адреса и сайты.

Но не все хотят перегружать свои блоги установкой дополнительных плагин. Есть еще один вариант – это файервол на уровне кода.

Комплексная защита – файервол для блога.

И так – защищать свой блог, на более сильном уровне – комплексной защитой, можно с помощью специально написанного для WordPress — «Код-файервол 5G«.

Очень классный, спасибо разработчикам. Вот ссылка на сайт автора: http://perishablepress.com/5g-blacklist-2013/. Туда можно зайти и почитать более подробно об этом.

Заходите на сайт и копируете предоставленный «код-файервол 5G» к себе на компьютер. Это набор неких инструкций-правил, примерно таких же, как я писал ранее по защите, но собранных воедино, то есть — комплексная защита блога. Он разделен на три основных секции.

В первой, основной и главной, происходит сверка запрашиваемых запросов файерволу и тем самым блокируется очень много лишней информации. Правила помогают обезопасить ваш блог от вредной http-активности.
Во второй части — правила блокировки плохих ботов, которые могут обращаться к вашему блогу.

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

В блоке BAD IPS устроена возможность для самостоятельного-индивидуального составления зловредных запросов на ваше усмотрение. Вы, собственноручно, можете добавлять вредные IP-адреса в код данного блока — # Deny from 123.456.789, тем самым блокируя его действие. На выше указанном сайте вы можете использовать список наиболее «плохих» отмеченных IP-адресов:

Deny from 24.213.139.114
Deny from 87.144.218.222
Deny from 95.5.32.79
Deny from 213.251.186.27
Deny from 88.191.93.186
Deny from 91.121.136.44
Deny from 50.56.92.47
Deny from 174.143.148.105
Deny from 82.170.168.91
Deny from 24.213.139.114
Deny from 61.147.110.14
Deny from 188.134.42.65
Deny from 122.164.215.155
Deny from 65.49.68.173
Deny from 220.155.1.166
Deny from 218.38.16.26
Deny from 50.56.92.47
Deny from 24.213.139.114
Deny from 91.200.19.84
Deny from 31.44.199.131
Deny from 49.50.8.63

Прочитайте предыдущую статью «Защита сайта и его контента». Если появились надоедливые IP-адреса, можете занести их в этот список.

Все что вам нужно сделать – это зайти к себе на хостинг, открыть файловый менеджер и в корневой папке блога скопировать к себе на компьютер текстовый файл: .htaccess

fil-menedger

Далее открыть его любой из программ – Блокнот или Notepad++ и добавить туда скопированный «код-файервол 5G«:

# 5G:[QUERY STRINGS]
<IfModule mod rewrite.c>
	RewriteEngine On
	RewriteBase /
	RewriteCond %{QUERY_STRING} (\"|%22).*(<|>|%3) [NC,OR]
	RewriteCond %{QUERY_STRING} (javascript:).*(\;) [NC,OR]
	RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3) [NC,OR]
	RewriteCond %{QUERY_STRING} (\\|\.\./|`|=\'$|=%27$) [NC,OR]
	RewriteCond %{QUERY_STRING} (\;|\'|\"|%22).*(union|select|insert|drop|update|md5|benchmark|or|and|if) [NC,OR]
	RewriteCond %{QUERY_STRING} (base64_encode|localhost|mosconfig) [NC,OR]
	RewriteCond %{QUERY_STRING} (boot\.ini|echo.*kae|etc/passwd) [NC,OR]
	RewriteCond %{QUERY_STRING} (GLOBALS|REQUEST)(=|\[|%) [NC]
	RewriteRule .* - [F]
</IfModule>

# 5G:[USER AGENTS]
<IfModule mod setenvif.c>
	# SetEnvIfNoCase User-Agent ^$ keep out
	SetEnvIfNoCase User-Agent (binlar|casper|cmsworldmap|comodo|diavol|dotbot|feedfinder|flicky|ia_archiver|kmccrew|nutch|planetwork|purebot|pycurl|skygrid|sucker|turnit|vikspider|zmeu) keep out
	<limit GET POST PUT>
		Order Allow, Deny
		Allow from all
		Deny from env=keep out
	</limit>
</IfModule>

# 5G:[REQUEST STRINGS]
<IfModule mod_alias.c>
	RedirectMatch 403 (https?|ftp|php)\://
	RedirectMatch 403 /(https?|ima|ucp)/
	RedirectMatch 403 /(Permanent|Better)$
	RedirectMatch 403 (\=\\\'|\=\\%27|/\\\'/?|\)\.css\()$
	RedirectMatch 403 (\,|\)\+|/\,/|\{0\}|\(/\(|\.\.\.|\+\+\+|\||\\\"\\\")
	RedirectMatch 403 \.(cgi|asp|aspx|cfg|dll|exe|jsp|mdb|sql|ini|rar)$
	RedirectMatch 403 /(contac|fpw|install|pingserver|register)\.php$
	RedirectMatch 403 (base64|crossdomain|localhost|wwwroot|e107\_)
	RedirectMatch 403 (eval\(|\_vti\_|\(null\)|echo.*kae|config\.xml)
	RedirectMatch 403 \.well\-known/host\-meta
	RedirectMatch 403 /function\.array\-rand
	RedirectMatch 403 \)\;\$\(this\)\.html\(
	RedirectMatch 403 proc/self/environ
	RedirectMatch 403 msnbot\.htm\)\.\_
	RedirectMatch 403 /ref\.outcontrol
	RedirectMatch 403 com\_cropimage
	RedirectMatch 403 indonesia\.htm
	RedirectMatch 403 \{\$itemURL\}
	RedirectMatch 403 function\(\)
	RedirectMatch 403 labels\.rdf
	RedirectMatch 403 /playing.php
	RedirectMatch 403 muieblackcat
</IfModule>

# 5G:[REQUEST METHOD]
<ifModule mod rewrite.c>
	RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
	RewriteRule .* - [F]
</IfModule>

# 5G:[BAD IPS]
<limit GET POST PUT>
	Order Allow, Deny
	Allow from all
	# uncomment/edit/repeat next line to block IPs
	# Deny from 123.456.789
</limit>

Не забудьте вставить в конце кода, перед закрывающим тегом </limit>, список выше отмеченных IP-адресов.

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

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

Ну вот, пока и все. Желаю всем удачи в осуществлении комплексной информационной защиты вашего блога.

P.S. Если не трудно, поделитесь вашими соображениями по этой теме. Буду рад услышать.

Интересная статья? Поделитесь ею пожалуйста с другими:
Оставьте свой комментарий:
3 комментария
  1. Александр

    Полезно, но… понять сложновато :(

  2. admin

    Приветствую Вас, Александр!

    А что конкретно непонятно?
    Когда мы ставим какую-то защиту на блог,
    становится как-то спокойно.
    Но стоит отследить работу этой защиты и увидеть результат,
    я бы не стал успокаиваться — это постоянная работа.
    Напишите по конкретнее — чем смогу тем помогу.

  3. Я сегодня как-раз поставил такой файервол на свой сайт. Судя по статистике на хостинге, нагрузка на CPU вроде немного уменьшилась.
    Кстати, вы забыли упомянуть, что в списке блокируемых IP адресов нужно убрать спереди символ решетки (#), который делает строку недействительной.

на Блоге
в Вконтакте
в Фейсбук