浅谈个人博客网站or屌丝vps服务器暴露真实IP的危险性

经常关注张戈博客的朋友应该注意到,张戈在以往的文章中多次提到要隐藏我们网站服务器的真实 IP,比如最近分享的《阿里云盾网站安全防御(WAF)的正确使用方法》,肯定有不少人心怀疑问,这是为什么呢?

浅谈个人博客网站or屌丝vps服务器暴露真实IP的危险性

一、为啥隐藏真实 IP?

今天,抛出这样一个话题,也是为了提醒那些还懵懵懂懂,毫无设防的屌丝站长们!我们是小网站,我们用的也是屌丝服务器,不像腾讯、网易那些大站用的是价格昂贵、性能卓越的高性能、高可用集群。我们这种屌丝服务器一旦被人恶意攻击基本玩完!

也许,大部分人和我有一样的想法:这有啥,开启高防 CDN 啊!比如百度云加速、360 网站卫士以及安全宝等。确实,使用国内免费的高防 CDN 是我们这种屌丝服务器的最佳选择。

当我们使用了高防 CDN 之后,用户访问路径如下:

用户请求-->高防 CDN 节点-->源服务器

攻击请求就落到分布式大带宽的 CDN 节点,如果合理设置好缓存项目,我们的服务器几乎不会受到影响。

看到这,你是否对今天这个话题嗤之以鼻?心里想着暴露真实 IP 有什么问题?我开启百度云加速不就好了嘛!

不错,这应该就是大部分人的想法了,当然肯定还有大部分人对暴露真实 IP 无动于衷,不知道有什么危害。

好吧,再往下看你是否依然淡定。

一旦真实 IP 暴露,攻击者只要在攻击时用类似于 hosts 手段指定 IP 去攻击,那就神马 CDN 都是浮云了!因为攻击请求已绕过了 CDN 节点,直捣黄龙!而 DDoS 更甚,可以直接大流量攻击真实 IP,非高防服务器会立马死翘翘!

当攻击者通过 hosts 强行指定源服务器 IP 来进行攻击时,请求途径如下:

攻击请求-->hosts 解析-->源服务器

直接绕过高防 CDN 节点,落到了源服务器!小带宽,低配置的屌丝服务器,对于大批量的不同 IP 请求,几乎毫无防御能力!每个 IP 都是正常的请求,根本无法辨别黑白,那么同时 l 来 1000 个,看你死不死?

因此,保护好真实 IP 不暴露到公网,对于小服务器来说是重中之重!虽然你是新站,暂时没被人盯上,一旦有一点起色就很可能招来各种苍蝇的攻击骚扰。这些苍蝇不一定是因为你的网站挡了他的财路,很可能就因为在你网站留言一些推广被拉黑,也有可能是因为和你换友链被拒绝等等,都可能带来嫉恨似的攻击骚扰!直接原因无它,只因 CC 攻击成本太低而已!

二、如何隐藏真实 IP?

上面也已经说了,目前隐藏真实 IP 的做法主要是利用国内外一些免费的 CDN 加速服务。比如国内的百度云加速、加速乐、360 网站卫士以及安全宝,国外的 CloudFlare。不管有没有备案,都能选择一款适合你的免费产品。

浅谈个人博客网站or屌丝vps服务器暴露真实IP的危险性

当然,如果你不需要加速功能,也可以考虑入住阿里云或腾讯云,然后使用免费的 WAF 防御服务,也能使用 cname 解析,起到改变网站 IP 的效果。

实际上,如此设置之后,在隐藏真实 IP 的同时,也杜绝了网络上那些到处扫描端口、扫描漏洞的行为。

三、个人经验分享

那用这些高防 CDN 隐藏真实 IP 之后,是否百分百可靠呢?且继续看。

不久前,张戈博客被一大波苍蝇攻击,1 核 CPU 配置下的 load average 直接达到 10+!我挺奇怪的,因为张戈博客早已实现了纯静态化,被攻击不应该产生这么高的 CPU 负载才对,因为都是 html 页面。

网站已经龟速,容不得我细究。我立刻将网站迁移到百度云加速,设置为完全缓存,结果发现网站打开速度变快了,但是 CPU 负载还是没有明显的改善,这是为什么?

当我查看 nginx 的 access.log 才恍然大悟,原来是 postviews 插件的 ajax 统计!就算你是纯静态 html,被打开的时候,还是会产生一个 ajax 动态请求来记录浏览数,从而导致了 cpu 的狂飙,被请求的路径是:

http://zhangge.net/wp-admin/admin-ajax.php

我最开始想到的解决方法是,直接将 admin-ajax.php 重命名,让请求变成 404 状态,CPU 瞬间恢复正常!

重命名之后,在 WP 后台操作的时候发现一个问题,后台很多操作都不能生效了,比如我点击批准了一个评论,刷新后评论又变成待审核了。看来后台的很多操作也是 ajax 请求了这个文件!

既然不能重命名了,那只好想其他办法了!在页面里面看到这个 postviews 的 ajax 请求代码如下:

因此,我想到的临时解决办法是修改 admin-ajax.php 这个文件,在<?php 后面加入如下内容:

保存后,CPU 压力立马消失无影无踪!因为我让浏览统计临时失效了。浏览统计这种不痛不痒的功能,影响不大。等攻击消停之后再改回来就是。

从这个案例,我们可以看出,百度云加速等高防 CDN 并不是百分百有效的。当攻击者用数以万计的不同 IP 来请求的时候,只要你页面中存在一个动态请求,负载就上去了!

最后分享一个小经验,我 2 个网站的 360 网站卫士和百度云加速解析记录与各种设置都是以前就设置好了的,一旦被攻击,我只要立刻将 NS 记录指向云加速或 360 的 NS 服务器即可,方便又快捷!这就叫运筹帷幄,未雨绸缪,不管有没有攻击都要留好紧急恢复后路,避免不必要的损失。

好了,磨叽叭嗦的就说到这里,希望我这篇文章能起到正能量的作用,而不是给那些苍蝇们提供了一个无视高防 CDN 的攻击途径!当然,张戈在这里也奉劝那些整天没事喜欢 CC 攻击小网站的朋友,这点攻击手段真的很菜鸟,很逗逼,很没技术含量,你真要有本事,敢不敢去做一个白帽子造福互联网?

发表评论

gravatar

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:

刷新评论

目前评论:85   其中:访客  66   博主  19

  1. 明月登楼 6 来自天朝的朋友 谷歌浏览器 Windows 10 河南省南阳市 电信

    我最近根据不同线路来源解析到不同的 CDN 上,做了均衡的分流和线路优化,其实也算是变相的降低了免费 CDN 暴露真是IP的风险!

  2. 西枫里人 2 来自天朝的朋友 搜狗浏览器 Windows 7 上海市 联通

    老兄,来自广东电信14.***.***.*6是你的真实IP吗?

    • php小白 1 来自天朝的朋友 谷歌浏览器 Windows 10 北京市 联通

      你是来打脸的吗 :evil:

  3. 尼玛二大爷 0 来自天朝的朋友 谷歌浏览器 Windows 7 上海市长宁区 /普陀区电信

    问下,cdn是如何隐藏真实ip的啊,难道是cname 指向别的域名吗,但是ping 别的域名也会出来的吧

加载中,请稍候...