【Web安全】访问控制

目录

1、权限与授权

2、垂直权限管理

3、水平权限管理

4、OAuth


1、权限与授权

        权限控制,或者说访问控制,指的是当用户需要执行某个操作时,系统对这种操作的权限限制就是权限控制。

        在网络中,一般是通过路由设备或者防火墙建立基于IP的访问控制。

        在操作系统中,对于文件也有访问控制,如在Linux中,就可以用r、w、x表示对文件的读、写、执行三种操作,这三种操作同时对应着三种主体:文件拥有者、文件拥有者所在的用户组、其他用户。

        在Web应用中,常见的访问控制可以分为“基于URL的访问控制”、“基于方法的访问控制”和“基于数据的访问控制”。             

        通常网页的未授权访问只是把需要保护的页面“藏”起来,但只要攻击者构造出正确的URL就可以访问到这些页面,通过对后台路径的字典的爆破,很容易得到URL路径。比如管理员页面的URL经常包含admin这样的敏感词汇。      

2、垂直权限管理

        访问控制实际上是建立用户与权限之间的对应关系,这种基于角色的访问控制,简称RBAC。

         RBAC事先在系统中定义出不同的角色,不同角色有不同权限,一个用户可能拥有多个角色,角色之间有高低之分,在系统验证权限时,只需要验证用户所属的角色,再根据角色的权限进行授权。

        这种基于角色的权限管理,我们称为“垂直权限管理”

        比如一个普通用户通过某些方法获得了管理员的权限,则发生了垂直越权访问。

3、水平权限管理

         通过某种方法可以获得其他同等级用户的权限,称为水平权限越权。

        例如用户可通过修改下面地址中的id就可以查看他人的来往信件、查看和修改他人的专辑信息。(优酷网用户越权访问)

         在RBAC这种“基于角色的访问控制”的模型下,系统只会验证用户A是否属于角色RoleX,而不会判断用户A是否只能访问只属于用户B的数据DataB,因此,发生了越权访问,这种问题我们就称为“水平权限管理问题”

         相对于垂直权限管理来说,水平权限问题出在同一个角色上。系统只验证了能访问数据的角色,既没有对角色内的用户做细分,也没有对数据的子集做细分,因此缺乏一个用户到数据之间的对应关系。由于水平权限管理是系统缺乏一个数据级的访问控制所造成的,因此水平权限管理又可以称为“基于数据的访问控制”。

4、OAuth

        OAuth是一个在不提供用户名和密码的情况下,授权第三方应用访问Web资源的安全协议。

OAuth和OpenID都致力于让互联网更加的开放。OpenID解决认证问题,OAuth则更注重授权。

        比如在人人网上想要导入MSN里的好友,如果没有OAuth,则需要在人人网上登录MSN,人人网则会掌握用户的MSN的账户和密码。

         而使用OAuth使得用户在不需要向人人网提供MSN用户名和密码的情况下仍可以导入MSN好友名单。

        在OAuth中,有3个角色:Client消费方、Server服务提供方、Resource Owner用户。在上面的例子中,Client是人人网,Server是MSN,Resource Owner是用户。

        下图是新浪微博OAuth的授权过程。

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RexHarrr

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值