Web 侧防御指南
作为开放在外的应用系统,Web 应用常常会被攻击者作为首要的攻击目标。他们攻击的主要步骤为:第一步,获取 Web 权限;第二步,提权获取系统权限;第三步,建立隐蔽通信隧道;第四步,寻找其他跳板机;第五步,在同网段横向渗透。Web 应用作为常规第一突破口,是安全防护的重中之重。除了常规的 Web 防护设备和监控设备外,为了防止黑客绕过 Web 检测设备,Web 侧防御应参考如下几类。
一、Web 安全漏洞
除了常见的 Web 漏洞(OWASP TOP 10)和常规渗透测试,还应注意以下可能产生漏洞的点。
1)开发框架漏洞
出于某种原因,开发者一般都会在成熟的开发框架上开发应用系统,不会改动开发框架的代码。这样一来,开发者在引入开发框架的同时可能也把该开发框架的漏洞一同引入了开发的系统。目前主流的开发框架有 Struts2、Spring、ThinkPHP 等。安全建议如下:
① 充分掌握本单位应用系统利用的开发框架,跟踪漏洞平台和安全厂商披露的涉及本单位所用开发框架的漏洞,并根据处置建议加固或者升级。
② 遵从最小应用原则,删除不用的应用组件。
2)主流 CMS 漏洞
各个企业可能会采用比较成熟的 CMS 管理或发布网站内容。如果单位的 CMS 暴露在互联网上,且 CMS 名称和版本暴露的话,攻击者就可能会在各漏洞平台搜索该 CMS 已被披露的利用漏洞,或自己搭建环境挖掘该系统漏洞,挖掘成功后就可以成功攻陷目标企业 CMS。安全建议如下:
① 禁止将 CMS 暴露在互联网上;
② 尽量隐藏商业 CMS 名称和版本;
③ 删除不使用的功能模块。
3)编辑器漏洞
单位论坛、管理后台可能会引用第三方编辑器的丰富编辑功能。某些主流编辑器或版本存在漏洞,被攻击者发现的话也会存在较大的安全风险。安全建议如下:
① 充分掌握本单位引用的编辑器名称和版本,跟踪漏洞平台和安全厂商披露的涉及本单位所用编辑器的漏洞,并根据处置建议加固或者升级。
② 遵从最小应用原则,删除不用的功能组件。
4)商业系统漏洞
各个单位可能会采用比较成熟的商业 Web 系统,如果该商业系统暴露在互联网上,且系统名称和版本暴露的话,攻击者会在各漏洞平台搜索披露的该商业系统利用漏洞,或自己搭环境挖掘该系统漏洞,挖掘成功后攻击目标单位商业系统。安全建议如下:
① 尽量隐藏商业系统名称和版本;
② 删除不用的功能模块;
③ 及时更新商业厂商提供的漏洞补丁。
5)开源软件系统漏洞
开源软件由于其便利性和经济性,广受开发厂商和开发者欢迎,IT 系统复杂的单位都或多或少使用了开源软件。由于其开源性,攻击者可通过白盒测试审计代码中存在的安全漏洞,如果所使用的开源系统被攻击者发现,则极有可能被攻陷。安全建议如下:
① 尽量隐藏开源系统的指纹痕迹和版本;
② 删除不用的功能模块;
③ 使用开源软件之前进行代码审计。
6)Web 接口漏洞
Web 接口由于具有隐蔽性,在渗透测试时很容易被忽略。不安全的接口开放在互联网上,一旦被攻击者发现则极容易被利用。安全建议如下:
① 编写 Web 接口安全规范,要求接口开放必须符合安全规范。
② Web 接口引用增加鉴权和身份认证。
③ 加密和签名用于确保 API 请求与响应在传输过程中的数据保密性和完整性(未被篡改)。
④ 若 API 必须使用文件上传功能,则需要对上传文件扩展名(或强制重命名)、内容、格式进行合规检测,同时关闭上传文件夹执行权限。
二、管理后台及弱密码
很多企业的运维人员为了方便会把应用管理后台发布在互联网上,这就使得网站后台容易被攻击者盯上。一旦后台密码泄露或存在安全漏洞,攻击者可直接获得网站管理权限,部署后门。安全建议如下:
① 禁止后台地址对外网开放;
② 限制访问后台的 IP 地址;
③ 禁止默认密码、弱口令;
④ 增加验证码功能以防止暴力破解;
⑤ 测试用户名登录和密码参数是否存在 SQL 注入。
三、重要集权系统
组织内的重要集权系统(攻陷即可获得组织内大部分系统权限的系统都可以视为重要集权系统)是攻击者在进入内网后横向拓展的重要目标,如域控、4A、堡垒机、集中管控、集中身份认证系统、终端管理系统。重要集权系统一定要重点防护,安全建议如下:
① 制定重要集权系统访问白名单,只有受认可的 IP 才可以访问管理页面或系统;
② 定期对重要集权系统进行漏洞扫描,对高危漏洞必须打补丁;
③ 对重要集权系统进行渗透测试,针对漏洞进行整改;
④ 在重要集权系统的主机上安装入侵防护软件和杀毒软件,开启审计日志;
⑤ 清理不用的、过期的权限账号。
四、安全设备自身安全
安全设备自身的安全性同样重要,一旦安全设备存在安全漏洞,那么它可能就会成为攻击者逃避检测、收集信息、监控防护人员举动、修改安全策略等的“帮凶”,使部分或全部防护和监控手段形同虚设。安全设备自身安全的建议如下:
① 为安全设备管理入口单独划分安全域;
② 为管理入口配置白名单访问;
③ 对安全设备进行安全检测,如渗透测试、安全加固、漏洞扫描;
④ 禁止安全设备管理入口暴露在互联网上;
⑤ 安全设备自身开启日志审计。
版权声明: 本文为 InfoQ 作者【穿过生命散发芬芳】的原创文章。
原文链接:【http://xie.infoq.cn/article/d2b239a0eb3d46d4eafc3385d】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论