laravist 群友杂谈 服务器篇

2016-04-08  本文已影响238人  郑方方

Littlehz

大多数攻击者才不会这么细心找你的漏洞呢,有点耐心的也就是用个通用漏洞扫描器,做做弱口令、SQL注入的。没耐心的,就是找你最重要的域名,看到只解析出来一两个IP知道你没防护,CC + DDoS大流量来.

DDoS用不了太多钱,大多数数据中心,不花钱做额外的防御,都会直接把大于2G的DDoS丢黑洞,所以你2G的DDoS攻击就能直接让对方无法访问。

不管你解析的,直接打IP.遇到DDoS,机房能帮你挡才行,你自己没有任何办法。

DDoS的攻击起步价,大概在300元一次左右。大概就是按 100~200元 每G流量 每小时 这么收费。

遇到DDoS,机房会直接在路由器层面把你的服务器IP丢黑洞,反正你的服务器没有一点流量进来,外网的所有流量直接进黑洞。

Abraham

你们要是用 cdn 话, 源地址千万不要用主站域名(cdn 用同样的域名回源)

而是自定义一个乱七八糟不存在的域名让服务器解析 ,

Zmap,几个小时就能扫遍全球的所有 ip ,

配合一些 host 的手法能直接搞到 cdn 的源站 ip.

http://zone.wooyun.org/content/18058

Littlehz 针对 Abraham 的话题进行回复

@Abraham. 这种方法,也会找出来所有CDN IP和真机IP混一起。CDN IP起码有上百个,分布在至少10个数据中心,从这上百个IP里找出一个真机IP也不容易。

如果所有IP一起攻击的话,每个CDN数据中心能抗10G流量,那攻击成本就高了。

把服务器IP藏到几百个CDN IP放一起,特征不明显难找出来,攻击成本又高的话,他就不会搞了。

他扫描端口的话,CDN回源可以设置非80端口,我就不相信他能把全国所有IP所有端口都扫了。

Abraham 对 Littlehz 回复

@littlehz 我感觉这点也是很重要的, 回源端口和回源用的域名, 不要把外部产品域名直接绑到web server 上

Littlehz好对他刚才的话题继续讲解

而且还有种NB的技术,叫BGP Anycast,国内的IP可以在全国到处漂移。而国外的IP可以在国外很多地方漂移。比如一台香港的主机外网IP是美国的IP通过BGP Anycast漂移到香港来。他就慢慢扫香港的IP段吧,怎么都扫不到这台主机。

CDN本身都有防DDoS功能,但很少CDN能处理动态请求,要么就是动态请求贵很多,只能帮你缓存下静态文件。

Abraham 针对有人提问下面一个问题进行回复

外部产品域名绑定的服务器反向代理到实际的web server上嘛?

Abraham的理解:

我的意思是,  如果你  ping 你的域名, 比如 laravist.com, 返回的应该是 cdn ip。

如果你把本地 host 里的 laravist.com 指向服务器真实 ip,服务器应该像是其它人的机器一样返回 500 之类的。 要是让 web server 响应 foo.com, 黑客就能通过扫描器探测出来你这个机器接受这个域名, 他会弄你啊。。。

简单来说就是 真实的 ip, 不响应网站域名的请求, 让 cdn 和 真实 ip 之间用 另一套端口和域名通信

不知道我猜的对不对啊,这招貌似可以防掉上面乌云的那个 bug

Littlehz 对 Abraham的回复

CDN也不会告诉你他所有的节点IP列表,他们也要保护自己。real server不响应外部的请求有点难度。不响应80端口,换别的端口接收CDN过来的请求比较简单。

群友疑问:

疑问1.备案的时候不是把域名和ip绑定了么?

疑问2.cdn 入口 -> 反向代理服务器-》转发-》real server

Littlehz 解疑惑

你可以理解成 CDN 就是 带缓存的反向代理。CDN更偏向于把 资源复制一份到最接近用户的节点。而反向代理更偏向于 建立了一个接近用户的节点,但是请求通过反向代理节点 最终会回源到 real server,仅仅起一定的跨网加速效果。

存在某些手段可以把一台机器的真实IP挖出来,

这就跟暴力破解一样,你让他们的时间成本足够高,就不会暴力破解了。理论上再复杂的密码也可以被穷举出来的嘛,但是你限制他IP密码错误次数每小时只能尝试10次。他要穷举完所有密码,不是要好多年么。

分割线 -----------------------------------------

某位群友 AS foo 对 zmap的使用的见解

foo表达了该工具并不能在几小时内完成互联网上的ipv4的扫描.

foo 用的ZMAP 大概就是根据一个公开的表换算出全球IP地址段,然后去扫,ZMAP 扫的快,但是准确率相当低,而且实际想当耗带宽 我在AWS上扫的 10M 出发带宽 扫完中国大概需要6个小时

在国内好像全部挂掉 因为会被服务商认为恶意扫描.

正常扫完全球要一周(此数据仅以foo群友的机器为基准).

扫一波 然后组件识别  然后去匹配这个组件有的漏洞 然后再去扫 就看数据量的多少 总有中招的

Abraham 对Zmap的科普贴

https://www.zhihu.com/question/21505586

Littlehz 对常见的攻击的处理科普

SQL注入,上WAF防御,很多CDN都免费提供。可以拦截掉95%以上的SQL注入

分割线 -----------------------

Littlehz 针对 openresty 替换掉 nginx

openresty 用好三大核心即可 nginx + lua + redis。剩下的发挥你们的想象力吧。

lua是很轻量的脚本,完成很多开发语言能做的事情。而redis是非常高效的数据结构丰富的内存数据库。你说能干什么呢。websocket是其中之一。

这是Littlehz 2016.03.20号对改工具的见解

websocket最好不要php直接来做,目前php的websocket包,都是启动一个独立的进程监听端口解析协议,跟 swoole、workerman 这些东西同一种性质,不能确保100%好用及可用。

推荐 借助 openresty(nginx) + lua + redis 来做。

openresty(nginx) 通过 redis 插件 监听websocket,同时挂起一个到 redis 的连接,用 redis 的 sub 方法,订阅某个 key。

php 这边只需要 调用 Redis 的 pub 方法,写入 redis 的 key 即可。

https://github.com/openresty/lua-resty-websocket

如果此系列文章有任何侵害到文中群友的利益的,还请通知方方,方方会把其删除.

上一篇下一篇

猜你喜欢

热点阅读