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

CAS3.4 关于PAM模块SSL的详细配置

    博客分类:
  • cas
阅读更多

在要配置PAM_CAS的SSL时,才发现原来之前使用的证书都得重新换掉了。

采用OpenSSL和KeyTool签发自签名证书来替换之前配置的Tomcat SSL

redHat自带Openssl工具,因为我并没有在redhat系统中安装JDK,所以我下载了Openssl并安装在了CAS服务器所在的Windows系统中。

 

 

OpenSSL10.9.7c   http://gnuwin32.sourceforge.net/downlinks/openssl-bin.php

请自行安装该相关软件并配置好环境变量

 

一:创建Openssl配置文件

 [ req ]
 default_bits           = 1024
 default_keyfile        = ca-privkey.pem
 distinguished_name     = req_distinguished_name
 attributes             = req_attributes
 prompt                 = no
 output_password        = 111111

 [ req_distinguished_name ]
 C                      = CN
 ST                     = Beijing
 L                      = Haidian
 O                      = www.ncs-cyber.com.cn
 OU                     = ncs-cyber.com.cn
 CN                     = RainTime
 emailAddress      = zz@ncs-cyber.com.cn

 [ req_attributes ]
 challengePassword              = 111111

 openssl.conf可参考:http://www.openssl.org/docs/apps/req.html#EXAMPLES

将openssl.conf文件拷贝到openssl的安装目录下的bin目录中

 

二:创建数字证书

     1:为方便,在C盘创建用于存放数字证书的文件夹"ca",路径为:"c:\ca"

     2:运行命令提示符"CMD"

     3:执行Openssl命令

          1)生成私钥

              

openssl genrsa -out c:\ca\ca-privkey.pem 1024

 

          2)生成待签名证书

Openssl req –new –out c:\ca\ca-req.csr -key c:\ca\ca-privkey.pem -config 
openssl.conf

 

         3)用CA私钥匙进行自签名

openssl x509 -req -in c:\ca\ca-req.csr -out c:\ca\ca-root.pem -signkey 
c:\ca\ca-privkey.pem -days 365

 

    4:执行KeyTool命令

         1)创建KeyPari

keytool -genkey -alias cas-server -keyalg RSA -keystore c:ca\cas-store.keystore 
-validity 365

 

              注意:CN应为CAS服务器的域名或机器名

        2)生成待签名证书

       

keytool -certreq -alias cas-server -sigalg MD5withRSA -file c:\ca\cas-server.csr 
-keystore cas-store.keystore

 

    5:执行Openssl命令,使用私钥对服务器请求证书文件进行签名

openssl x509 -req -in c:\ca\cas-server.csr -out c:\ca\cas-server-cer.pem -CA 
c:\ca\ca-root.pem -CAkey  c:\ca\ca-privkey.pem -days 365 -set_serial 1

  

    6:执行KeyTool命令,导入根证书到信任证书库

keytool -import -v -trustcacerts -alias cas-root -file c:\ca\ca-root.pem 
-keystore %JAVA_HOME%\jre\lib\security\cacerts

   

     7:执行KeyTool命令,导入服务器证书到证书库

keytool -import -v -trustcacerts -alias c:\ca\cas-server -file cas-server-cer.pem 
-keystore cas-store.keystore

 

 

执行完以上命令后,在c:\ca目录下,应有文件如下:

1:ca-privkey.pem

2:ca-req.csr

3:ca-root.pem

4:cas-store.keystore

5:cas-server.csr

6:cas-server-cer.pem

 

替换方案:

1:将cas-store.keystore替换掉CAS服务器Tomcat中所使用的证书库

2:编辑redhat主机中,pam_cas模块所使用的pam_cas.conf文件,修改文件中的ssl设为on,trusted_ca参数所指定的证书文件为ca-root.pem,端口为8443

 

 

 

      在配置PAM的SSL时,多说两句,pam_cas.conf配置文件中的trustca值,应该为一个BASE64编码的证书文件,注释中提到,此证书应该为一个CA根书,可见这个SSL连接是单向连接。

     至此,PAM_CAS的SSL算是配置成功

     

      下次的研究目标是:基于kerberos协议,通过spnego机制实现CAS与AD间的单点登录(凡是登录域的用户,在访问CAS业务系统时则不需要认证)

 

0
0
分享到:
评论

