`
隐形的翅膀
  • 浏览: 498433 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多
2.3 CAS 安全性
       CAS 的安全性是一个非常重要的 Topic 。 CAS 从 v1 到 v3 ,都很依赖于 SSL ,它假定了这样一个事实,用户在一个非常不安全的网络环境中使用 SSO , Hacker 的 Sniffer 会很容易抓住所有的 Http Traffic ,包括通过 Http 传送的密码甚至 Ticket 票据。

2.3.1 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 。

2.3.2 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 认证,直接访问所有服务。

分享到:
评论

相关推荐

    CAS自定义加密和登录验证

    自定义加密和登录验证是增强CAS安全性的重要手段。 在CAS中自定义加密通常涉及到以下几个方面: 1. **票证加密**:CAS生成的票证(如Service Ticket和Proxy Ticket)需要进行加密,以防止被中间人窃取。默认情况下...

    CAS 框架 SSO的实现.pdf

    #### 五、CAS安全性 - **TGC/PGT安全性** - TGC(Ticket Granting Cookie)用于存储用户认证状态,必须加密存储,防止被恶意读取。 - PGT(Proxy Granting Ticket)用于代理认证场景,同样需要进行加密保护。 - ...

    cas单点登录技术

    CAS安全性主要体现在其票证(Ticket)机制上,用户通过验证后,CAS服务器会生成一个服务票证(Service Ticket),这个票证只能被一次使用,且在一段时间后自动失效,有效防止了重放攻击。此外,CAS支持多种认证方式...

    CAS单点登陆图文教程

    5. **CAS安全性与最佳实践**: - 安全配置:设置SSL/TLS以保护通信,防止中间人攻击。 - 审计日志:理解和配置CAS的日志系统,以便跟踪和审计登录活动。 - 集成OAuth、OpenID Connect等现代身份验证协议以增强...

    SSO Single_Sign-on__in_Action(cas)

    CAS的设计充分考虑了安全性因素,通过以下措施提高安全性: - **加密通信**:利用HTTPS协议保证通信的安全性。 - **票据管理**:通过有效的票据管理和过期机制防止攻击。 - **灵活的身份验证方式**:支持多种认证...

    acegi安全策略与CAS整合

    文档的目的是确保用户能够成功地将AceGI安全框架集成到他们的应用程序中,利用CAS服务器进行单点登录(SSO)和身份验证,以提高系统的安全性。 0.2 文档范围: 此文档涵盖了从安装CAS服务器,配置AceGI安全策略,到...

    cas-4.1.7最新

    CAS 4.1.7是该框架的一个特定版本,发布于2015年,旨在提供稳定性和安全性改进。 CAS的核心功能包括: 1. 单点登录:用户只需一次登录,就能访问所有支持CAS的服务,减少了用户的记忆负担和登录步骤。 2. 服务验证...

    cas4.2.7 实现其他系统和cas互相认证互信

    这不仅提高了用户体验,减少了重复登录的麻烦,还增强了整个系统的安全性,因为所有认证过程都集中管理在CAS服务器上。文件"cas-4.2.7-自定义登录"可能包含了关于如何自定义CAS登录界面或认证流程的详细指南,这对于...

    cas集成AD域

    在企业环境中,尤其是在已部署了Active Directory(AD)域服务的情况下,将CAS与AD集成可以实现用户通过一次认证就能访问所有系统,提升用户体验并加强安全性。 AD域是微软Windows Server操作系统中的一个组件,它...

    H3C_CAS_LINUX安装cas-tools

    虚拟化技术可以提高服务器的利用率,简化服务器管理,提高服务器的安全性和可靠性。 CAS Tools 简介 CAS Tools 是一个功能强大的虚拟化管理平台,能够帮助管理员更方便地管理和维护虚拟机。CAS Tools 提供了多种...

    cas-client-2.0.11.zip_cas client_cas-clie_cas-client-2._java CAS

    6. **安全性**:CAS客户端提供了一种安全的身份验证机制,因为用户的凭证只在CAS服务器上验证,不会在各个应用之间传输,降低了凭证被盗取的风险。 7. **www.pudn.com.txt**:这个文件可能是包含有关CAS客户端使用...

    cas 自定义登录页面

    CAS(Central Authentication Service)是一种广泛使用的开放源代码单点登录...通过上述步骤,你可以实现一个既满足品牌需求又具备良好安全性的自定义登录页面。记住,每个环节都需仔细测试,确保其功能完整且稳定。

    cas-3.4.1_单点登录_CAS_

    6. **安全性**:CAS通过HTTPS等安全协议传输票证,确保了通信的安全性。同时,它还支持票证的过期和重用策略,增强了系统的安全性。 7. **可扩展性**:CAS的架构设计允许开发者轻松添加自定义功能,如自定义认证...

    搭建cas服务,cas与sqlserver连接,cas与security连接

    CAS(Central Authentication Service)是Java开发的一个开源身份验证框架,主要用于...在实际操作中,可能还需要考虑异常处理、日志记录、安全性优化等问题。希望这份指南能对你有所帮助,祝你在SSO的道路上顺利前行!

    CAS 各种jar包

    它允许用户通过单一的登录验证来访问多个应用系统,从而简化了用户的登录过程,提高了安全性。在本案例中,我们涉及的文件包括`cas-server-3.3.5.1`、`cas-client-3.0-dist`和`cas-client-2.0.11`,这些都是CAS系统...

    cas.rar_cas java_cas服务端代码_单点登录

    7. 安全性考虑:虽然CAS简化了身份验证,但安全问题不容忽视。开发者应关注CAS的安全配置,如SSL/TLS的使用、凭证加密、防止票据篡改等,以确保系统的安全性。 8. 扩展与集成:CAS支持多种认证协议,如LDAP、数据库...

    Cas5.2.6(cas-overlay-template-5.2.6)服务端

    1. **安全性增强**:CAS 5.2.6包含了一些安全修复和改进,确保服务端在处理认证请求时能提供更高的安全性。 2. **新功能与改进**:可能包含了新的API、服务注册、认证策略、通知机制等。例如,支持更多的身份验证...

    cas源码修改-登录页面

    总之,修改CAS的登录页面涉及多个层面,从界面设计到业务逻辑,再到安全性和性能优化。理解CAS的架构和工作流程对于有效地定制登录页面至关重要。在实践中,应遵循良好的编程实践,保持代码的清晰性和可维护性。

    cas修改登录页

    8. **安全考虑**:自定义登录页时,必须注意保持安全性,避免XSS(跨站脚本攻击)和CSRF(跨站请求伪造)等安全漏洞。 9. **部署与发布**:最后,了解如何将修改后的CAS服务器部署到生产环境,如Tomcat或Jetty等...

Global site tag (gtag.js) - Google Analytics