`
longzhun
  • 浏览: 362157 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

CAS安全性介绍

    博客分类:
  • CAS
 
阅读更多

cas 安全性是一个非常重要的 Topic cas v1 v3 ,都很依赖于 SSL ,它假定了这样一个事实,用户在一个非常不安全的网络环境中使用 SSO Hacker Sniffer 会很容易抓住所有的 Http Traffic ,包括通过 Http 传送的密码甚至 Ticket 票据。

TGC/PGT 安全性

       对于一个 cas 用户来说,最重要是要保护它的 TGC ,如果 TGC 不慎被 cas Server 以外的实体获得, Hacker 能够找到该 TGC ,然后冒充 cas 用户访问所有授权资源。
       SSO安全性问题比普通应用的安全性还 要严重,因为 SSO 存在一种门槛效应。以前即使 Hacker 能够截获用户在 Web 应用 A 的密码,它也未必能知道用户在 Web 应用 B 的密码,但 SSO 让 Hacker 只需要截获 TGC( 突破了门槛 ) ,即能访问所有与该用户相关的所有应用系统。
       PGT 跟 TGC 的角色是一样的,如果被 Hacker 获得,后果可想而知。
       从基础模式可以看出, TGC 是 cas Server 通过 SSL 方式发送给终端用户,因此,要截取 TGC 难度非常大,从而确保 cas安全性
       因此,某些人认为 cas 可以不使用 SSL 的想法需要更正一下, cas 的传输安全性仅仅依赖与 SSL 。
       跟 Kerberos 一样 TGT , TGC 也有自己的存活周期。下面是 cas 的 web.xml 中,通过 grantingTimeout 来设置 cas TGC 存活周期的参数,参数默认是 120 分钟,在合适的范围内设置最小值,太短,会影响 SSO 体验,太长,会增加安全性风险。

 

    <context-param>
        <param-name>edu.yale.its.tp.cas.grantingTimeout</param-name>
        <param-value>7200</param-value>
    </context-param>
TGC 面临的风险主要并非传输窃取。比如你登陆了之后,没有 Logout ,离开了电脑,别人就可以打开你的浏览器,直接访问你授权访问的应用 ) ,设置一个 TGC 的有效期,可以减少被别人盗用,或者被 Hacker 入侵你的电脑直接获取你系统目录下的 TGC Cookie 。
Service Ticket/Proxy Ticket 安全性
       首要明白, Service Ticket 是通过 Http 传送的,以为着所网络中的其他人可以 Sniffer 到其他人的 Ticket 。
cas 协议从几个方面让 Service Ticket 变得更加安全。
l         Service Ticket 只能使用一次。
cas 协议规定,无论 Service Ticket 验证是否成功, cas Server 都会将服务端的缓存中清除该 Ticket ,从而可以确保一个 Service Ticket 被使用两次。
l         Service Ticket 在一段时间内失效。
假设用户拿到 Service Ticket 之后,他请求 helloservice 的过程又被中断了, Service Ticket 就被空置了,事实上,此时, Service Ticket 仍然有效。 cas 规定 Service Ticket 只能存活一定的时间,然后 cas Server 会让它失效。通过在 web.xml 中配置下面的参数,可以让 Service Ticket 在多少秒内失效。
<context-param>
<param-name>edu.yale.its.tp.cas.serviceTimeout</param-name>
<param-value>300</param-value>
</context-param>
       该参数在业务应用的条件范围内,越小越安全。
l         Service Ticket 是基于随机数生成的。
Service Ticket 必须足够随机,如果 Service Ticket 生成规则被猜出(如果你使用了 ST+Helloservice+ 自增序列的方式, Hacker 就可以构造下一个 Ticket ), Hacker 就等于绕过 cas 认证,直接访问所有服务。
 
分享到:
评论

相关推荐

    敏捷Acegi、CAS构建安全的Java系统

    资源名称:敏捷Acegi、CAS 构建安全的Java系统 内容简介:本书是关于Acegi、CAS的权威教程,是Java/Java EE安全性开发者的必备参考书。无论是Java EE安全性编程模型的背景和基础知识,还是Acegi、CAS本身,还是...

    java多线程安全性基础介绍.pptx

    java多线程安全性基础介绍 线程安全 正确性 什么是线程安全性 原子性 竞态条件 i++ 读i ++ 值写回i 可见性 JMM 由于cpu和内存加载速度的差距,在两者之间增加了多级缓存导致,内存并不能直接对cpu可见。 ...

    django+cas环境部署

    2.nginx反向代理elasticsearch,elasticsearch的访问端口为9200,采用nginx反向代理之后,当django中需要从elasticsearch中查询数据的时候只需要访问nginx的8081端口,为了保护elasticsearch的安全性在nginx中设置了...

    cas单点登录技术

    3 CAS安全性 4 CAS工作模式 5 系统设计方案 6 CAS关键技术 6.1 域名规范 6.2 中文用户登录提交时乱码 6.3 客户端获取中文用户名及更多信息乱码 7 单点登录风险 7.1 无人看守的桌面 7.2 单点攻击 8 名词解释 9 附件 ...

    让CAS支持客户端自定义登陆页面——服务器篇[参考].pdf

    然而,需要注意的是,将登陆页面放到客户端本身就是降低了CAS的安全性,因为客户端的不安全性可能会导致用户密码泄露。 在服务器端修改时,需要添加一个新的流程来处理remote登陆请求。首先,需要在cas-servlet.xml...

    cas 服务器 实现单点登录

    用cas实现单点登录 构造实现 内外分离的系统 更高的提高系统的安全性

    论文研究-基于指纹识别和CAS的单点登录模型技术研究.pdf

    针对普通CAS单点登录模型安全性较差的缺陷,系统地分析了指纹识别和CAS单点登录模型,提出了一个综合两者优势的Web单点登录系统模型FP-CAS,探讨了用户登录流程的实施过程。该模型具有指纹安全系数高、不容易破解和...

    cas-server-extension-duo:CAS的Duo安全性两方面身份验证

    cas-server-extension-duo 该模块基于 。目标是提取使用Duo进行两因素身份验证所需的代码/配置,并将其打包到一个可以轻松包含在其中的模块中。 CAS部署。 使用移动设备,座机电话和硬件令牌为两因素身份验证提供...

    spark-pac4j:Sparkjava的安全性库:OAuth,CAS,SAML,OpenID Connect,LDAP,JWT。

    spark-pac4j项目是用于Sparkjava Web应用程序和Web服务的简单而强大的安全性库,它支持身份验证和授权,还支持注销和会话固定和CSRF保护等高级功能。 它基于Java 8,Spark 2.9和v4 。 它在Apache 2许可下可用。 代表...

    python django集成cas验证系统

    cas一般均放置在内网,加入cas验证则必须要求用户走vpn访问,提高安全性; cas可和域控等系统结合,密码定时过期; 基本认证统一走cas控制,减去开帐号等麻烦事; django 如何使用cas验证 django 的好处就是支持的包多,网上...

    基于CAS优化的LSTM循环神经网络的高压断路器故障预测方法研究.pdf

    时序预测可以帮助维护人员更好地预测和防止高压断路器故障,提高电力系统的可靠性和安全性。 知识点4:深度学习 深度学习是一种机器学习方法,旨在学习和表示复杂数据模式。深度学习模型可以自动学习和表示复杂的...

    spring-webmvc-pac4j:Spring Web MVC的安全性库:OAuth,CAS,SAML,OpenID Connect,LDAP,JWT ..

    spring-webmvc-pac4j项目是一个用于Spring Web MVC / Spring Boot Web应用程序和Web服务的简单而强大的安全性库。 它支持身份验证和授权,还支持注销和会话固定和CSRF保护等高级功能。 它基于Java 8,Spring Web MVC...

    buji-pac4j:用于Shiro的pac4j安全性库:OAuth,CAS,SAML,OpenID Connect,LDAP,JWT。

    buji-pac4j项目是Shiro Web应用程序和Web服务的简单而强大的安全性库,它支持身份验证和授权,还支持CSRF保护等高级功能。 它基于Java 8,Shiro 1.7和v5 。 它在Apache 2许可下可用。 代表认证机制。 它执行登录过程...

    spring-security-pac4j:用于Spring安全性的pac4j安全性库:OAuth,CAS,SAML,OpenID Connect,LDAP,JWT。

    spring-security-pac4j项目是一个用于Spring Security Web应用程序和Web服务(带有或不带有Spring Boot)的简单而强大的安全性库。 它支持身份验证和授权,还支持会话固定和CSRF保护等高级功能。 它基于Java 8,...

    undertow-pac4j:Undertow的安全性库:OAuth,CAS,SAML,OpenID Connect,LDAP,JWT。

    undertow-pac4j项目是Undertow Web应用程序的简单而强大的安全性库,它支持身份验证和授权,还支持应用程序注销和CSRF保护等高级功能。 它基于Java 8,Undertow 2和v4 。 它在Apache 2许可下可用。 代表认证机制。 ...

    DOTNET安全编程下载

    本书在后续章节中系统介绍了.NET安全的功能,其中包括运行库支持、证据、代码标识、权限、代码访问安全性(CAS)、基于角色的安全性等。在介绍了ASP.NET和COM+组件服务的章节之后,本书还特意留出了一部分章节来介绍...

    H3C云计算&亚信安全开局技术资料汇总集.rar

    目录: 1-1 DS87.5安装.wmv 1-2 DS 7.5 离线更新教程.wmv 1-3 1.SQL安装视频.wmv ...5 H3C CAS&UIS服务器虚拟化产品软硬件兼容性列表V2 00.xlsx 6 H3C CAS&亚信安全DSM 9.6虚拟化安全防护方案操作指导书V3.0.pdf

    2小时学会CAS+Security实现单点登录

    ?...学完SSM框架的同学就可以学习,能让你切身感受到企业级开发环境目标1:搭建单点登录服务端,开发单点登录客户端目标2:实现CAS 认证数据源设置目标3:更换CAS 登录页面目标4:掌握CAS与SpringSe

    部署H3C云计算系统:可靠性.pptx

    安全性5. 资源监控高可靠性(HA)高可靠性(High Availability,简称HA)功能可以为集群中所有虚拟机上运行的应用程序提供简单易用、经济高效的高可用性开启HA功能之后,CVM会持续对集群内所有的服务器主机与虚拟机...

    play-pac4j:Java和Scala中Play框架2的安全性库:OAuth,CAS,SAML,OpenID Connect,LDAP,JWT。

    play-pac4j项目是Play框架v2 Web应用程序和Web服务的简单而强大的安全性库,它支持身份验证和授权,还支持注销和CSRF保护等高级功能。 它可以与Deadbolt一起使用。 它基于Play 2.8(Scala v2.12或v2.13)和v5 。 它...

Global site tag (gtag.js) - Google Analytics