最近我ELMAH异常日志满尝试使用这样对我的服务器坝兹梅乌安全软件的人

对于那些思维“到底是什么兹梅乌?”这里是一个解释......

“兹梅乌似乎是用于在phpMyAdmin,基于web的MySQL数据库管理器的版本2.x.x发现的安全漏洞的安全工具。该工具似乎源自东欧的某个地方。什么样的事情似乎发生在所有的黑帽安全工具,它的方式作出了中国,它已经从针对Web服务器在世界各地不停蛮力攻击使用过。”

继承人这个恼人的攻击有很大的联系 - >的 http://www.philriesch.com/articles/2010/07/getting-a-little-sick-of-zmeu/

即时通讯使用.NET所以他们是不是会找到的phpMyAdmin我的服务器上,但事实证明我的日志全ofZmEu攻击它变得讨厌的。

在以上链接提供使用htaccess的一个伟大的修复程序,但使用im IIS7.5,不阿帕奇。 我有一个asp.net MVC 2网站,所以即时通讯使用Global.asax文件创建我的路线

下面是htaccess的seugestion

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/path/to/your/abusefile.php
RewriteCond %{HTTP_USER_AGENT} (.*)ZmEu(.*)
RewriteRule .* http://www.yourdomain.com/path/to/your/abusefile.php [R=301,L]
</IfModule>

我的问题是有什么我可以在做同样的事情的Global.ascx文件中添加这样的吗?

有帮助吗?

解决方案

的替代答案我的另一个 ......这一个特地从登录由兹梅乌产生的404错误,而让你的网站的行为,其余不变停止ELMAH。这可能是一个比特不是直返回消息给黑客不太显眼。

您可以控制什么各种方式的各种各样的事情ELMAH日志,一种方法是增加这在Global.asax

void ErrorLog_Filtering(object sender, ExceptionFilterEventArgs e)
{
    if (e.Exception.GetBaseException() is HttpException)
    {
        HttpException httpEx = (HttpException)e.Exception.GetBaseException();
        if (httpEx.GetHttpCode() == 404)
        {
            if (Request.UserAgent.Contains("ZmEu"))
            {
                // stop Elmah from logging it
                e.Dismiss();
                // log it somewhere else
                logger.InfoFormat("ZmEu request detected from IP {0} at address {1}", Request.UserHostAddress, Request.Url);
            }           
        }
    }
}

有关此事件火灾,你需要从你的项目中引用的DLL ELMAH和using Elmah;添加到您的Global.asax.cs的顶部。

在线开始logger.InfoFormat假定使用log4net的。如果不是,将其更改为别的东西。

其他提示

在兹梅乌袭击是讨厌我了,所以我看着这一点。它可与HTTP模块。

来完成

添加下面的类项目:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Security.Principal;
//using log4net;

namespace YourProject
{
    public class UserAgentBlockModule : IHttpModule
    {

        //private static readonly ILog logger = LogManager.GetLogger(typeof(UserAgentBlockModule));

        public void Init(HttpApplication context)
        {
            context.BeginRequest += new EventHandler(context_BeginRequest);
        }

        void context_BeginRequest(object sender, EventArgs e)
        {
            HttpApplication application = (HttpApplication)sender;
            HttpRequest request = application.Request;
            if (request.UserAgent.Contains("ZmEu"))
            {
                //logger.InfoFormat("ZmEu attack detected from IP {0}, aiming for url {1}", request.UserHostAddress, request.Url.ToString());
                HttpContext.Current.Server.Transfer("RickRoll.htm");
            }

        }

        public void Dispose()
        {
            // nothing to dispose

        }

    }
}

,然后将下面的行添加到web.config中

<httpModules>
    ...
   <add name="UserAgentBlockFilter" type="YourProject.UserAgentBlockModule, YourProject" />
</httpModules>

...然后添加合适的HTM网页,你的项目,所以有地方给他们重定向到。

请注意,如果您正在使用log4net的,你可以在代码中log4net的线路点评登录的场合,当过滤器在踢

这个模块已经在测试工作对我来说(当我发出正确的userAgent值的话)。我没有测试过一个真正的服务器上呢。但它应该做的伎俩。

虽然,正如我在上面的评论说,直觉告诉我,返回404错误可能会比让黑客不太显眼的响应知道你是意识到它们的存在。他们中有些人可能会看到这样的事情是一个挑战。但后来,我不是黑客心理学方面的专家,所以谁知道。

每当得到兹梅乌或phpMyAdmin的或forgotten_password我重定向查询以:

<meta http-equiv='refresh' content='0;url=http://www.ripe.net$uri' />

[或APNIC或ARIN]。我希望的管理员在ripe.net不一样遭到黑客攻击。

在IIS 6.0你也可以试试这个...

