Integração com AD [RESOLVIDO]

1. Integração com AD [RESOLVIDO]

fernando freitas do vale
fernandovale

(usa Outra)

Enviado em 17/10/2013 - 16:27h

Galera,

Estou tentando integrar um servidor proftpd com ad pelo ldap.conf

segue configuração do meu proftpd.conf


#
# /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes, reload proftpd after modifications, if
# it runs in daemon mode. It is not required in inetd/xinetd mode.
#

# Includes DSO modules
Include /etc/proftpd/modules.conf

# Set off to disable IPv6 support which is annoying on IPv4 only boxes.
UseIPv6 off
# If set on you can experience a longer connection delay in many cases.
IdentLookups off

ServerName "FTP TCC"
ServerType standalone
DeferWelcome off

MultilineRFC2228 on
DefaultServer on
ShowSymlinks on

TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200

DisplayLogin welcome.msg
DisplayChdir .message true
ListOptions "-l"

DenyFilter \*.*/

# Use this to jail all users in their homes

DefaultRoot /ftp
DefaultRoot ~
RootLogin off

# Users require a valid shell listed in /etc/shells to login.
# Use this directive to release that constrain.
RequireValidShell off

# Port 21 is the standard FTP port.
Port 21

# In some cases you have to specify passive ports range to by-pass
# firewall limitations. Ephemeral ports can be used for that, but
# feel free to use a more narrow range.
PassivePorts 49152 65534

# If your host was NATted, this option is useful in order to
# allow passive tranfers to work. You have to use your public
# address and opening the passive ports used on your firewall as well.
# MasqueradeAddress 1.2.3.4

# This is useful for masquerading address with dynamic IPs:
# refresh any configured MasqueradeAddress directives every 8 hours
<IfModule mod_dynmasq.c>
# DynMasqRefresh 28800
</IfModule>

# To prevent DoS attacks, set the maximum number of child processes
# to 30. If you need to allow more than 30 concurrent connections
# at once, simply increase this value. Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances 30

# Set the user and group that the server normally runs at.
User proftpd
Group nogroup

# Umask 022 is a good standard umask to prevent new files and dirs
# (second parm) from being group and world writable.
Umask 022 022
# Normally, we want files to be overwriteable.
AllowOverwrite on

# Uncomment this if you are using NIS or LDAP via NSS to retrieve passwords:
# PersistentPasswd off

# This is required to use both PAM-based authentication and local passwords
AuthOrder mod_ldap.c

# Be warned: use of this directive impacts CPU average load!
# Uncomment this if you like to see progress and transfer rate with ftpwho
# in downloads. That is not needed for uploads rates.
#
# UseSendFile off

TransferLog /var/log/proftpd/xferlog
SystemLog /var/log/proftpd/proftpd.log

# Logging onto /var/log/lastlog is enabled but set to off by default
#UseLastlog on

# In order to keep log file dates consistent after chroot, use timezone info
# from /etc/localtime. If this is not set, and proftpd is configured to
# chroot (e.g. DefaultRoot or <Anonymous>), it will use the non-daylight
# savings timezone regardless of whether DST is in effect.
#SetEnv TZ :/etc/localtime

<IfModule mod_quotatab.c>
QuotaEngine off
</IfModule>

<IfModule mod_ratio.c>
Ratios off
</IfModule>


# Delay engine reduces impact of the so-called Timing Attack described in
# http://www.securityfocus.com/bid/11430/discuss
# It is on by default.
<IfModule mod_delay.c>
DelayEngine on
</IfModule>

<IfModule mod_ctrls.c>
ControlsEngine off
ControlsMaxClients 2
ControlsLog /var/log/proftpd/controls.log
ControlsInterval 5
ControlsSocket /var/run/proftpd/proftpd.sock
</IfModule>

<IfModule mod_ctrls_admin.c>
AdminControlsEngine off
</IfModule>

#
# Alternative authentication frameworks
#
Include /etc/proftpd/ldap.conf
#Include /etc/proftpd/sql.conf

# This is used for FTPS connections
#
#Include /etc/proftpd/tls.conf

#
# Useful to keep VirtualHost/VirtualRoot directives separated
#
#Include /etc/proftpd/virtuals.con

# A basic anonymous configuration, no upload directories.

