Tutoriais/Ftpd/Proftpd-LDAP
De UnderLinux Wiki
Proftpd - LDAP
Tabela de conteúdo |
Introdução
O Proftpd é conhecido por ser um servidor de FTP seguro, de fácil configuração (baseada no modelo do Apache), bom desempenho e bastante recursos.
Ele permite a utilização de diversos modulos para autenticação dos usuários, LDAP, Radius, Mysql, Postgres, entre outros. Nesse artigo vamos falar sobre a autenticação LDAP com o proftpd. Dentre as vantagens de se utilizar a autenticação LDAP com o proftpd podemos destacar a utilização de uma base central de usuários que pode ser compartilhada por diversos servidores, não é necessário a criação de usuários locais no sistema, os diretórios dos usuários podem ser criados automaticamente assim que eles conectam-se ao sistema, etc.
Instalação
A instalação do Postfix LDAP pode ser feita a partir dos pacotes da sua distribuição preferida ou através da compilação dos fontes.
As versões antigas do Postfix + LDAP, não suportam alguns tipos de filtros e recursos adicionais. Também ocorreram algumas alterações nos filtros de pesquisa nas versões recentes do módulo LDAP do proftpd.
Em virtude desses fatos eu recomendo fazer a compilação de uma versão recente do pacote. Vai ser utilizada a versão 1.2.7 como base para esse artigo.
Compilação
# ./configure -prefix=/usr --sysconfdir=/etc --localstatedir=/var/run --with-modules=mod_ldap # make # make install
- Com os parâmetros de compilação acima, a instalação do proftpd vai habilitar o suporte a autênticacao LDAP e utilizar a estrutura de diretórios padrão da maioria dos pacotes do Proftpd que acompanham as distribuições Linux.
Configuração
Segue abaixo as configurações que devem ser adicionais ao arquivo de configuração do Proftpd para funcionar a autenticação LDAP.
Arquivo: /etc/proftpd.conf
# Host do servidor ldap LDAPServer localhost # Usuário e senha que vão ser utilizados para conectar a base LDAP LDAPDNInfo cn=proftp,dc=dominio,dc=com,dc=br senha # Prefixo utilizado para autenticação LDAPDoAuth on "ou=People,dc=dominio,dc=com,dc=br"
Opcionais
Parâmetros adicionais que podem ser utilizados:
# Fazer a pesquisa no servidor LDAP com filtro # Somente os usuarios que tiverem o atributo ftpaccess=1 vão conseguir logar LDAPDoAuth on "ou=People,dc=dominio,dc=com,dc=br" (&(uid=%v)(ftpaccess=1)) # Cria automaticamente o home dos usuários caso não exista LDAPHomedirOnDemand on # UID e GID Padrão, quando não forem encontrados UID/GID do usuário na base LDAP. LDAPDefaultGID 121 LDAPDefaultUID 121 # Força um UID ou GID para os usuários LDAPForceDefaultUID 121 LDAPForceDefaultGID 121 # Esconder informações do servidor FTP ServerIdent on "FTP server ready."
Exemplo
Exemplo de arquivo de configuração completo:
# ProFTPD Configuration LDAPServer localhost LDAPDNInfo cn=proftpd,dc=dominio,dc=com,dc=br senha LDAPDoAuth on "ou=People,dc=dominio,dc=com,dc=br" (&(uid=%v)(ftpaccess=1)) LDAPDefaultGID 121 LDAPDefaultUID 121 LDAPHomedirOnDemand on ServerName "ProFTPD" ServerIdent on "FTP server ready." RequireValidShell off ServerType standalone DefaultServer on ScoreboardFile /var/run/proftpd/proftpd DeferWelcome on ServerAdmin root@dominio.com.br SyslogFacility AUTH AllowOverwrite yes Port 21 Umask 022 MaxInstances 30 DefaultRoot ~ User nobody Group nogroup AllowOverwrite on User ftp Group ftp DirFakeUser on DirFakeGroup on RequireValidShell off UserAlias anonymous ftp MaxClients 10 "Número máximo de clientes, tente mais tarde." MaxClientsPerHost 2 "Você já está com muitas conexões simultâneas." DisplayLogin welcome.msg DisplayFirstChdir .message AccessGrantMsg "Acesso anônimo aceito para %u." DenyAll
Notas
O autor do mod_ldap, exige que você envie para ele um cartão postal da sua cidade.
Maiores informações podem ser obtidas no site do autor: http://horde.net/~jwm/software/mod_ldap/
Referências
http://www.proftpd.org http://horde.net/~jwm/software/mod_ldap/


