OpenLDAP 加密传输

一、自建证书颁发机构

    关于证书发布机构的大家,请查看我的博文《CentOS 6使用openssl搭建根CA》

    我下面所操作的是根据前面几篇博文配置好的LDAP,在那上面来进行改动。服务端的IP是192.168.2.10,客户端的IP是192.168.2.11。

二、OpenLDAP 服务端设置

    假设我们的CA自建证书和服务器证书都创建好了,CA的公钥是cacert.pem,服务端的证书名称是ldap.crt,私钥文件是ldap.key,所有的文件放到/etc/openldap/certs。

注意,除了Common Name和Email其他的必须一致,而且服务端的Common Name最好使用IP,如果使用域名,服务器的名称必须和配置的一致。

1、修改证书权限

chown -R ldap.ldap /etc/openldap/certs/*
chmod -R 0400 /etc/openldap/certs/*

2、修改slapd.conf

    找到有关TLS的设置,修改成如下。

TLSCACertificatePath /etc/openldap/certs
TLSCertificateFile /etc/openldap/certs/ldap.crt
TLSCertificateKeyFile /etc/openldap/certs/ldap.key

3、开启OpenLDAP SSL功能

    打开/etc/sysconfig/ldap,把LDAPS改为yes,如下。

# At least one of SLAPD_LDAP, SLAPD_LDAPI and SLAPD_LDAPS must be set to 'yes'!
#
# Run slapd with -h "... ldap:/// ..."
#   yes/no, default: yes
SLAPD_LDAP=yes

# Run slapd with -h "... ldapi:/// ..."
#   yes/no, default: yes
SLAPD_LDAPI=yes

# Run slapd with -h "... ldaps:/// ..."
#   yes/no, default: no
SLAPD_LDAPS=yes

4、加载slapd数据库文件

rm -rf /etc/openldap/slapd.d/*  
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/  
chown -R ldap.ldap /etc/openldap/  
service slapd restart

5、通过CA公钥证书验证OpenLDAP服务端证书的合法性

[root@mldap ~]# openssl verify -CAfile /etc/openldap/certs/cacert.pem /etc/openldap/certs/ldap.crt 
/etc/openldap/certs/ldap.crt: OK

6、确认当前套接字是否能通过CA的验证

[root@mldap ~]# openssl s_client -connect 192.168.2.10:636 -showcerts -state -CAfile /etc/openldap/certs/cacert.pem 
CONNECTED(00000003)
SSL_connect:before/connect initialization
SSL_connect:SSLv2/v3 write client hello A
SSL_connect:SSLv3 read server hello A
depth=1 C = CN, ST = Shanghai, L = Shanghai, O = wzlinux, OU = ldap, CN = ldap.wzlinux.com
verify return:1
depth=0 C = CN, ST = Shanghai, O = wzlinux, OU = ldap, CN = 192.168.2.10
verify return:1
SSL_connect:SSLv3 read server certificate A
SSL_connect:SSLv3 read server done A
SSL_connect:SSLv3 write client key exchange A
SSL_connect:SSLv3 write change cipher spec A
SSL_connect:SSLv3 write finished A
SSL_connect:SSLv3 flush data
SSL_connect:SSLv3 read finished A
---
Certificate chain
 0 s:/C=CN/ST=Shanghai/O=wzlinux/OU=ldap/CN=192.168.2.10
   i:/C=CN/ST=Shanghai/L=Shanghai/O=wzlinux/OU=ldap/CN=ldap.wzlinux.com
-----BEGIN CERTIFICATE-----
MIIDOTCCAiGgAwIBAgIBAzANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJDTjER
MA8GA1UECAwIU2hhbmdoYWkxETAPBgNVBAcMCFNoYW5naGFpMRAwDgYDVQQKDAd3
emxpbnV4MQ0wCwYDVQQLDARsZGFwMRkwFwYDVQQDDBBsZGFwLnd6bGludXguY29t
MB4XDTE2MDgyOTEwMzEyOVoXDTE3MDgyOTEwMzEyOVowWDELMAkGA1UEBhMCQ04x
ETAPBgNVBAgMCFNoYW5naGFpMRAwDgYDVQQKDAd3emxpbnV4MQ0wCwYDVQQLDARs
ZGFwMRUwEwYDVQQDDAwxOTIuMTY4LjIuMTAwgZ8wDQYJKoZIhvcNAQEBBQADgY0A
MIGJAoGBAO7larMYUDs5L95bwqSBWumfADZHyd18H4uDTq00Gh1+cyoDLabCKrjD
1k0novbb5+HLGs9Xu/OcvDfXF3McbbPB02fR6WdNEEqKixpiZ5d0MuVyydENHNE/
dM9BBka8mhZbEQD59fzZrBS7c3LEh3tV51FDNjnFr8Pbu2pKZFq9AgMBAAGjezB5
MAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENl
cnRpZmljYXRlMB0GA1UdDgQWBBTYWRvrVAoWO7tSO8rxB9OVWZ1erzAfBgNVHSME
GDAWgBTCyje4J9eUwtegjNLxaRu3Ff2OzjANBgkqhkiG9w0BAQUFAAOCAQEAP7rK
ejInZsnTNfFpn7ok/DkoLHBngHfUIgLT8da4xwT7v1lyYsIr8rRTyly5q6yc+dlm
3yCXBBRJBRvFGkCZ4cws5JL7jnd3tdkCQ4xrcux8mLAY7+F1sH4jLdPgMirif9nb
PAhmMCN0WuAw8bMCh1VbbKsYofQOdzKZiBz+qGVngxLPQ++5nsfi28a2uuKA4BAi
fYdyhmMdouoIdA4gHUjjkksPsy2NwIZuG5T01QjraVFqP5Di87qMKchKyewJL9M9
j1yHUoNhhUbA6r3N3ZUGZ2lJijBMBSBuG9KUWvaDuL9W/rUYEF4RluMCWBKpt/Kr
kHYQ6NrYE2mVTxaZFg==
-----END CERTIFICATE-----
---
Server certificate
subject=/C=CN/ST=Shanghai/O=wzlinux/OU=ldap/CN=192.168.2.10
issuer=/C=CN/ST=Shanghai/L=Shanghai/O=wzlinux/OU=ldap/CN=ldap.wzlinux.com
---
No client certificate CA names sent
---
SSL handshake has read 1004 bytes and written 463 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 1024 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : AES256-SHA
    Session-ID: 2F3DC17790E8889F9E4DD8D372F9D0155EF03C448922C8CAAA14B530253D8B1E
    Session-ID-ctx: 
    Master-Key: 8F01D070B54D4A0A6333D6A08B2E58EA8A0E3DBAF02D9F989F4A05B59B3C342C55DDB75ED6CD6E0176A87305EC9811E4
    Key-Arg   : None
    Krb5 Principal: None
    PSK identity: None
    PSK identity hint: None
    Start Time: 1472466741
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)
---

三、OpenLDAP 客户端设置

1、使用setup进行配置

wKioL1fEEHaTheLpAACW_8bHF7w744.jpg

wKiom1fEEHeQVrCEAABHXxHPAAI620.jpg


备注:如果使用authconfig配置,使用下面代码,根据自己实际情况进行修改:

authconfig --enablemkhomedir \
--enableforcelegacy \
--enablelocauthorize \
--enableldaptls \
--enablemd5 \
--enableldap \
--enableldapauth \
--ldapserver=ldaps://192.168.2.10 \
--ldapbasedn="dc=wzlinux,dc=com" \
--enableshadow \
--update


2、复制CA公钥证书到客户端

    把CA的公钥cacert.pem放到/etc/openldap/cacerts/目录下面。

3、编辑/etc/pam_ldap.conf和/etc/nslcd.conf

    把 ssl start_tls 改成 ssl on。

4、重新启动nslcd

service nslcd restart

5、通过客户端匿名测试SSL连接是否正常

[root@test01 cacerts]# ldapwhoami -v -x -Z
ldap_initialize( <DEFAULT> )
ldap_start_tls: Operations error (1)
        additional info: TLS already started
anonymous
Result: Success (0)

6、LDAP用户验证密码

[root@test01 ~]# ldapwhoami -D "cn=test3,ou=people,dc=wzlinux,dc=com" -W -H ldaps://192.168.2.10 -v
ldap_initialize( ldaps://192.168.2.10:636/??base )
Enter LDAP Password: 
dn:cn=test3,ou=people,dc=wzlinux,dc=com
Result: Success (0)

7、通过LDAP看看是否可以认证账号

[root@test01 ~]# id test3               
uid=1001(test3) gid=501(app) groups=501(app)
[root@test01 ~]# getent passwd test3
test3:*:1001:501: test3:/home/test3:/bin/bash






本文出自 “小小水滴” 博客,请务必保留此出处http://wangzan18.blog.51cto.com/8021085/1843801

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。
区别: 1. 两个文件都是设置环境变量文件的,/etc/profile是永久性的环境变量,是全局变量,/etc/profile.d/设置所有用户生效 2. /etc/profile.d/比/etc/profile好维护,不想要什么变量直接删除/etc/profile.d/下对应的shell脚本即可,不用像/etc/profile需要改动此文件 用法: CentOS 中每个用户都要指定各自的环境变量,其中包括可执行的 path路径,这些路径决定了每个用户在执行时的命令工具。 一般情况下,可以再每个用户的环境
原因: 有些情况下服务器系统不是自己装的,raid也不是自己配置的,或者当你接收一个岗位,远程登录系统后可能就不知道系统是否有做raid,raid级别?因此在这里博主总结一下Linux下查看软、硬raid信息的方法,分享一下。 软件raid:( 只能通过Linux系统本身来查看) 1)查看阵列状态: cat /proc/mdstat [root@ test ~] #cat/proc/mdstat 1 2 3 4 Personalities:[raid6][raid5][raid4] md0:activer
环境准备:( Nginx,tomcat 的安装部署本例不赘述。) 192.168.1.13 nginx 192.168.1.225 tomcat7 , terracotta 192.168.1.226 tomcat7 部署 terracotta+tomcat 集群: 一:安装 java 程序至系统,配置 java 环境。 #vi/etc/profileexportJAVA_HOME=/usr/local/javaexportPATH=/usr/local/java/bin:$PATH 二:部署单 terr
一、企业网络安全管理面临的新问题 现在计算机和移动智能设备越来越普及,有一些企业网用户不再满足于只让实名登记的、有实际办公用途的计算机上网,他们把家中的笔记本、智能手机、平板电脑带到单位,通过非法架设SOHO路由器、随身WIFI、安装免费WIFI软件等,绕过网络管理员的检测,实现非法接入企业网,然后就可以通过他们自己的设备实现一些移动平台的网络应用。这些SOHO路由器、随身WIFI的一个大卖点:“就是可以绕过检测,隐匿接入”,因为这些设备都可以关闭信号的广播发送,通过信号检测的方法也搜不到。 非法接入问题
什么是逻辑卷? LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。 LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,
========================================================== 一:MySQL主从复制规划 主库:(MySQLmaster)IP:10.0.0.52PROT:3306从库1:(MySQLslave)IP:10.0.0.52PORT:3307从库2:(MySQLslave)IP:10.0.0.52PORT:3308 ========================================================== 二:检查环境 (1)检

openstack-M版安装部署 - 2016-08-29 22:08:06

[openstack 信息简介 ] Openstack 项目是一个开源的云计算平台,它为广大云平台提供了可大规模扩展的平台,全世界的云计算技术人员创造了这个项目,通过一组相互关联的服务来提供了 Iaas 基础解决方案,每一个服务都通过提供自身的 API 来提供服务,个人或者企业完全可以根据自身的需求来安装一部分或者全部的服务。 通过下面一张表格来描述一下当前 openstack 的各个组件及功能。 Service Project name Description Dashboard Horizon 通过提
一、前言 Redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的一套跨平台项目管理系统,据说是源于Basecamp的ror版而来,支持多种数据库,有不少自己独特的功能,例如提供wiki、新闻台等,还可以集成其他版本管理系统和BUG跟踪系统,例如 Perforce 、SVN、CVS、TD等等。这种 Web 形式的项目管理系统通过“项目(Project)”的形式把成员、任务(问题)、文档、讨论以及各种形式的资源组织在一起,大家参与更新任务、文档等内容来推动项目的进度,同时系统利用时间线
一、Ansible介绍 1 、简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括: (1)、连接插件connection plugins:负责和被监控端实现通信; (2)、host inventory
挂载概念简述 : 根文件系统之外的其他文件要想能够被访问,都必须通过“关联”至根文件系统上的某个目录来实现,此关联操作即为“ 挂载 ”,此目录即为“ 挂载点 ”,解除此关联关系的过程称之为“ 卸载 ” 1.挂载:根文件系统外通过关联至根文件系统上的某个目录来实现访问 2.挂载点:mount_point,用于作为另一个文件系统的访问入口; (1) 事先存在; (2) 应该使用未被或不会被其它进程使用到的目录; (3) 挂载点下原有的文件将会被隐藏; 挂载与卸载 挂载方法 :mount DECE MOUNT_