# <Anonymous ~ftp>
# User ftp
# Group nogroup
# # We want clients to be able to login with "anonymous" as well as "ftp"
# UserAlias anonymous ftp
# # Cosmetic changes, all files belongs to ftp user
# DirFakeUser on ftp
# DirFakeGroup on ftp
#
# RequireValidShell off
#
# # Limit the maximum number of anonymous logins
# MaxClients 10
#
# # We want 'welcome.msg' displayed at login, and '.message' displayed
# # in each newly chdired directory.
# DisplayLogin welcome.msg
# DisplayChdir .message
#
# # Limit WRITE everywhere in the anonymous chroot
# <Directory *>
# <Limit WRITE>
# DenyAll
# </Limit>
# </Directory>
#
# # Uncomment this if you're brave.
# # <Directory incoming>
# # # Umask 022 is a good standard umask to prevent new files and dirs
# # # (second parm) from being group and world writable.
# # Umask 022 022
# # <Limit READ WRITE>
# # DenyAll
# # </Limit>
# # <Limit STOR>
# # AllowAll
# # </Limit>
# # </Directory>
#
# </Anonymous>

# Include other custom configuration files
Include /etc/proftpd/conf.d/

DebugLevel 3


ldap.conf



#
# Proftpd sample configuration for LDAP authentication.
#
# (This is not to be used if you prefer a PAM-based LDAP authentication)
#

<IfModule mod_ldap.c>
#Name of Your Active Directory Server
LDAPServer xxx.xxx.xxx.xxx
LDAPAttr uid sAMAccountName

# GID/UID
#LDAPDefaultGID 1001
#LDAPDefaultUID 1002
#LDAPForceDefaultUID on
#LDAPForceDefaultGID on

# Default Home Directory
LDAPGenerateHomedir on
LDAPGenerateHomedirPrefix /ftp
LDAPForceGeneratedHomedir on
CreateHome on

# Default account to bind to Active Directory

LDAPBindDN "cn=administrador,cn=users,dc=tcc,dc=teste,dc=com" "xxxxxx"
LDAPAuthBinds on
LDAPUsers on ou=usuarios,dc=tcc,dc=teste,dc=com (sAMAccountName=%u)

#
# This is used for ordinary LDAP connections, with or without TLS
#
#LDAPServer ldap://ldap.example.com
#LDAPBindDN "cn=admin,dc=example,dc=com" "admin_password"
#LDAPUsers dc=users,dc=example,dc=com (uid=%u) (uidNumber=%u)
#
# To be set on only for LDAP/TLS on ordinary port, for LDAP+SSL see below
#LDAPUseTLS on
#

#
# This is used for encrypted LDAPS connections
#
#LDAPServer ldap://ldap.example.com
#LDAPBindDN "cn=admin,dc=example,dc=com" "admin_password"
#LDAPUsers dc=users,dc=example,dc=com (uid=%u) (uidNumber=%u)
#
# To be set on only for LDAP/TLS on ordinary port, for LDAP+SSL see below
#LDAPUseTLS on
#

#
# This is used for encrypted LDAPS connections
#
#LDAPServer ldaps://ldap.example.com
#LDAPBindDN "cn=admin,dc=example,dc=com" "admin_password"
#LDAPUsers dc=users,dc=example,dc=com (uid=%u) (uidNumber=%u)
#
</IfModule>



segue log:

Out 17 14:16:17 tcc proftpd[7425] tcc (xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx]): mod_ldap/2.9.0: attempting connection to ldap://xxx.xxx.xxx.xxx/
Out 17 14:16:17 tcc proftpd[7425] tcc (xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx]): mod_ldap/2.9.0: set protocol version to 3
Out 17 14:16:17 tcc proftpd[7425] tcc (xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx]): mod_ldap/2.9.0: connected to ldap://xxx.xxx.xxx.xxx/
Out 17 14:16:17 tcc proftpd[7425] tcc (xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx]): mod_ldap/2.9.0: successfully bound as cn=administrador,cn=users,dc=tcc,dc=teste,dc=com with password *******
Out 17 14:16:17 tcc proftpd[7425] tcc (xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx]): mod_ldap/2.9.0: set dereferencing to 0
Out 17 14:16:17 tcc proftpd[7425] tcc (xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx]): mod_ldap/2.9.0: set query timeout to 5s
Out 17 14:16:17 tcc proftpd[7425] tcc (xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx]): mod_ldap/2.9.0: pr_ldap_search(): LDAP search failed: Invalid DN syntax
Out 17 14:16:17 tcc proftpd[7425] tcc (xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx]): USER teste.ftp: no such user found from xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx] to xxx.xxx.xxx.xxx:21
Out 17 14:16:17 tcc proftpd[7425] tcc (xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx]): mod_ldap/2.9.0: successfully unbound
Out 17 14:16:17 tcc proftpd[7425] tcc (xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx]): mod_ldap/2.9.0: not unbinding to an already unbound connection.
Out 17 14:16:17 tcc proftpd[7425] tcc (xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx]): FTP session closed.


