IT运维管理,创造商业价值!
中国IT运维网首页 | 资讯中心 | 运维管理 | 信息安全 | CIO视界 | 云计算 | 最佳案例 | 运维资源 | 专题策划 | 知识库 | 论坛

疯狂的企鹅系列 单点登录和企业目录(一)(1)

2008年03月21日
/

这是一个关于保护企业目录以及单点登陆的系列文章,共分四部分,本文是第一部分。

如果你想要一个企业目录,但是还没有一个企业预算,你想获得单点登陆的好处,对于你管理维护上和你的用户使用上都将更加简便,如果你想所有这些,加上统一的安全认证和身份管理系统,请继续往下读,我将引导你到系统管理的天堂,在这一系列的文章中,我将告诉你如果建立、增加新的并让它们在一起协同工作,从认证服务器到邮件传递,到客户端集成(包括windows和OS X)都将被讨论,我们覆盖的面将非常广,因此,让我开始吧!

使用早先建立的信息块

我们使用MIT Kerberos V 1.4.1版本和OpenLDAP 2.1.30版本运行在Gentoo Linux上,分别将其作为我们的认证和身份管理服务器系统。我假设你有三个服务器:

kdc.example.com、ldap.example.com和mial.example.com。在我们进一步之前,你应该首先阅读linux journal上文章“Centralized Authentication with Kerberos 5, Part I”和“OpenLDAP Everywhere”,我们建立在这些文章之上,记住我们的Kerberos范围是ci.example.com,我们的基础DN是o=ci,dc=example,dc=com。同时,所有本文谈到的配置文件在ftp://ftp.ssc.com/pub/lj/listings/issue140/8374.tgz压缩包里。

建立一个SSL认证机构(CA)

这一小节是可选的阅读部分,但是强烈建议给有许多服务器的站点使用SSL,每个服务器都可以对自己签发证书,但是运行你自己的CA会有很多好处,如果你对OpenSSL的细节感兴趣,我强烈建议你阅读这本书《Network Security with OpenSSL》。

我们选择/etc/ssl/example.com作为存储所有经过签名的证书、证书撤销列表(CRL)和帐户信息的基础目录。一旦这个目录创建好后,我们将在这个基础下创建目录证书、CRL、新证书和私有信息。我们创建一个空文件/etc/ssl/example.com/index.txt,然后再创建一个文件/etc/ssl/example.com/serial:

# touch /etc/ssl/example.com/index.txt
# echo '01' > /etc/ssl/example.com/serial

最后,我们创建CA的OpenSSL配置文件/etc/ssl/example.com/ca-ssl.conf。
要创建一个自我签名的CA证书,我们必须作为/etc/ssl/example.com目录及其子目录的
所有者登陆,它可能是root用户:

# export OPENSSL_CONF=/etc/ssl/example.com/ca-ssl.cnf
# openssl req -x509 -days 3650 -newkey rsa \
-out /etc/ssl/example.com/ci-cert.pem -outform PEM
# cp /etc/ssl/example.com/ci-cert.pem /etc/ssl/certs
# /usr/bin/c_rehash /etc/ssl/certs

要获取关于openssl req命令的详细信息,请查看req(1)的帮助页面。
将CA密钥的密语放在一个安全的地方是非常重要的,因为如果CA私钥被泄露出去的话,所有之前签名的证书全部都不能再信任了,同时,看守真实的CA机器和对它的安全访问也是很重要的,你看守的机器安全性如何,与你的真实安全需求吻合吗,如果未经授权的用户获得了物理或网络访问权限,他们就可以访问到CA的私钥。正如我前面提到的,CA私钥泄露实际上是泄露了整个信任链,使得所有签名的证书都变成可疑的和不能信任的,建议CA机器只能物理接触而不能通过网络访问,为了在这种环境下签名证书,你要使用注册当局(RA)来接收证书签名请求(CSR),然后传输CSR到安全的可移动的介质,再放到CA机器上对CSR签名,证书再写回到可移动介质替换掉RA上的,让终端用户可疑检索它。如果你认为你需要这个的话,OpenCA项目就是为这类安全设计的,它还支持存储签名的证书到LDAP中。

我们已经为我们的CA创建了一个OpenSSL配置文件,但是它仅仅描述了如何请求和签名证书,我们还需要创建一个OpenSSL配置文件使用它请求正常的主机和用户证书:/etc/ssl/example.com/ssl.cnf,客户端配置比CA更复杂,因为客户端证书出现了更多的变化。

现在我们已经有一个客户端配置文件了,让我们为LDAP服务器生成一个主机证书,可以在一个正常用户下产生一个CSR:

# export OPENSSL_CONF=/etc/ssl/example.com/ssl.cnf
# openssl req -new -nodes -keyout ldap-key.pem \
-out ldap-req.pem

openssl选项的使用与生成CA CSR一样,只增加了一个新选项-nodes选项,创建一个不加密的私钥。

下一步是通过CA对CSR签名,得到公共证书,需要再一次用root来执行:

# export OPENSSL_CONF=/etc/ssl/example.com/ssl.cnf
# openssl ca -policy policy_anything -out \
ldap-cert.pem -in ldap-req.pem

到现在为止,我们有三个文件:ldap-cert.pem(公共证书)、ldap-key.pem(私钥)和ldap-req.pem(CSR)。一旦证书被CA签名CSR将被丢掉,再说一次,保护私钥非常重要,特别是它没有加密的时候,它应该归root所有,并将其权限设置为0400。


共4页: 1 [2] [3] [4] 下一页
 第 1 页:  第 2 页:保护LDAP
 第 3 页:安全地复制OpenLDAP  第 4 页:配置cyrus IMAP MDA
发表评论请到:http://bbs.cnitom.com

相关阅读

图文热点

详细剖析:企业采用Linux系统注意事项
详细剖析:企业采用Linux系统注意事项你是否已经厌烦了整日为Windows Sever打补丁,是否已经开始怀疑Windows Sever 服...
揭穿零日漏洞的七大误区
揭穿零日漏洞的七大误区又过了一个月,又有一个零日漏洞被报告,而恶意攻击者借助恶意软件,发动了钻这个...

本类热点