设置在IIS网站以使用主机头。然后在IIS中创建一个网站,使用相同的IP地址,但没有主机头的定义。 (我标记我的“流氓网站”,因为一些流氓oonce deliverately设置DNS他为他的域名解析到我的流行的政府网站。(我不知道为什么)无论如何,使用在多个网站上的主机头是一个很好的做法,而且有为当不包括主机头的情况下定义的网站是一个办法赶上游客在HTTP请求中没有你的域名是谁。

在没有主机头的网站,创建一个主页,它返回“HTTP 410飘”的响应头状态。或者你也可以到其他位置重定向。

这是尝试通过IP地址,而不是域名访问你的服务器的任何机器人将解决这个网站,得到错误“410飘”。

我也使用微软的的URLscan,并修改Urlscan.ini文件排除用户angent字符串“兹梅乌”。

如果使用IIS 7.X可以使用请求过滤阻止的请求

扫描头:User-agent

拒绝字符串:ZmEu

要尝试,如果它的工作原理与参数--User-Agent "ZmEu"

Chrome启动

这样asp.net则永远不会调用和您节省一些CPU /内存..

我在Microsoft URL重写模块加入这种模式:

“在这里输入的图像描述”

“在这里输入的图像描述”

“在这里输入的图像描述”

^$|EasouSpider|Add Catalog|PaperLiBot|Spiceworks|ZumBot|RU_Bot|Wget|Java/1.7.0_25|Slurp|FunWebProducts|80legs|Aboundex|AcoiRobot|Acoon Robot|AhrefsBot|aihit|AlkalineBOT|AnzwersCrawl|Arachnoidea|ArchitextSpider|archive|Autonomy Spider|Baiduspider|BecomeBot|benderthewebrobot|BlackWidow|Bork-edition|Bot mailto:craftbot@yahoo.com|botje|catchbot|changedetection|Charlotte|ChinaClaw|commoncrawl|ConveraCrawler|Covario|crawler|curl|Custo|data mining development project|DigExt|DISCo|discobot|discoveryengine|DOC|DoCoMo|DotBot|Download Demon|Download Ninja|eCatch|EirGrabber|EmailSiphon|EmailWolf|eurobot|Exabot|Express WebPictures|ExtractorPro|EyeNetIE|Ezooms|Fetch|Fetch API|filterdb|findfiles|findlinks|FlashGet|flightdeckreports|FollowSite Bot|Gaisbot|genieBot|GetRight|GetWeb!|gigablast|Gigabot|Go-Ahead-Got-It|Go!Zilla|GrabNet|Grafula|GT::WWW|hailoo|heritrix|HMView|houxou|HTTP::Lite|HTTrack|ia_archiver|IBM EVV|id-search|IDBot|Image Stripper|Image Sucker|Indy Library|InterGET|Internet Ninja|internetmemory|ISC Systems iRc Search 2.1|JetCar|JOC Web Spider|k2spider|larbin|larbin|LeechFTP|libghttp|libwww|libwww-perl|linko|LinkWalker|lwp-trivial|Mass Downloader|metadatalabs|MFC_Tear_Sample|Microsoft URL Control|MIDown tool|Missigua|Missigua Locator|Mister PiX|MJ12bot|MOREnet|MSIECrawler|msnbot|naver|Navroad|NearSite|Net Vampire|NetAnts|NetSpider|NetZIP|NextGenSearchBot|NPBot|Nutch|Octopus|Offline Explorer|Offline Navigator|omni-explorer|PageGrabber|panscient|panscient.com|Papa Foto|pavuk|pcBrowser|PECL::HTTP|PHP/|PHPCrawl|picsearch|pipl|pmoz|PredictYourBabySearchToolbar|RealDownload|Referrer Karma|ReGet|reverseget|rogerbot|ScoutJet|SearchBot|seexie|seoprofiler|Servage Robot|SeznamBot|shopwiki|sindice|sistrix|SiteSnagger|SiteSnagger|smart.apnoti.com|SmartDownload|Snoopy|Sosospider|spbot|suggybot|SuperBot|SuperHTTP|SuperPagesUrlVerifyBot|Surfbot|SurveyBot|SurveyBot|swebot|Synapse|Tagoobot|tAkeOut|Teleport|Teleport Pro|TeleportPro|TweetmemeBot|TwengaBot|twiceler|UbiCrawler|uptimerobot|URI::Fetch|urllib|User-Agent|VoidEYE|VoilaBot|WBSearchBot|Web Image Collector|Web Sucker|WebAuto|WebCopier|WebCopier|WebFetch|WebGo IS|WebLeacher|WebReaper|WebSauger|Website eXtractor|Website Quester|WebStripper|WebStripper|WebWhacker|WebZIP|WebZIP|Wells Search II|WEP Search|Widow|winHTTP|WWWOFFLE|Xaldon WebSpider|Xenu|yacybot|yandex|YandexBot|YandexImages|yBot|YesupBot|YodaoBot|yolinkBot|youdao|Zao|Zealbot|Zeus|ZyBORG|Zmeu

在顶部列出之一,“^ $”是空字符串的正则表达式。我不允许机器人,除非他们确定与用户代理访问的页面,我发现最常见的唯一的东西击中了用户代理是安全工具走了流氓我的这些应用程序。

我会告诉你的时候阻止机器人是非常具体的。只需用一个通用词,如“火”可以弹出积极为“火狐”你还可以调整正则表达式来解决这个问题,但我发现它更简单更具体和具有可提供更多信息给下一个人的额外好处触摸该设置。

此外,你会看到我在这个情况下,它碰巧是使用这个版本的Java踩住我的服务器,一个机器人为Java / 1.7.0_25的规则。千万要小心,阻止特定语言的用户代理这样的,有些语言,如在JVM上运行的ColdFusion和运用语言的用户代理和Web请求到本地主机组装之类的东西PDF文件。 JRUBY,Groovy中,或Scala中,可以做类似的事情,但是我没有测试它们。

设置你的服务器正确,并且对袭击者别担心:) 他们所要做的就是尝试一些基本的可能性,看看是否你已忽略了一个明显的缺陷。 没有点过滤掉这一个黑客谁是足够好的签署他为你工作。 如果你有你的日志文件仔细一看,你看有这么多的机器人在做这一切的时候。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top