se alguém tiver uma luz ai eu agradeço que já tentei de quase tudo eu acho menos o que resolve o problema...rs


  


2. Re: Integração com AD [RESOLVIDO]

fernando freitas do vale
fernandovale

(usa Outra)

Enviado em 18/10/2013 - 08:10h

Opa, e ai alguém alguém???


3. Re: Integração com AD [RESOLVIDO]

fernando freitas do vale
fernandovale

(usa Outra)

Enviado em 22/10/2013 - 20:56h

Blza,


Alguém pode me indicar algum ftp que integre com Samba4 ou AD que até o momento minhas tentativas foram frutradas.


4. Re: Integração com AD [RESOLVIDO]

Rodrigo Cristiano
RCristiano

(usa Debian)

Enviado em 13/02/2014 - 12:29h

Eu também estou enfrentando problemas para fazer essa integração colega.
Porém de cara eu vi uns detalhes que talvez vc não tenha notado.

Out 17 14:16:17 tcc proftpd[7425] tcc (xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx]): mod_ldap/2.9.0: successfully bound as cn=administrador,cn=users,dc=tcc,dc=teste,dc=com with password *******

Ai diz que conectou com o AD com o rdn que vc colocou (y) blz.
Depois que vem o problema.

Out 17 14:16:17 tcc proftpd[7425] tcc (xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx]): mod_ldap/2.9.0: pr_ldap_search(): LDAP search failed: Invalid DN syntax

Depois disso nem adianta ler o resto, e já esta explicando o motivo do problema "Invalid DN syntax"

Nas suas configuraçõe você usuou "LDAPUsers on ou=usuarios,dc=tcc,dc=teste,dc=com (sAMAccountName=%u)"
Tem algum erro ai. eu achei esse exemplo "LDAPUsers "ou=People,dc=linuz,dc=in" (uid=%v)" no site http://www.linuz.in/?p=435 , que me ajudou bastante.

Porém mesmo eu conseguindo colocar um DN que funcione sempre me retorna que o usuário não foi encontrado.

eu vou postar minha configuração do mod_ldap para você dar uma olhada e quem sabe alquêm indicar a solução.

<IfModule mod_ldap.c>
#
# This is used for ordinary LDAP connections, with or without TLS
#
LDAPServer ldap://regea.net:389/??sub
LDAPBindDN "CN=Administrator,CN=Users,DC=regea,DC=net" "XXXXXX"
LDAPAuthBinds on
#LDAPUsers "ou=People,dc=regea,dc=net" (uid=%v)
LDAPUsers "OU=People,DC=regea,DC=net" (&(uid=%v)(objectclass=posixAccount))
LDAPDefaultGID 1001
LDAPForceDefaultGID True
</IfModule>

e o log

