{"id":19567,"date":"2017-05-20T06:57:17","date_gmt":"2017-05-19T22:57:17","guid":{"rendered":"https:\/\/2blog.ilc.edu.tw\/25793\/2017\/05\/20\/ldap-over-tls\/"},"modified":"2021-03-18T17:25:02","modified_gmt":"2021-03-18T09:25:02","slug":"ldap-over-tls","status":"publish","type":"post","link":"https:\/\/2blog.ilc.edu.tw\/25793\/2017\/05\/20\/ldap-over-tls\/","title":{"rendered":"LDAP over TLS"},"content":{"rendered":"<p>\u53c3\u8003\u7db2\u9801\uff1a<br \/><a href=\"https:\/\/www.server-world.info\/en\/note?os=CentOS_7&amp;p=ssl\" target=\"_blank\" rel=\"noopener noreferrer\">CentOS 7 : Create SSL Certificates : Server World<\/a><br \/><a href=\"https:\/\/www.server-world.info\/en\/note?os=CentOS_7&amp;p=openldap&amp;f=4\" target=\"_blank\" rel=\"noopener noreferrer\">CentOS 7 : OpenLDAP : LDAP over TLS : Server World<\/a><\/p>\n<p>1. \u5207\u63db\u76ee\u9304<br \/># <span style=\"color: #ff0000\">cd \/etc\/pki\/tls\/certs<\/span><br \/>2. \u5efa\u7acb server.key<br \/># <span style=\"color: #ff0000\">make server.key<\/span><br \/><span style=\"color: #0000ff\">umask 77 ; <\/span><br \/><span style=\"color: #0000ff\">\/usr\/bin\/openssl genrsa -aes128 2048 &gt; server.key<\/span><br \/><span style=\"color: #0000ff\">Generating RSA private key, 2048 bit long modulus<\/span><br \/><span style=\"color: #0000ff\">&#8230;&#8230;&#8230;&#8230;&#8230;.+++<\/span><br \/><span style=\"color: #0000ff\">&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;+++<\/span><br \/><span style=\"color: #0000ff\">e is 65537 (0x10001)<\/span><br \/><span style=\"color: #0000ff\">Enter pass phrase:<\/span><br \/><span style=\"color: #0000ff\">Verifying &#8211; Enter pass phrase:[@more@]<\/span><br \/>3. \u53bb\u9664\u5bc6\u78bc\u5f9e server.key<br \/># <span style=\"color: #ff0000\">openssl rsa -in server.key -out server.key<\/span><br \/><span style=\"color: #0000ff\">Enter pass phrase for server.key:<\/span><br \/><span style=\"color: #0000ff\">writing RSA key<\/span><\/p>\n<p>4. \u5efa\u7acb <span style=\"color: #0000ff\">server.csr<\/span><br \/># <span style=\"color: #ff0000\">make server.csr<\/span><br \/><span style=\"color: #0000ff\">umask 77 ; <\/span><br \/><span style=\"color: #0000ff\">\/usr\/bin\/openssl req -utf8 -new -key server.key -out server.csr<\/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) []:xxxx.tces.ilc.edu.tw<\/span><br \/><span style=\"color: #0000ff\">Email Address []:<\/span><\/p>\n<p><span style=\"color: #0000ff\">Please enter the following &#8216;extra&#8217; attributes<\/span><br \/><span style=\"color: #0000ff\">to be sent with your certificate request<\/span><br \/><span style=\"color: #0000ff\">A challenge password []:<\/span><br \/><span style=\"color: #0000ff\">An optional company name []:<\/span><\/p>\n<p>5. \u5efa\u7acb\u99ae\u8b49<br \/># <span style=\"color: #ff0000\">openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650<\/span><br \/><span style=\"color: #0000ff\">Signature ok<\/span><br \/><span style=\"color: #0000ff\">subject=\/C=TW\/ST=Yilan\/L=TouCheng\/O=Elementary School\/OU=LDAP Server\/CN=xxxx.tces.ilc.edu.tw<\/span><br \/><span style=\"color: #0000ff\">Getting Private key<\/span><\/p>\n<p>6. \u8907\u88fd\u6a94\u6848\u5230 <span style=\"color: #0000ff\">\/etc\/openldap\/certs<\/span> \u76ee\u9304<br \/># <span style=\"color: #ff0000\">cp \/etc\/pki\/tls\/certs\/server.key \/etc\/pki\/tls\/certs\/server.crt \/etc\/pki\/tls\/certs\/ca-bundle.crt \/etc\/openldap\/certs<\/span><\/p>\n<p>7. \u66f4\u6539\u6a94\u6848\u64c1\u6709\u8005\u53ca\u7fa4\u7d44<br \/># <span style=\"color: #ff0000\">chown ldap:ldap \/etc\/openldap\/certs\/server.* \/etc\/openldap\/certs\/ca-bundle.crt<\/span><\/p>\n<p>8. \u5efa\u7acb <span style=\"color: #0000ff\">mod_ssl.ldif<\/span><br \/># <span style=\"color: #ff0000\">cat mod_ssl.ldif<\/span><br \/><span style=\"color: #0000ff\">dn: cn=config<\/span><br \/><span style=\"color: #0000ff\">changetype: modify<\/span><br \/><span style=\"color: #0000ff\">add: olcTLSCACertificateFile<\/span><br \/><span style=\"color: #0000ff\">olcTLSCACertificateFile: \/etc\/openldap\/certs\/ca-bundle.crt<\/span><br \/><span style=\"color: #0000ff\">&#8211;<\/span><br \/><span style=\"color: #0000ff\">replace: olcTLSCertificateFile<\/span><br \/><span style=\"color: #0000ff\">olcTLSCertificateFile: \/etc\/openldap\/certs\/server.crt<\/span><br \/><span style=\"color: #0000ff\">&#8211;<\/span><br \/><span style=\"color: #0000ff\">replace: olcTLSCertificateKeyFile<\/span><br \/><span style=\"color: #0000ff\">olcTLSCertificateKeyFile: \/etc\/openldap\/certs\/server.key<\/span><\/p>\n<p>9. \u532f\u5165<br \/>#\u00a0 <span style=\"color: #ff0000\">ldapmodify -Y EXTERNAL -H ldapi:\/\/\/ -f mod_ssl.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>10. \u4fee\u6539 <span style=\"color: #ff0000\">\/etc\/sysconfig\/slapd<\/span> \u52a0\u5165<span style=\"color: #ff0000\"> ldaps:\/\/\/<\/span><br \/># <span style=\"color: #ff0000\">cp<\/span> <span style=\"color: #ff0000\">\/etc\/sysconfig\/slapd <\/span><span style=\"color: #ff0000\">\/etc\/sysconfig\/slapd.$(date +%F)<\/span><br \/># <span style=\"color: #ff0000\">sed -i &#8216;\/SLAPD_URLS\/s@ldapi:\/\/\/ ldap:\/\/\/@ldapi:\/\/\/ ldap:\/\/\/ ldaps:\/\/\/@&#8217; \/etc\/sysconfig\/slapd<\/span><\/p>\n<p>11. \u91cd\u65b0\u555f\u52d5 LDAP Server<br \/># <span style=\"color: #ff0000\">systemctl restart slapd.service<\/span><\/p>\n<p>12. \u6aa2\u67e5\u662f\u5426\u6709\u6b63\u5e38\u57f7\u884c<br \/># <span style=\"color: #ff0000\">netstat -antulp | egrep &#8216;389|636&#8217;<\/span><br \/><span style=\"color: #0000ff\">tcp\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0\u00a0 0 0.0.0.0:636\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0.0.0.0:*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 LISTEN\u00a0\u00a0\u00a0\u00a0\u00a0 1933\/slapd<\/span><br \/><span style=\"color: #0000ff\">tcp\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0\u00a0 0 0.0.0.0:389\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0.0.0.0:*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 LISTEN\u00a0\u00a0\u00a0\u00a0\u00a0 1933\/slapd<\/span><br \/><span style=\"color: #0000ff\">tcp6\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0\u00a0 0 :::636\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 :::*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 LISTEN\u00a0\u00a0\u00a0\u00a0\u00a0 1933\/slapd<\/span><br \/><span style=\"color: #0000ff\">tcp6\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0\u00a0 0 :::389\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 :::*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 LISTEN\u00a0\u00a0\u00a0\u00a0\u00a0 1933\/slapd<\/span><\/p>\n<p>13. \u9632\u706b\u7246\u8a2d\u5b9a<br \/># <span style=\"color: #ff0000\">firewall-cmd &#8211;permanent &#8211;add-service=ldap<\/span><br \/># <span style=\"color: #ff0000\">firewall-cmd &#8211;permanent &#8211;add-service=ldaps<\/span><br \/># <span style=\"color: #ff0000\">firewall-cmd &#8211;reload<\/span><br \/>\u6216<br \/># <span style=\"color: #ff0000\">iptables -A INPUT -p tcp -s 192.168.1.0\/24 &#8211;syn -m state &#8211;state NEW &#8211;dport 389 -j ACCEPT<\/span><br \/># <span style=\"color: #ff0000\">iptables -A INPUT -p tcp -s 192.168.1.0\/24 &#8211;syn -m state &#8211;state NEW &#8211;dport 636 -j ACCEPT<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u53c3\u8003\u7db2\u9801\uff1aCentOS 7 : Create SSL Certificates : Server WorldC &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/2blog.ilc.edu.tw\/25793\/2017\/05\/20\/ldap-over-tls\/\" class=\"more-link\">\u95b1\u8b80\u5168\u6587<span class=\"screen-reader-text\">\u3008LDAP over TLS\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-19567","post","type-post","status-publish","format-standard","hentry","category-c-78462","category-c-78460"],"meta_key":{"_pingme":["1"],"_encloseme":["1"],"lt_post_id":["688343"]},"_links":{"self":[{"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/posts\/19567"}],"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=19567"}],"version-history":[{"count":1,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/posts\/19567\/revisions"}],"predecessor-version":[{"id":21075,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/posts\/19567\/revisions\/21075"}],"wp:attachment":[{"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/media?parent=19567"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/categories?post=19567"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/tags?post=19567"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}