{"id":19566,"date":"2017-05-20T06:54:59","date_gmt":"2017-05-19T22:54:59","guid":{"rendered":"https:\/\/2blog.ilc.edu.tw\/25793\/2017\/05\/20\/ldap-over-tls-%e5%a4%b1%e6%95%97\/"},"modified":"2021-03-18T17:25:02","modified_gmt":"2021-03-18T09:25:02","slug":"ldap-over-tls-%e5%a4%b1%e6%95%97","status":"publish","type":"post","link":"https:\/\/2blog.ilc.edu.tw\/25793\/2017\/05\/20\/ldap-over-tls-%e5%a4%b1%e6%95%97\/","title":{"rendered":"LDAP over TLS &#8211; \u5931\u6557"},"content":{"rendered":"<p>\u70ba\u4e86\u5b89\u5168\u7684\u56e0\u7d20\uff0cLDAP \u53ef\u4ee5\u8d70 TLS\/SSL \u52a0\u5bc6\u5354\u5b9a\u3002 <br \/>\u53c3\u8003\u7db2\u9801\uff1a <br \/><a href=\"http:\/\/linux.onlinedoc.tw\/2016\/05\/centos7rhel7-ldap-server.html\" target=\"_blank\" rel=\"noopener noreferrer\">Linux \uff0e \u7121\u9650: \u5728 CentOS7\/RHEL7 \u4e0a\u5b89\u88dd\u8a2d\u5b9a LDAP Server(\u4e00)<\/a> <\/p>\n<p>1. \u5b89\u88dd openssl \u5957\u4ef6 <br \/># <span style=\"color: #ff0000\">yum install openssl<\/span> <\/p>\n<p>2. \u4fee\u6539 <span style=\"color: #0000ff\">\/etc\/pki\/tls\/openssl.cnf<\/span> <br \/># <span style=\"color: #ff0000\">cp \/etc\/pki\/tls\/openssl.cnf \/etc\/pki\/tls\/openssl.cnf.$(date +%F)<\/span> <br \/><span style=\"color: #0000ff\">[ req_distinguished_name ]<\/span> <br \/><span style=\"color: #0000ff\">countryName\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = Country Name (2 letter code)<\/span> <br \/><span style=\"color: #0000ff\">countryName_default\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = TW<\/span> <br \/><span style=\"color: #0000ff\">countryName_min\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = 2<\/span> <br \/><span style=\"color: #0000ff\">countryName_max\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = 2<\/span> <\/p>\n<p><span style=\"color: #0000ff\">stateOrProvinceName\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = State or Province Name (full name)<\/span> <br \/><span style=\"color: #0000ff\">stateOrProvinceName_default\u00a0\u00a0\u00a0\u00a0 = Yilan<\/span> <\/p>\n<p><span style=\"color: #0000ff\">localityName\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = Locality Name (eg, city)<\/span> <br \/><span style=\"color: #0000ff\">localityName_default\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = TouCheng<\/span> <\/p>\n<p><span style=\"color: #0000ff\">0.organizationName\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = Organization Name (eg, company)<\/span> <br \/><span style=\"color: #0000ff\">0.organizationName_default\u00a0\u00a0\u00a0\u00a0\u00a0 = Elementary School<\/span> <\/p>\n<p><span style=\"color: #0000ff\">organizationalUnitName\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = Organizational Unit Name (eg, section)<\/span> <br \/><span style=\"color: #0000ff\">organizationalUnitName_default\u00a0 = LDAP Server[@more@]<\/span> <br \/>3. \u88fd\u4f5c\u91d1\u9470 <br \/># <span style=\"color: #ff0000\">openssl req -new -x509 -nodes -out \/etc\/openldap\/certs\/cert.pem -keyout \/etc\/openldap\/certs\/priv.pem -days 3650<\/span> <br \/><span style=\"color: #0000ff\">Generating a 2048 bit RSA private key<\/span> <br \/><span style=\"color: #0000ff\">&#8230;&#8230;&#8230;+++<\/span> <br \/><span style=\"color: #0000ff\">&#8230;&#8230;&#8230;&#8230;&#8230;+++<\/span> <br \/><span style=\"color: #0000ff\">writing new private key to &#8216;\/etc\/openldap\/certs\/priv.pem&#8217;<\/span> <br \/><span style=\"color: #0000ff\">&#8212;&#8211;<\/span> <br \/><span style=\"color: #0000ff\">You are about to be asked to enter information that will be incorporated<\/span> <br \/><span style=\"color: #0000ff\">into your certificate request.<\/span> <br \/><span style=\"color: #0000ff\">What you are about to enter is what is called a Distinguished Name or a DN.<\/span> <br \/><span style=\"color: #0000ff\">There are quite a few fields but you can leave some blank<\/span> <br \/><span style=\"color: #0000ff\">For some fields there will be a default value,<\/span> <br \/><span style=\"color: #0000ff\">If you enter &#8216;.&#8217;, the field will be left blank.<\/span> <br \/><span style=\"color: #0000ff\">&#8212;&#8211;<\/span> <br \/><span style=\"color: #0000ff\">Country Name (2 letter code) [TW]:<\/span> <br \/><span style=\"color: #0000ff\">State or Province Name (full name) [Yilan]:<\/span> <br \/><span style=\"color: #0000ff\">Locality Name (eg, city) [TouCheng]:<\/span> <br \/><span style=\"color: #0000ff\">Organization Name (eg, company) [Elementary School]:<\/span> <br \/><span style=\"color: #0000ff\">Organizational Unit Name (eg, section) [LDAP Server]:<\/span> <br \/><span style=\"color: #0000ff\">Common Name (eg, your name or your server&#8217;s hostname) []:<\/span> <br \/><span style=\"color: #0000ff\">Email Address []:<\/span> <\/p>\n<p>4. \u6539\u8b8a\u76ee\u9304\u64c1\u6709\u8005\u53ca\u7fa4\u7d44\u548c\u6a94\u6848\u6b0a\u9650 <br \/># <span style=\"color: #ff0000\">chown -R ldap:ldap \/etc\/openldap\/certs<\/span> <br \/># <span style=\"color: #ff0000\">chmod 600 \/etc\/openldap\/certs\/priv.pem<\/span> <br \/># <span style=\"color: #ff0000\">ls -l \/etc\/openldap\/certs\/*<\/span> <br \/><span style=\"color: #0000ff\">-rw-r&#8211;r&#8211; 1 ldap ldap 65536 Mar\u00a0 8 17:46 \/etc\/openldap\/certs\/cert8.db<\/span> <br \/><span style=\"color: #0000ff\">-rw-r&#8211;r&#8211; 1 ldap ldap\u00a0 1391 Mar 10 14:14 \/etc\/openldap\/certs\/cert.pem<\/span> <br \/><span style=\"color: #0000ff\">-rw-r&#8211;r&#8211; 1 ldap ldap 16384 Mar\u00a0 8 17:46 \/etc\/openldap\/certs\/key3.db<\/span> <br \/><span style=\"color: #0000ff\">-r&#8211;r&#8212;&#8211; 1 ldap ldap\u00a0\u00a0\u00a0 45 Dec\u00a0 7 10:22 \/etc\/openldap\/certs\/password<\/span> <br \/><span style=\"color: #0000ff\">-rw&#8212;&#8212;- 1 ldap ldap\u00a0 1704 Mar 10 14:14 \/etc\/openldap\/certs\/priv.pem<\/span> <br \/><span style=\"color: #0000ff\">-rw-r&#8211;r&#8211; 1 ldap ldap 16384 Dec\u00a0 7 10:22 \/etc\/openldap\/certs\/secmod.db<\/span> <\/p>\n<p>5. \u5efa\u7acb tlsc.ldif <br \/># <span style=\"color: #ff0000\">cat tlsc.ldif<\/span> <br \/><span style=\"color: #0000ff\">dn: cn=config<\/span> <br \/><span style=\"color: #0000ff\">changetype: modify<\/span> <br \/><span style=\"color: #0000ff\">replace: olcTLSCertificateFile<\/span> <br \/><span style=\"color: #0000ff\">olcTLSCertificateFile: \/etc\/openldap\/certs\/cert.pem<\/span> <\/p>\n<p><span style=\"color: #0000ff\">dn: cn=config<\/span> <br \/><span style=\"color: #0000ff\">changetype: modify<\/span> <br \/><span style=\"color: #0000ff\">replace: olcTLSCertificateKeyFile<\/span> <br \/><span style=\"color: #0000ff\">olcTLSCertificateKeyFile: \/etc\/openldap\/certs\/priv.pem<\/span> <\/p>\n<p>6. \u532f\u5165 <br \/># <span style=\"color: #ff0000\">\/bin\/ldapmodify -Y EXTERNAL -H ldapi:\/\/\/ -f tlsc.ldif<\/span> <br \/><span style=\"color: #0000ff\">SASL\/EXTERNAL authentication started<\/span> <br \/><span style=\"color: #0000ff\">SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth<\/span> <br \/><span style=\"color: #0000ff\">SASL SSF: 0<\/span> <br \/><span style=\"color: #0000ff\">modifying entry &#8220;cn=config&#8221;<\/span> <\/p>\n<p><span style=\"color: #0000ff\">modifying entry &#8220;cn=config&#8221;<\/span><\/p>\n<p>7. \u91cd\u65b0\u555f\u52d5 LDAP Server<br \/># <span style=\"color: #ff0000\">systemctl restart slapd.service<\/span><\/p>\n<p>\u4f3c\u4e4e\u6c92\u6709\u6210\u529f\uff0c\u5617\u8a66\u5176\u5b83\u65b9\u6cd5\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u70ba\u4e86\u5b89\u5168\u7684\u56e0\u7d20\uff0cLDAP \u53ef\u4ee5\u8d70 TLS\/SSL \u52a0\u5bc6\u5354\u5b9a\u3002 \u53c3\u8003\u7db2\u9801\uff1a Linux \uff0e \u7121\u9650: \u5728 Cent &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/2blog.ilc.edu.tw\/25793\/2017\/05\/20\/ldap-over-tls-%e5%a4%b1%e6%95%97\/\" class=\"more-link\">\u95b1\u8b80\u5168\u6587<span class=\"screen-reader-text\">\u3008LDAP over TLS &#8211; \u5931\u6557\u3009<\/span><\/a><\/p>\n","protected":false},"author":55,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[117,115],"tags":[],"class_list":["post-19566","post","type-post","status-publish","format-standard","hentry","category-c-78462","category-c-78460"],"meta_key":{"_pingme":["1"],"_encloseme":["1"],"lt_post_id":["688272"]},"_links":{"self":[{"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/posts\/19566"}],"collection":[{"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/users\/55"}],"replies":[{"embeddable":true,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/comments?post=19566"}],"version-history":[{"count":1,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/posts\/19566\/revisions"}],"predecessor-version":[{"id":21074,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/posts\/19566\/revisions\/21074"}],"wp:attachment":[{"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/media?parent=19566"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/categories?post=19566"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/tags?post=19566"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}