{"id":495,"date":"2012-06-02T09:00:06","date_gmt":"2012-06-02T07:00:06","guid":{"rendered":"http:\/\/diablo.craem.net\/wordpress\/?p=495"},"modified":"2012-06-02T09:00:06","modified_gmt":"2012-06-02T07:00:06","slug":"proftpd-debian-openldap","status":"publish","type":"post","link":"https:\/\/diablo.craem.net\/?p=495","title":{"rendered":"ProFTPD Debian + openLdap"},"content":{"rendered":"<p>Hoy toca documentar la instalaci\u00f3n de un servidor FTP en Debian con autenticaci\u00f3n de LDAP, unificando todos nuestros logins.<br \/>\nEn esta ocasion instalaremos ProFTPD.<br \/>\nInstalamos los paquetes necesarios:<br \/>\n<code><br \/>\n# apt-get install proftpd proftpd-mod-ldap<br \/>\n<\/code><br \/>\nNos preguntar\u00e1 si lo queremos integrado en inetd o independiente&#8230;. en mi caso me interesa tenerlo como servicio independiente, para poder pararlo sin afectar a otros servicios.<br \/>\nEditamos los ficheros de configuraci\u00f3n:<br \/>\n<code><br \/>\n# cd \/etc\/proftpd<br \/>\n# nano ldap.conf<br \/>\n<\/code><br \/>\nY lo dejaremos tal que:<br \/>\n<code><br \/>\n#<br \/>\n# Proftpd sample configuration for LDAP authentication.<br \/>\n#<br \/>\n# (This is not to be used if you prefer a PAM-based SQL authentication)<br \/>\n#<br \/>\n<ifModule mod_ldap.c><br \/>\n#<br \/>\n# This is used for ordinary LDAP connections, with or without TLS<br \/>\n#<br \/>\nLDAPServer ldap:\/\/mi.servidor.open.ldap\/??sub<br \/>\nLDAPDNInfo \"cn=proftpd,dc=craem,dc=net\" \"proftpd\"<br \/>\nLDAPDoAuth on \"dc=craem,dc=net\" \"(&(uid=%v)(objectclass=posixAccount))\"<br \/>\nLDAPAttr uid cn homeDirectory<br \/>\nLDAPAuthBinds on<br \/>\n#<br \/>\n# To be set on only for LDAP\/TLS on ordinary port, for LDAP+SSL see below<br \/>\n#LDAPUseTLS on<br \/>\n#<br \/>\n#<br \/>\n# This is used for encrypted LDAPS connections<br \/>\n#<br \/>\n#LDAPServer ldaps:\/\/ldap.example.com<br \/>\n#LDAPDNInfo \"cn=admin,dc=example,dc=com\" \"admin_password\"<br \/>\n#LDAPDoAuth on \"dc=users,dc=example,dc=com\"<br \/>\n#<br \/>\n<\/ifModule><br \/>\n<\/code><br \/>\nY explicamos<br \/>\n<strong>LDAPServer ldap:\/\/mi.servidor.open.ldap\/??sub<\/strong><br \/>\nPonemos la url de nuestro servidor ldap, m\u00e1s <em>\/??sub<\/em>. En la documentaci\u00f3n oficial sale.<br \/>\n<strong>LDAPDNInfo \u00abcn=proftpd,dc=craem,dc=net\u00bb \u00abproftpd\u00bb<br \/>\n<\/strong><br \/>\nEn este caso, me he creado un usuario de lectura para openLdap y tener que poner el administrador \ud83d\ude09<br \/>\n<strong>LDAPDoAuth on \u00abdc=craem,dc=net\u00bb \u00ab(&#038;(uid=%v)(objectclass=posixAccount))\u00bb<\/strong><br \/>\nD\u00f3nde buscar\u00e1 los usuarios y la propiedad de b\u00fasqueda, siendo en este caso <em>posixAccount<\/em><br \/>\n<strong>LDAPAttr uid cn homeDirectory<\/strong><br \/>\nEl directorio de cada usuario, lo leeremos de la propiedad <em>homeDirectory<\/em> del ldap, que me parece muuy acertada.<br \/>\n<strong>LDAPAuthBinds on<\/strong><br \/>\nLo activamos \ud83d\ude09<br \/>\nAhora vamos a revisar la parte de configuraci\u00f3n propia de proFTPD:<br \/>\nEditamos el fichero \/etc\/proftpd.conf<br \/>\n<code><br \/>\n#<br \/>\n# Alternative authentication frameworks<br \/>\n#<br \/>\nInclude \/etc\/proftpd\/ldap.conf<br \/>\n#Include \/etc\/proftpd\/sql.conf<br \/>\n<\/code><br \/>\nDescomentamos la parte de ldap y lo personalizamos un poco:<br \/>\n<code><br \/>\nUseIPv6                         off<br \/>\n# If set on you can experience a longer connection delay in many cases.<br \/>\nIdentLookups                    off<br \/>\nServerName                      \"ftp.craem.net\"<br \/>\nServerType                      standalone<br \/>\nDeferWelcome                    off<br \/>\n<\/code><br \/>\nQuito la parte de ipv6, ya que a\u00fan no tengo, cambiamos el servername y lo activamos como \u00abpasivo\u00bb<br \/>\nAhora editaremos el fichero \/etc\/modules.conf para activar que cargue la parte ldap:<br \/>\n<code><br \/>\n# Install proftpd-mod-ldap to use this<br \/>\nLoadModule mod_ldap.c<br \/>\n# Install proftpd-mod-ldap to use this<br \/>\nLoadModule mod_quotatab_ldap.c<br \/>\n<\/code><br \/>\nEn la propiedad <em>homeDirectory<\/em> el LDAP en cada usuario, hemos de establecer el directorio, que por ejemplo puede ser <em>\/home\/%usuario%<\/em>, por ejemplo:<br \/>\n<a href=\"https:\/\/diablo.craem.net\/wp-content\/uploads\/2012\/06\/Pantallazo.png\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/diablo.craem.net\/wp-content\/uploads\/2012\/06\/Pantallazo.png\" alt=\"\" title=\"Configuraci\u00f3n OpenLDAP\" width=\"781\" height=\"218\" class=\"aligncenter size-full wp-image-497\" \/><\/a><br \/>\nDeberemos de crear el directorio para el usuario&#8230;. <em># mkdir \/home\/proftpd<\/em><br \/>\nY ahora lo arrancamos para depurar y verlos logs:<br \/>\n<code><br \/>\n# proftpd -nd 10<br \/>\n<\/code><br \/>\nSi ha ido todo vien, lo paramos y lo arracamos como <em>daemon<\/em><br \/>\n<code><br \/>\n# \/etc\/init.d\/proftpd start<br \/>\n<\/code><br \/>\nAnd enjoy your ftp server with ldap<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hoy toca documentar la instalaci\u00f3n de un servidor FTP en Debian con autenticaci\u00f3n de LDAP, unificando todos nuestros logins. En esta ocasion instalaremos ProFTPD. Instalamos los paquetes necesarios: # apt-get install proftpd proftpd-mod-ldap Nos preguntar\u00e1 si lo queremos integrado en inetd o independiente&#8230;. en mi caso me interesa tenerlo como servicio independiente, para poder pararlo [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,8],"tags":[58,102,134,151],"class_list":["post-495","post","type-post","status-publish","format-standard","hentry","category-linux","category-varios","tag-debian","tag-linux-2","tag-openldap","tag-proftpd"],"_links":{"self":[{"href":"https:\/\/diablo.craem.net\/index.php?rest_route=\/wp\/v2\/posts\/495","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/diablo.craem.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/diablo.craem.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/diablo.craem.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/diablo.craem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=495"}],"version-history":[{"count":0,"href":"https:\/\/diablo.craem.net\/index.php?rest_route=\/wp\/v2\/posts\/495\/revisions"}],"wp:attachment":[{"href":"https:\/\/diablo.craem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=495"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/diablo.craem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=495"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/diablo.craem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=495"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}