Server-X3200 proftpd[2717] 127.0.1.1 (192.168.0.48[192.168.0.48]): mod_ldap/2.9.2: not unbinding to an already unbound connection.
Server-X3200 proftpd[2717] 127.0.1.1 (192.168.0.48[192.168.0.48]): mod_ldap/2.9.2: generated filter OU=People,DC=regea,DC=net from template OU=People,DC=regea,DC=net and value Regea
Server-X3200 proftpd[2717] 127.0.1.1 (192.168.0.48[192.168.0.48]): mod_ldap/2.9.2: generated filter (&(uid=Regea)(objectclass=posixAccount)) from template (&(uid=%v)(objectclass=posixAccount)) and value Regea
Server-X3200 proftpd[2717] 127.0.1.1 (192.168.0.48[192.168.0.48]): mod_ldap/2.9.2: attempting connection to ldap://regea.net:389/??sub
Server-X3200 proftpd[2717] 127.0.1.1 (192.168.0.48[192.168.0.48]): mod_ldap/2.9.2: set protocol version to 3
Server-X3200 proftpd[2717] 127.0.1.1 (192.168.0.48[192.168.0.48]): mod_ldap/2.9.2: connected to ldap://regea.net:389/??sub
Server-X3200 proftpd[2717] 127.0.1.1 (192.168.0.48[192.168.0.48]): mod_ldap/2.9.2: successfully bound as CN=Administrator,CN=Users,DC=regea,DC=net with password XXXXXX
Server-X3200 proftpd[2717] 127.0.1.1 (192.168.0.48[192.168.0.48]): mod_ldap/2.9.2: set dereferencing to 0
Server-X3200 proftpd[2717] 127.0.1.1 (192.168.0.48[192.168.0.48]): mod_ldap/2.9.2: set query timeout to 5s
Server-X3200 proftpd[2717] 127.0.1.1 (192.168.0.48[192.168.0.48]): mod_ldap/2.9.2: searched under base DN OU=People,DC=regea,DC=net using filter (&(uid=Regea)(objectclass=posixAccount))
Server-X3200 proftpd[2717] 127.0.1.1 (192.168.0.48[192.168.0.48]): mod_ldap/2.9.2: no entries for filter (&(uid=Regea)(objectclass=posixAccount)) under base DN OU=People,DC=regea,DC=net
Server-X3200 proftpd[2717] 127.0.1.1 (192.168.0.48[192.168.0.48]): USER Regea: no such user found from 192.168.0.48 [192.168.0.48] to 192.168.0.101:21
Server-X3200 proftpd[2717] 127.0.1.1 (192.168.0.48[192.168.0.48]): mod_ldap/2.9.2: successfully unbound
Server-X3200 proftpd[2717] 127.0.1.1 (192.168.0.48[192.168.0.48]): mod_ldap/2.9.2: not unbinding to an already unbound connection.
Server-X3200 proftpd[2717] 127.0.1.1 (192.168.0.48[192.168.0.48]): FTP session closed.



5. Re: Integração com AD [RESOLVIDO]

fernando freitas do vale
fernandovale

(usa Outra)

Enviado em 16/02/2014 - 12:23h

Opa ate tinha esquecido desse tópico chefe.

O meu aqui ta rodando, como minha questão principal que é para um tcc seria sua integração com o AD não me delonguei muito nas configurações somente na integração em si.

segue arquivo ldap, achei as informações em um blog que não tenho aqui salvo então infelizmente não poderei dar os créditos, mas resolveu por aqui.

abraços

#
# Proftpd sample configuration for LDAP authentication.
#
# (This is not to be used if you prefer a PAM-based LDAP authentication)
#

<IfModule mod_ldap.c>
#
# This is used for ordinary LDAP connections, with or without TLS
#
LDAPServer x.x.x.x
LDAPAttr uid sAMAccountname


LDAPBindDN "cn=Administrador,cn=Users,dc=teste,dc=com" "senha"
LDAPUsers ou=usuarios,dc=teste,dc=com (sAMAccountname=%u)
LDAPDefaultUID 112
LDAPDefaultGID 1006
LDAPForceDefaultUID on
LDAPForceDefaultGID on
LDAPForceGeneratedHomedir on
LDAPGenerateHomedir on 755
LDAPForceGeneratedHomedir on 755
LDAPGenerateHomedirPrefix /samba/ftp
AllowOverwrite on



#
# To be set on only for LDAP/TLS on ordinary port, for LDAP+SSL see below
#LDAPUseTLS on
#

#
# This is used for encrypted LDAPS connections
#
#LDAPServer ldaps://ldap.example.com
#LDAPBindDN "cn=admin,dc=example,dc=com" "admin_password"
#LDAPUsers dc=users,dc=example,dc=com (uid=%u) (uidNumber=%u)
#



A o único problema ainda é que quando crio o perfil no AD tenho que entrar no linux e criar o diretório do usuário pois por algum motivo não ta criando. Tava meio abandonado retomei agora deve ser algum problema simples de permissão ainda não analisei o log.

abs






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts