虽然现在的网站安全防护技术已经得到了很大的提升,但是相应地,一些网站入侵技术也会不断地升级、进化。如何建设网站,因此,企业在进行网站建设管理的时候,一定不可以轻视网站安全这一块,建议企业周期性、长期性地用一些基本方法来检测企业网站的安全性,确保网站顺利、正常地运营下去。
渗透测试其实就是一个攻防对抗的过程,所谓知己知彼,才能百战百胜。如今的网站基本都有防护措施,大企业或大单位因为网站众多,一般都会选择大型防火墙作为保护措施,比如深信服、天融信等等,小单位或单个网站通常会选择D盾、安全狗或开源的安全软件作为保护措施,一些常见的开源waf有:OpenResty、ModSecurity、NAXSI、WebKnight、ShadowDaemon等等。
当然,服务器没装防护的的网站还是有的。而这些防护措施都有对常见漏洞的防御措施,所以在实际的漏洞挖掘和利用过程中必须考虑这些问题,如何确定防护措施,如何对抗防护措施。web常见漏洞一直是变化的,隔一段时间就会有新的漏洞被发现,但实战中被利用的漏洞其实就那么几个,就像编程语言一样,稳坐前三的永远是c、c++。
早上,我突然被客户告知,他部署在云平台的服务器被检测到webshell,已经查杀了,而且云平台检测到这个ip是属于我公司的,以为是我们公司做了测试导致的,问我这个怎么上传的webshell,我当时也是一脸懵逼,我记得很清楚这是我的项目,是我亲自测试的,上传点不会有遗漏的,然后开始了我的排查隐患工作。
巡检查杀首先,我明白自己要做的不是找到这个上传的位置是哪里出现的,我应该登上服务器进行webshel查杀,进行巡检,找找看是否被别人入侵了,是否存在后门等等情况。虽然报的是我们公司的ip,万一漏掉了几个webshell,被别人上传成功了没检测出来,那服务器被入侵了如何能行。所以我上去巡检了服务器,上传这个webshell查杀工具进行查杀,使用netstat-anpt和iptables-L判断是否存在后门建立,查看是否有程序占用CPU,等等,此处不详细展开了。万幸的是服务器没有被入侵,然后我开始着手思考这个上传点是怎么回事。
文档上传漏洞回顾首先,我向这个和我对接的研发人员咨询这个服务器对外开放的,要了之后打开发现,眼熟的不就是前不久自己测试的吗?此时,我感觉有点懵逼,和开发人员对质起这个整改信息,上次测试完发现这个上传的地方是使用了白名单限制,只允许上传jpeg、png等图片格式了。当时我还发现,这个虽然上传是做了白名单限制,也对上传的文档名做了随机数,还匹配了时间规则,但是我还是在返回包发现了这个上传路径和文档名,这个和他提议要进行整改,不然这个会造成这个文档包含漏洞,他和我反馈这个确实进行整改了,没有返回这个路径了。
开源IDS系统有很多种,比较有名的系统有Snort、Suricata、Zeek等,我们选用Suricata是因为Suricata有多年的发展历史,沉淀了的各种威胁检测规则,新版的Suricata3与DPDK相结合,处理大级别的数据分析,Suricata支持Lua语言工具支持,可以通过Lua扩展对分析的各种实用工具。
Suricata与Graylog结合的原因,是因为在Graylog开源社区版本对用数据的数据处理量没有上限限制,可以扩展很多的结点来扩展数据存储的空间和瞬时数据处理的并发能力。Suricata在日志输出方面,可以将日志的输出,输出成标准的JSON格式,通过日志脚本收集工具,可以将日志数据推送给Graylog日志收集服务,Graylog只要对应创建日志截取,就可以对JSON日志数据,进行实时快速的收集与对日志数据结构化和格式化。将JSON按Key和Value的形式进行拆分,然后保存到ElasticSearch数据库中,并提供一整套的查询API取得Suricata日志输出结果。
在通过API取得数据这种形式以外,Graylog自身就已经支持了插件扩展,数据面板,数据查询前台,本地化业务查询语言,类SQL语言。通过开源IDS与开源SIEM结合,用Suricata分析威胁产生日志,用Graylog收集威胁事件日志并进行管理分析,可以低成本的完成威胁事件分析检测系统,本文的重点还在于日志收集的实践,检测规则的创建为说明手段。
Suricata经过多年发展沉淀了很多有价值的威胁检测规则策略,当然误报的情况也是存在的,但可能通过手动干预Surcicata的规则,通过日志分析后,迭代式的规则,让系统随着时间生长更完善,社区也提供了可视化的规则管理方案,通过后台管理方式管理Suricata检测规则,规则编辑本文只是简单介绍。Scirius就是一种以Web界面方式的Suricata规则管理工具,可视化Web操作方式进行管理Suricata规则管理。
其实从开发的角度,如果要保证代码至少在逻辑方面没有明显的漏洞,还是有些繁琐的。举个简单的例子,如网站的数据检验功能,不允许前端提交不符合当前要求规范的数据(比如年龄文本框部分不能提交字母)。那么为了实现这个功能,首先开发者肯定要在前端实现该功能,直接在前端阻止用户提交不符规范的数据,否则用户体验会很差,且占用服务器端的资源。
但是没有安全意识或觉得麻烦的开发者就会仅仅在前端用Js进行校验,后端没有重复进行校验。这样就很容易给恶意用户机会:比如不通过前端页面,直接向后端接口发送数据:或者,前端代码编写不规范,用户可以直接在浏览器控制台中用自己写的Js代码覆盖原有的Js代码;或者,用户还可以直接在浏览器中禁用Js;等等。总之,前端的传过来的数据可信度基本上可以认为比较低,太容易被利用了。
而我的思路都是很简单的,就是关注比较重要的几个节点,看看有没有可乘之机。如登录、权限判定、数据加载等前后,对方是怎么做的,用了什么样的技术,有没有留下很明显的漏洞可以让我利用。像这两个网站,加载的Js文档都没有进行混淆,注释也都留着,还写得很详细。比较凑巧的是,这两个网站都用到了比较多的前端的技术,也都用到了sessionStorage。
SINE安全网站漏洞检测时必须要人工去审计漏洞和查找漏洞找出问题所在并修复漏洞,对各项功能都进行了全面的安全检测。
青岛四海通达电子科技有限公司坐落于美丽的海滨城市--青岛,是致力于网站安全和服务器安全的和推动者。安全服务于互联网金融、游戏平台、移动APP软件、O2O&电商、支付平台、外贸等行业,已精诚服务于上千家网站。公司的创立者为国内早从事互联网安全技术研究和服务器安全方面的,在安全渗透、身份认证安全、网站安全、服务器安全维护、应用攻防等技术方面有深厚的积累和独到的创新。 SINE安全公司专注于安全领域十年,拥有的安全团队,拥有自己的内部信息漏洞平台,时刻洞察整个互联网的安全态势、漏洞信息、以及的攻击方法。正因为如此,我们具备攻击者视角以及防御者视角的多维度防御方法,所谓未知攻,焉知防,知己知彼,百战不殆! 公司的安全服务项目包含服务器安全服务、网站安全服务、服务器代维服务、安全渗透测试服务。内容涉及服务器安全设置,底层系统的安全加固,深度攻击防御,服务器安全日志审查,网站漏洞测试,网站防劫持跳转,SQL防注入攻击,网站木马清理、网站程序代码安全审计,Windows 、Linux、服务器维护,服务器环境配置,LAMP环境配置,IIS、Nginx、Apache、JSP+Tomcat数据库集群、网站防攻击防篡改方案,网站漏洞检测,模拟入侵攻击,APP软件安全渗透(Android、IOS),服务器漏洞测试等等。 SINE安全公司研发的服务器安全防御系统,具有服务器攻击自动防御,网站攻击安全分析,攻击行为自动,调用底层IIS防火墙,Linux内核级防火墙,远程桌面军规认证,端口安全过滤,多年来研发的内部漏洞信息安全系统(包含各种开源程序的漏洞,DEDECMS、DISCUZ、ECSHOP、Wordpress、Magento、PHPCMS、Thinkphp、马克斯MAXCMS、等网站程序、以及MYSQL、Apache Serv-u、Tomcat等常用服务器软件的漏洞信息),以及社工库系统,源代码安全审计系统(程序代码的安全审查,能发现SQL注入,代码执行,命令执行,文件包含,绕过转义防护,拒绝服务,XSS跨站,信息泄露,任意URL跳转等漏洞)。 多个安全系统为客户提供了全面的、的、化的安全维护方案,进行技术支持与服务,有效的解决了入侵攻击,漏洞带来的安全威胁。 特别是我们在国内率先开展网站安全服务业务,建立了完善的安全服务体系(SafeServer),具备国内网站安全服务资质,目前已成功为多家企事业单位和个人用户进行了网站及服务器安全维护服务,受到所有用户的一致好评和认可,被青岛本地企业评为“值得信赖的网络安全公司”,经过数十年的发展,sine安全已成长为面向国际市场的网站服务器安全解决方案提供商。