相关推荐

    如何设置PAM模块控制Linux密码策略

    其中,PAM(Pluggable Authentication Modules)模块是一个非常重要的组件,它提供了灵活的身份验证机制,并且可以通过配置来实现密码复杂度的要求。本文将详细介绍如何通过PAM模块中的`pam_cracklib.so`来控制Linux...

    linux操作系统PAM模块实例

    PAM 模块的配置文件通常位于 /etc/pam.d/ 目录下,每个应用程序都有一个对应的配置文件。配置文件的内容包括模块类型、控制标志和参数。 控制标志 控制标志是 PAM 模块的重要组成部分,决定了模块的行为。常见的...

    用Linux-PAM模块实现用户登陆的控制.pdf

    在 Linux-PAM 模块中,验证机制是通过配置文件来实现的。系统管理员可以通过编辑配置文件来选择合适的验证机制。 Linux-PAM 模块还提供了一些预定义的验证机制,如基于密码的验证机制、基于智能卡的验证机制等。 ...

    pam_chroot.zip_linux pam _pam模块

    每个服务都有一个对应的配置文件,其中包含了需要加载的PAM模块及其参数。这些模块按照特定的顺序执行,完成认证、授权、账户管理和会话管理等任务。 **pam_chroot的作用:** 1. **安全隔离**:`pam_chroot`主要...

    pam模块源码及所有依赖库,测试通过

    这个包在Linux系统中扮演着至关重要的角色,它管理着系统的用户密码信息,与PAM(Pluggable Authentication Modules)紧密协作,确保密码的安全性和复杂度。让我们深入探讨一下其中涉及的知识点。 `shadow` 包是...

    linux pam开发手册

    该文档适用于,对linux 有一定了解,从事或者正要从事linux pam模块开发的同学

    详细的Linux-pam配置

    系统管理员通过 PAM 配置文件来制定认证策略,应用程序开发者通过在服务程序中使用 PAM API 而实现对认证方法的调用,而 PAM 服务模块的开发者则利用 PAM SPI(Service Module API)来编写认证模块,将不同的认证...

    pam常用模块

    ### pam常用模块详解 #### PAM (Pluggable Authentication Modules) 概述 PAM(可插拔认证模块)是一种灵活的身份验证框架,为Linux和其他类Unix系统提供了一个统一的接口来实现各种不同的认证机制。这使得系统...

    pam.tar.gz_linux pam _linux-pam

    **PAM(Pluggable Authentication Modules)在Linux系统中的应用** PAM,即插拔式认证模块,是...而"pam.ppt"这个文件可能是关于PAM的详细讲解,包含了更深入的技术细节和实践指导,对学习和理解PAM会有很大帮助。

    PAM-Linux实现安全登录

    PAM的核心思想是模块化,它允许系统管理员选择和配置不同的认证模块,这些模块可以处理密码验证、智能卡验证、生物识别等多种认证方式。当用户尝试登录系统时,PAM会根据配置的策略调用相应的模块进行认证。这种设计...

    利用pam模块passwdqc限定linux用户密码强度

    NULL 博文链接:https://dingody.iteye.com/blog/1978152

    swift-一个PAM模块用于利用TouchID进行身份验证

    集成这样的模块需要对PAM框架有深入理解,包括PAM的配置文件结构、模块接口以及如何在代码中正确地调用PAM API。同时,还需要遵循Apple的安全指南,确保在处理敏感数据和用户生物特征时符合最佳实践。 总的来说,...

    一种基于Linux-PAM模块的身份验证方法.pdf

    Linux-PAM(可插拔身份验证模块)是Linux操作系统中的一种身份验证机制,它允许管理员和开发者灵活地管理和配置不同的身份验证策略。PAM的主要目的是解决传统Linux系统中验证功能与应用程序紧密耦合的问题,使得身份...

    linux环境下pam安全模块

    PAM库随后根据配置文件加载相应的服务模块进行验证。 3. **配置文件**:PAM配置文件存储于`/etc/pam.d/`目录下,每个文件对应一种服务类型,如`/etc/pam.d/sshd`用于SSH服务的身份验证配置。 4. **模块类型**:PAM...

    pam_linux的可插入身份验证模块(PAM)的Safe Rust API 开发技术.zip

    在“pam_linux的可插入身份验证模块(PAM)的Safe Rust API开发技术.zip”中,我们可能找到的是关于如何使用Rust语言安全地与PAM模块交互的资源。 Rust是一种系统编程语言,以其内存安全性、并发性和高性能而闻名。...

    linux基于Pam_radius整合身份认证说明_v1.0.pdf

    5. PAM模块配置 PAM模块是Linux系统中的一种身份认证机制。这里需要编辑/etc/pam.d/sshd文件,添加pam_radius_auth模块,以便实现身份认证。 6. 结论 Linux基于Pam_radius整合身份认证可以提供强大且灵活的身份...

    Linux-PAM-1.3.0.tar.gz_PAM_linux_pam 1.3.1

    3. **文档**:压缩包内可能会有README、INSTALL、CHANGELOG等文档,详细解释了如何编译、安装和配置PAM,以及版本1.3.1相对于之前版本的更新和改进。 4. **示例**:可能包含示例配置文件或脚本,帮助用户理解和使用...

    uber的ssh证书pam模块-Golang开发

    Uber的SSH证书pam模块。 这是一个pam模块,它将根据用户的ssh代理中具有由指定ssh CA签名的ssh证书的用户进行身份验证。 这主要是用作sudo Uber的SSH证书pam模块的身份验证模块。 这是一个pam模块,它将根据用户的...

    PAM的初步学习 linux下pam.d学习

    2. **PAM客户端库**根据配置文件中的设置选择合适的PAM模块。 3. **PAM模块**执行具体的认证操作,比如读取影子密码文件、查询LDAP等。 4. **结果反馈**给PAM客户端库,再由PAM客户端库将结果反馈给应用程序。 ####...

    基于PAM4调制的400G光模块

    未来,4x100G PAM4方案可能会成为400G光模块的标准配置,以降低制造成本并提高效率。 随着技术的进步,光模块的电口可能逐步演进到4x100G PAM4,从而省去Gearbox芯片,进一步节省功耗和降低成本。此外,为了满足...

Global site tag (gtag.js) - Google Analytics