在Web安全方面,面对各种安全漏洞,IT和安全专业人员通常采取防御措施,而缺少积极主动的措施。
在各种类型和规模的企业中,有些网络安全人员(包括CIO和其他高管)称他们会定期扫描其网站和应用。有些人称他们的应用是正在进行的渗透测试工作的一部分,并感觉这可确保安全性。还有些人认为管理web安全漏洞不是他们的职责,因为网站和应用托管在云端。
我理解前两种做法,但第三种则不可原谅。企业需要专注于安全工作,特别是安全评估,对web环境的评估可确保安全性,而无论它们托管在哪里。
这个问题是可以解决的。首先,现在有很多非常好的在线资源可提升网络安全状态,例如OWASP Top 20和OWASP WebGoat项目。
我发现有些人从未听说过OWASP,他们不了解它可为其信息安全计划带来的价值。如果您希望提高网络安全状态,对于初学者来说,我建议您查看OWASP Top 10以及其网站上其他资源。OWASP Top 10仍然还是2013年版,目前新版本正在公开征询阶段,计划在2017年8月之前发布。
如果您想要了解应该学习哪些web安全漏洞,Foundstone软件应用安全服务工具(例如Hacme Bank)是非常不错的工具。虽然它们已经过时,但仍然有效。您可关注这些资源和其他免费工具。
在web安全方面,您无法修复您不知道的网络漏洞。测试web安全漏洞应该被视为独立的计划,至少对于核心或关键应用是这样。这意味着您需要将个别应用作为独立项目进行测试。
我看到太多扫描(通常使用通用网络漏洞扫描程序执行)和渗透测试掩盖了企业web应用的重要部分。基于您web系统的可视性,以及高潜在风险,您应该花时间对应用进行测试,无论是否使用用户身份验证。您应该在代码中先查找明显的漏洞,然后再找不那么明显的漏洞。
下面是内部和云技术应用、营销网站及其随附内容管理系统中最常见的web安全漏洞,以及网络基础设施系统和物联网设备中经常被忽视的问题:
1.跨站脚本,这可方便客户端漏洞利用。
2.SQL注入,这可允许直接的数据库连接以及远程命令提示符。
3.低强度或默认密码以及弱密码策略,包括无入侵者锁定,这可方便密码破解。
4.糟糕设计的密码重置功能,这可被攻击者操纵或者用于创建不必要的密码泄露。
5.用户会话管理问题,例如使用在初次登录和注销后未更改的cookie,这可通过中间人攻击或本地浏览器操纵被攻击者利用。
6.开放代理(内部和外部),允许人们使用您的网络进行web访问或者绕过内部安全控制
7.输入验证漏洞,可方便HTTP重定向和帧注入
8.网络表单缺乏CAPTCHA,这可创造电子邮件拒绝服务攻击。
还有缺少OS和应用修补程序,虽然这并不直接相关,但这会影响Web安全性,因此请务必对其进行测试。
Web安全的目标不是寻找所有系统中的所有漏洞。您需要专注于寻找重要应用和系统中的紧急web安全漏洞。当您专注于紧急和重要漏洞时,根据80/20定律,通过查找并解决20%的漏洞,您可解决它们制造的80%的问题。
在您控制好后,您可进一步查找所有web系统中的漏洞。您可使用Nmap或SoftPerfect Network Scanner等工具进行端口扫描,以寻找在通常端口(例如80、443和8080)运行的网站和应用。您会发现大量您可能不知道的系统,扫描这些系统,并查看它们包含的漏洞。即使是多功能打印机和复印机的web端口都可能带来风险。如果您没有找到任何漏洞,说明您不够用心,或者没有使用正确的工具(即专业web漏洞扫描仪,例如Netsparker和Acunetix Web安全扫描仪)。
从开发和质量保证一直到测试和持续监督,您需要将安全视为整体安全计划的核心组件,否则您将继续面临外部攻击者、恶意内部人员和恶意软件带来的风险。
请不要再使用通用扫描和测试,这非常重要。专业扫描测试不仅会发现更多漏洞,还能让您更好的了解您的网络,从而先解决最重要的风险。