机智云Web应用程序安全
本帖最后由 白玛卓玛 于 2015-1-1 20:10 编辑一、用户登录和权限系统
首先,用户必须登录才能够访问机智云Portal,使用邮箱和密码进行登录。登录过程中传输的密码是不可逆加密后的密文,即使HTTP传输被**,密码也不会泄露。如果用户的登录邮箱泄露,攻击者可能会使用邮箱重置密码,这时系统会发送一封重置密码的邮件到用户的邮箱当中,点击里面的链接才可进行密码重置,只要用户邮箱密码没有同时泄露,攻击者就无法重置密码。另外,密码在数据库中的存储形式也是不可逆加密后的密文,即使是管理员也无法知道用户的密码。
其次,系统还强制了https方式访问,这样就使传输数据更加安全。
再次,系统实现了基于**作粒度的权限管理,对每个用户都分配了对应的角色以及**作权限。系统后台的角色有超级管理员,普通管理员,对于每个二级域名的用户自定义Portal也有对应的管理员、开发人员和销售人员等角色。不同的角色有不同的权限,对于敏感**作,还需要输入短信验证码进行验证,这样即使某个人员的密码被人窃取,对系统的危害也可以得到隔离,不会影响整个系统的运营。
二、防 XSS
XSS全称Cross Site Scripting,叫做跨站脚本攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。
对于动态输入的内容,系统将所有特殊字符做了转义,再次显示该内容时,所有特殊字符都以其它字符代替,如‘>’显示为‘>’等,这样就使所有客户端脚本注入攻击失效。
系统对于存储用户登录session的cookie设置为HttpOnly,表示这个cookie只有服务端才能访问,客户端脚本是无法访问的。这样用户的浏览器运行了攻击者发送过来的攻击脚本,攻击者也无法获取到用户的登录cookie,防止了攻击者使用用户登录cookie绕过密码验证。
三、防 CSRF
CSRF全称Cross-site request forgery,叫做跨站请求伪造。当用户登录一个A网站时,他的A网站登录cookie自动存储在浏览器上,这时如果他在网络上与攻击者聊天,并且攻击者发来一张图片,里面包含了A网站的一个表单请求URL,并预先设置好请求参数,用户点击之后,不知不觉就向A网站发送了这个请求,因为这时用户已经登录A网站,所以这个请求将被执行。
机智云系统通过在每个表单里设置一个隐藏的 CSRF Token来防止 CSRF 攻击,其他参数攻击者都可以预先设置好,但是CSRF Token是每次访问都从服务器动态获取的,攻击者无法伪造,这样就有效防止攻击者进行CSRF攻击。
四、防 SQL 注入
SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的**作,其主要原因是程序使用用户传入的参数进行SQL语句动态拼接,并且没有细致过滤所有非法输入导致。
机智云系统使用ORM系统进行数据库**作,在程序中并不会动态拼接任何SQL语句,可以有效防止SQL注入攻击。
五、防文件上传攻击
文件上传攻击是指攻击者通过Web应用的文件上传功能,上传恶意执行的脚本,如果系统没有设置好文件路径权限,攻击者将可以通过访问上传的恶意脚本文件,达到执行恶意脚本,进而破坏系统的目的。
机智云系统对可执行脚本目录和静态文件目录做了严格的区分,静态文件目录完全没有执行权限。另外,对于用户上传的文件,系统直接已二进制的方式存储在数据库中,恶意脚本根本没有执行的机会。
更多关于机智云安全信息请至机智云开发者论坛www.gizwits.com
页:
[1]