等保三级中 应用安全的防范方案

系统根据用户类型及其相应得权限,将各类用户划分为几个级别,每个级别再按权限大小分为控制可以访问的系统资源。 规则表:系统的访问规则采用访问规则表,根据安全策略用访问规则给用户 授权。基于角色的访问控制:基于角色访问控制符合现实中组织形态与管理模式。对资源的许可权赋予角色,角色可以与一个或多个许可权相联系,可以根据 实际工作需要生成或取消角色。每个用户可以被赋予一个或多个角色,通过角色 制约其对资源的访问,甚至只有在需要时才能够动态激活某些角色,实现用户与访问权限的逻辑分离。通过基于角色的访问控制方法很好地描述角色层次关系, 实现最少权限原则和职责分离的原则。

业务系统要有完善的日志功能,保证每一项操作都有据可查,记载任何进入系统的行为,以及对重要数据的修改情况和监测系统的运行,保证在数据发生问 题时有据可查。日志内容包括:操作人员、涉及模块,操作内容。以及对一些重 要的表的操作前、操作后变化的记录,同时有日志查询功能,可以按用户要求对日志进行查询。日志功能包括:(1)记录和跟踪各种系统状态的变化,如提供对系统故意破坏行为的记录 和对系统安全功能违反的记录。(2)实现对各种安全事故的定位,如监控和捕捉各种安全事件,记录发生 的时间、发生地点和事件类型;(3)保护、维护和管理日志。具体功能由应用系统的日志记录和数据库的日志记录信息,配合实现。

网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的 环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、 非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。网站渗 透测试由腾讯安全实验室安全专家进行,提供黑盒、白盒、灰盒多种测试方案, 更全面更深入的发现客户的潜在风险。

从互联网诞生起,安全威胁就一直伴随着网站的发展,各种 Web 攻击和信 息泄露也从未停止。常见的攻击手段有 XSS 攻击、SQL 注入、CSRF、XSS 等。

是一种网络的攻击方式,CSRF 是一种危险的恶意请求利用,攻击者利用用 户本地的 cookie,冒充用户发送一些恶意的请求,而这些请求对服务器来说是完全合法的。可能造成的后果是攻击者冒用用户名义发送消息、盗取账号、消耗账 号内资源等。对于 CSRF 攻击,在软件开发设计阶段可以做如下防范:

这是一种比较简单有效的方法,它强制用户必须与应用进行交互才能完成最终的请求。特别是账户交易这种核心步骤,强制用户输入验证码,才能完成转账。在通常情况下,验证码够很好地遏制 CSRF 攻击。但增加验证码降低了用户的体验,网站不能给所有的操作都加上验证码。所以只能将验证码作为一种辅助手段, 在关键业务点设置验证码。

Referer 是header 的一部分,当浏览器向 Web 服务器发送请求时,一 般会带上 referer 信息告诉服务器是从哪个页面链接过来的,服务器以此可以获 得一些信息用于处理。可以通过检查请求的来源来防御 CSRF 攻击。正常请求的 referer 具有一定规律,如在提交表单的 referer 必定是在该页面发起的请求。所以 通过检查 http 包头 referer 的值是不是这个页面,来判断是不是 CSRF 攻击。

目前比较完善的解决方案是加入 Anti CSRF Token,即发送请求时在 HTTP 请求中加入一个随机产生的 token,保证其不可预测性,让攻击者无法猜测重要 请求所需的参数。实际应用中,我们可以把 token 隐藏在表单中,服务器验证提 交的 token 是否与 session 或 Cookie 中的值一致,来判断该请求是否合法。如果不合法,直接拒绝该请求。

为了和层叠样式表(Cascading Style Sheets,CSS)区分开,跨站脚本在安全领域叫做 XSS。攻击者往 Web 页面里注入恶意代码,当用户浏览这些网页时,就会执行其中的恶意代码,可对用户进行盗取 Cookie 信息、会话劫持、改变网 页内容、恶意跳转等各种攻击。由于 XSS 漏洞易于出现且利用成本低,所以曾 被 OWASP(一个关注 Web 应用程序安全的非营利性组织)列为当前的头号 Web安全威胁。对于 XSS 攻击,我们在软件开发设计时,可以做如下防范设计:

输入过滤 永远不要相信用户的输入,对用户输入的数据做一定的过滤。如输入的数据是否符合预期的格式,比如日期格式,Email 格式,电话号码格式等等。同时, 后台服务器需要在接收到用户输入的数据后,对特殊危险字符如进行过滤或者转义处理,然后再存储到数据库中。

输出编码 服务器端输出到浏览器的数据,可以使用系统的安全函数来进行编码或转义来防范 XSS 攻击。输出 HTML 属性时可以使用 HTML 转义编码(HTMLEncode) 进行处理,将 &,<,>,",' 等进行转义之后再输出到页面代码中。

HttpOnlyCookie 这是预防 XSS 攻击窃取用户 Cookie 最有效的防御手段。Web 应用程序在设 置 Cookie 时,将其属性设为 HttpOnly,客户端脚本将无法获取 Cookie 的值,这 样能有效就避免该网页的 Cookie 被客户端恶意 JavaScript 窃取,保护用户 Cookie 信息安全。

SQL 注入漏洞 注入攻击是 Web 安全领域的一种常见威胁,其本质就是把用户输入的数据 当做代码来执行。前面提到的XSS 其实也是一种针对 HTML 的注入,SQL 注入就是把非法的 SQL 命令通过 Web 表单等方式提交,在服务端后台执行,实现篡改数据库等恶意行为。在实际开发中,SQL 注入的防御可以从以下几个方面层层改进,让注入的风 险降到最低。

输入校验 对输入的数据进行校验,过滤可能引发注入漏洞的字符,并检查输入的数据 类型,如 id 必须为 Interger,输入邮箱严格按照邮箱的格式,日期也必须有特定格式等等,最大程度对抗恶意攻击。

参数化语句 使用预编译的参数化查询语句,不要拼接 SQL 语句。也可以使用安全的存 储过程,先将 SQL 语句定义在数据库中。

数据库权限 严格管理数据库权限,不要使用管理员权限连接数据库。遵循最小权限原则,对不同应用的数据库连接权限进行严格控制。

加密存储重要信息 SQL 注入的防范,需要遵循将数据和代码分离的原则,只要设计并实施了合 理的安全防御方案,完全可以避免此种危险。

展开阅读全文

页面更新:2024-05-13

标签:攻击者   语句   漏洞   恶意   角色   权限   页面   操作   格式   服务器   测试   方案   数据   用户   系统   科技   日志

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top