Jump to content
campusboy

Защита от плохих роботов через .htaccess

Recommended Posts

Народ помогите от назойливого бота избавиться, а точнее вируса для любого сайта на PHP - webshell.backdoor

Примеры из лога веб-сервера:

"GET /?cmdcmd=action&scan=. HTTP/1.1" 403 - "-" "-"
"GET /redirect.php?url=http://ya.ru HTTP/1.1" 301 240 "-" "-"
"GET /?cmdcmd=action&scan=../../.. HTTP/1.1" 403 - "-" "-"
"GET / HTTP/1.0" 301 228 "-" "-"

"GET / HTTP/1.1" 301 227 "-" "-"
"GET /cgi-bin/php HTTP/1.1" 401 19 "-" "-"

IP всегда меняется, директории и команды cmdcmd почти всегда одинаковый состоящие из огромного списка вариаций, как видно выше из моего лога блокирую по обращениям, но по user-agent к сожалению не получается.

Мой кусок блокировки из .htaccess:

# webshell.backdoor
SetEnvIfNoCase User-Agent ^-$ bad_bot
SetEnvIfNoCase User-Agent "^-$" bad_bot
SetEnvIfNoCase User-Agent ^- bad_bot
SetEnvIfNoCase User-Agent "^-" bad_bot
SetEnvIfNoCase User-Agent -$ bad_bot
SetEnvIfNoCase User-Agent "-$" bad_bot
#
SetEnvIfNoCase Referer ^-$ bad_bot
SetEnvIfNoCase Referer "^-$" bad_bot
SetEnvIfNoCase Referer ^- bad_bot
SetEnvIfNoCase Referer "^-" bad_bot
SetEnvIfNoCase Referer -$ bad_bot
SetEnvIfNoCase Referer "-$" bad_bot
#
SetEnvIfNoCase Referer "^$" bad_user

 

Подскажите пожалуйста как сделать блокировку по refferrer и/или user-agent: "-" "-" или может быть кто с таким сталкивался прошу поделиться информацией. Спасибо!

 

p.s. Трафик огромный несколько тысяч запросов в сутки, а порой доходит до десятков тысяч. Сервер со статическим IP, который крайне не хочется менять. Блокировка 401/403/408 не решает проблемы ограничения нагрузки, но главное в том, что была найдена возможность взломать наш сервер через определенный сервис, после чего были модифицированы огромное количество файлов php и в том числе в /public_html, и т.п. его действие можете прочитать на спец.ресурсах.

Share this post


Link to post
Share on other sites
В 27.03.2018 в 11:36 AM, ysamarin сказал:

Народ помогите от назойливого бота избавиться, а точнее вируса для любого сайта на PHP - webshell.backdoor

Примеры из лога веб-сервера:

"GET /?cmdcmd=action&scan=. HTTP/1.1" 403 - "-" "-"
"GET /redirect.php?url=http://ya.ru HTTP/1.1" 301 240 "-" "-"
"GET /?cmdcmd=action&scan=../../.. HTTP/1.1" 403 - "-" "-"
"GET / HTTP/1.0" 301 228 "-" "-"

"GET / HTTP/1.1" 301 227 "-" "-"
"GET /cgi-bin/php HTTP/1.1" 401 19 "-" "-"

IP всегда меняется, директории и команды cmdcmd почти всегда одинаковый состоящие из огромного списка вариаций, как видно выше из моего лога блокирую по обращениям, но по user-agent к сожалению не получается.

Мой кусок блокировки из .htaccess:

# webshell.backdoor
SetEnvIfNoCase User-Agent ^-$ bad_bot
SetEnvIfNoCase User-Agent "^-$" bad_bot
SetEnvIfNoCase User-Agent ^- bad_bot
SetEnvIfNoCase User-Agent "^-" bad_bot
SetEnvIfNoCase User-Agent -$ bad_bot
SetEnvIfNoCase User-Agent "-$" bad_bot
#
SetEnvIfNoCase Referer ^-$ bad_bot
SetEnvIfNoCase Referer "^-$" bad_bot
SetEnvIfNoCase Referer ^- bad_bot
SetEnvIfNoCase Referer "^-" bad_bot
SetEnvIfNoCase Referer -$ bad_bot
SetEnvIfNoCase Referer "-$" bad_bot
#
SetEnvIfNoCase Referer "^$" bad_user

 

Подскажите пожалуйста как сделать блокировку по refferrer и/или user-agent: "-" "-" или может быть кто с таким сталкивался прошу поделиться информацией. Спасибо!

 

p.s. Трафик огромный несколько тысяч запросов в сутки, а порой доходит до десятков тысяч. Сервер со статическим IP, который крайне не хочется менять. Блокировка 401/403/408 не решает проблемы ограничения нагрузки, но главное в том, что была найдена возможность взломать наш сервер через определенный сервис, после чего были модифицированы огромное количество файлов php и в том числе в /public_html, и т.п. его действие можете прочитать на спец.ресурсах.

Проблема найдена в том, что в логах отражается текстовый символ ASCII Hex:2D, а на самом деле это FF (не путать с пробелом Hex:20), т.е. пустой, ничего нет.

Ответ соответственно будет в следующей конструкции:

## SITE REFERER BANING "-"
RewriteEngine on
RewriteCond %{HTTP_REFERER} ^$ [NC] 
RewriteCond %{HTTP_USER_AGENT} ^$ [NC] 
RewriteRule .* - [F]
#

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...