VPS分析日志利用nginx过滤恶意访问

学会分析网站日志是一个合格的草根站长所必须的,网站上线后经常会收到各种扫描,那么站长就要学会分析日志得出这些恶意扫面的共同点来过滤这些不友好的访问。这里已v7v3的部分日志截图为例来教大家如何过滤恶意访问,如下图:

VPS分析日志利用nginx过滤恶意访问-VPS教程-代码笔记 %

从上图可以看出这次的“攻击”都是来源与jump.bdimg.com这个域的,这时候我们就可以直接把从jump.bdimg.com这个域下过来的IP全部返回403或者503,这样就可以有效的屏蔽这些恶意访问了,代码如下:

if ($http_referer ~* jump.bdimg.com ) {
return 403;
}

有时候大家还会受到某些攻击器的骚扰,某些攻击器都有特定的user_agent标志,我们则可以直接对包含该标志user_agent的IP进行访问封锁如下图:

VPS分析日志利用nginx过滤恶意访问-VPS教程-代码笔记 %

从以上日志我们可以看出user_agent中包含了UCBrowser,我们这可以对其进行封锁,代码如下:

if ($http_user_agent ~ UCBrowser) {
return 503;
}

封锁多个user_agent标志则可以这样写:

if ($http_user_agent ~* "ua a|ua b"){
           return 503;
       }

有时候我们还可以对特定的访问方式进行封锁,一般情况下都是已GET、以及POST方式。有些扫描器则是已HEAD方式来访问网站的,如下图:

VPS分析日志利用nginx过滤恶意访问-VPS教程-代码笔记 %

遇到以上情况,我们则可以直接禁止HEAD,代码如下:

if ($request_method = HEAD ) {
    
return 403;
    
}

当然还有很多灵活的方法来应对这些不友好的访问,小V这里仅仅是教大家如何分析日志如何针对不同的攻击以及恶意访问来做出做灵活的应对方式。

另外小V还通过分析自己的网站日志得出了一些已知的不友好的user_agent关键字,

地址:http://www.v7v3.com/tool/bot.txt

大家可以将这些UA都封锁掉,也希望看到这篇文章的小伙伴把自己总结到的恶意user_agent回复下让更多人知道。

(PS:以上方法只适用于nginx)

VPS分析日志利用nginx过滤恶意访问》上有2条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注