中国IDC圈1月12日,2015年1月7-9日,第九届中国IDC产业年度大典(IDCC2014)(http://www.idcquan.com/Special/idcc2014/live/)在北京国家会议中心隆重举行。本次大会由工信部通信发展司、中国信息通信研究院(工信部电信研究院)、云计算发展与政策论坛、数据中心联盟指导,中国IDC产业年度大典组委会主办,中国IDC圈承办,作为国内IDC行业规模最大、最具权威性和影响力的盛会,此次大会再创辉煌,三天的会议参会人数超过8000人次。

从1月7日到9日连续三天,工信部相关领导、IDC企业、电信运营商、互联网企业、设备厂商等各行业精英齐聚一堂,以"大变革 新生态"为主题煮酒论道。其中58同城安全架构师吴圣应邀出席本次大会并发表了"打造安全的HTTP服务器"的演讲。

22

58同城安全架构师吴圣

以下为吴圣演讲实录:

吴圣:我的议题很简单,每次出来分享都是具体到细节怎么实现,有些东西实现过,有些东西是一些想法。第一点分享,给大家分享一些比较有意义的话题,第二个是过程展示,说明我做过这个东西了看一下我的分享。我的议题是"打造安全的HTTP服务器".

我叫吴圣, 2008年的时候进入百度,2012年进58同城兼安全顾问,现在在58安全技术部负责安全培训、应急响应,安全测试、安全评估,安全产品的开发。

这次议题主要是从几个方面分享,怎么打造安全的HTTP服务器?第一个是HTTP服务器自身的安全,第二个是防一些网络攻击,用HTTP服务器做访问控制,后面讲一下基于动态口令的反向代理,防WEB攻击这块,程岩已经说了,就是Web这块儿会稍微简单的讲一下。后面主要是分析从HTTP服务器分析日志发现一些攻击行为,我们现在还没做,所以简单说一下思路。

HTTP服务器安全配置,像我们公司会建客户标准,客户看了标准,安全配制标准,这几个是从几个方面做的,第一个是降权,Root权限降为nobody权限。基于这些原则可以禁用一些默认组件,像Tomcat manager,经常会导致一些问题,通过他进行入侵。一些不要的硬件和不需要的扩展。禁止目录浏览,是在保证业务正常使用的情况下,隐藏一些版本信息;防止针对一些特定版本对扫描的攻击,定向错误页面,防止一些信息泄露;统一的日志格式,这个主要是做日志分析的时候用。

后面我们说一下防CC攻击这块,因为我们安全部门就只有三个人,开发力量也是挺小的,所以我们基本上做一些开源的东西,我们调研了几个ngx limit、Limit conn的模块,这个是ngx自带的一个模块,它会限制请求频率的限制,限制一下并发连接,limit upload主要是限制客户端上传速率。我们用这几个模块按照IP进行限速。我们不需要搜索引擎访问,也可以造成一些CC攻击,这时候我们用了Cookie或者Session.这些不需要搜索引擎了,但是用Cookie或Session的时候,获取cookie的过程中有可能造成一直不停的请求Cookie,再去拿cookie去做CC攻击,这个需要注意防止一下。

刚才是属于发送的时候,fail2ban是通过日志进行分析,这个是扫描Accesslog日志,利用Iptables进行攻击,可以提供阻拦和报警的工作。我们公司是用Ngnix做一些攻击的,我们最大的工程是在内部产品的检查。比如说Jeks那种,开源的项目管理软件,它没有做限制,可以做防止一些关破解的于漏洞。后面发现用IP去做防CC攻击的时候存在一些问题,后面我们就考虑自己写一个,用这个模块写一些MWA的扩展,再去对用户行为进行验证。主要是我们先有一个黑名单,用户请求过来之后看一下我们的黑名单,如果在黑名单里面我们返回错误页面,如果不是黑名单里面的看它是不是在白名单,这个白名单是临时的或者是永久的白名单。如果不是在白名单我们判断它统计频率,如果频率过快就发送验证页面,验证如果通过了,我们在js里面加一个OK,给我们服务器发送一个请求,看这个是不是我们发送的请求。看验证码是不是跟发送验证码是不是一样的,是一样的就验证通过,验证通过了就加在白名单里,不通过就放在黑名单。

我们这边还做了一些利用我们的监控平台Zabbix监控Http服务器的流量,从流量里面设一些报警,这是连接处,这是带宽。后面就是怎么去用HTTP服务器防止WEB攻击,分析这个字段,防止信息泄露的一些请求,比如看一下用户请求的是不是我们的备份文件。我们不光是用location还用一些常见内置变量,我们可以屏蔽一些扫描器的扫描,Host的变量可以仿造攻击,method可以禁用多余的ATB解决方法,Uri防止文件上传漏洞。他的URF和URS可以过滤URI上的一些外部攻击。当我们写的越多的时候,Ngnix配的文件就会越来越庞大,其实是防止不了一些攻击。

后面我们做了一个WAF,程岩他们做的是云WAF,我们是针对我们自己做的WAF平台。大概三个模块,这是用Ngnix做的,用Lua-waf模块做的,这个Lua-waf模块对一些来电请求进行一个协议解析,规则检测然后再把攻击拦截掉,还有一个日志模块,把这个日志发送到后台,后台可以管理规则和配置,把这个配置和白名单放到配置中心,这个WAF去配置中心下载规则。我们公司在《非你莫属》上招了一个人,因为他去《非你莫属》上发现了我们一个后台,我们的VP不是做技术的VP,给他的工资大概是8千元,后面这个节目播出之后我们公司后台沦陷,两周时间发生了50多起安全事件都是针对后台的。那个时候我们开始做应急,怎么做应急?有些后台只有我们总部去访问,我们就基于IP做访问控制,比如像这样的,后面有的部分由分公司访问,分公司IP不是固定的,我们用认证的方式去做。也是在Ngnix上,我们让用户输入一个密码,这个时候好像是安全了,但是后面发现还是被攻击了,原因是我们内部员工把密码泄露出去了。再后面我们想办法把密码做成动态口令,一次一密的,做了这个系统,也是用Ngnix反向代理,再里面用到了Ngnix的一个模块,用到了TVTP的一个算法。用户请求来我们有个白名单,白名单在后台做控制,我们首先把分公司的和总部的这些IP架构到我们白名单里面,用户的请求是属于白名单的请求,我们直接返回正常页面,如果不是我们白名单请求返回认证页面,这是认证页面邀请用户输一个用户名跟动态口令,动态口令是从用户电脑上或者手机端上安装了一个动态口令客户端,左边这张图是手机上的动态口令。

用户从一个客户端把动态口令输入进去以后,就到Ngnix这块儿了,Ngnix去把用户名跟密码去OTP服务器验证一下,看它验证通没通过,它通过就返回一个正常的页面,不通过返回一个错误的页面。这里面还有一些其他的工作,比如说发现一些口令破解的行为或者动态口令绑定的功能。

后面是对日志的一些分析,这块儿刚才京东的同学也是分析了一些东西,其实也是差不多。我们是基于规则,把那个进行关联分析,经过应用的指纹识别攻击是不是有效的,可以把扫描的行为识别出来,另外程岩也提到他们用的机器学习。我们这块儿其实还没用上,我的分享结束了。

关注中国IDC圈官方微信:idc-quan或微信号:821496803 我们将定期推送IDC产业最新资讯

查看心情排行你看到此篇文章的感受是:


  • 支持

  • 高兴

  • 震惊

  • 愤怒

  • 无聊

  • 无奈

  • 谎言

  • 枪稿

  • 不解

  • 标题党
2017-07-14 09:25:07
空调制冷 高温桑拿天如何让机房降温
随着数据中心容量的增加、规模的扩大以及新型设备与技术的引入,服务器和关键设备时刻受到以温度过高为代表的各种威胁,数据中心运行与维护的难度也在加大。夏天来了,数据 <详情>
2017-07-12 17:58:34
机房建设 香港服务器比较有名的机房有哪些?
服务器机房的存在,为服务器提供了非常多的安全方面的保护,在现在网络不断发展的大环境下,我们将计算机机房、通讯机房、互联网数据中心IDC(Internet Data Center)机房 <详情>
2017-06-30 09:35:29
运维管理 研究表明:直接连接到云端至少降低50倍的延迟
对于将公共云作为其数据中心解决方案的一部分的企业来说,网络延迟是一个很大的问题。对于某些企业而言,还没有考虑到这种延迟,直到他们已经承诺使用公共云,并迅速成为一 <详情>
2017-06-26 15:33:27
市场情报 中科曙光发布全球首款Multi-Host InfiniBand服务器M-Pro
近日,亚洲第一大高性能计算厂商,中科曙光公司的全球首款Multi-Host InfiniBand服务器M-Pro 新品发布,该产品与曙光金牌刀片服务器TC4600E完美融合实现量产。 <详情>
2017-06-22 13:53:59
空调制冷 酷热难耐?!信维定制液冷模块给服务器“装空调”
大到数据中心机房,小到一台服务器,大多数都采用风冷的制冷方式。但是众所周知,风冷的一个致命缺陷是冷却系统能耗高、噪音大以及散热效果不佳。因为空气与液态冷媒相比, <详情>