proftpd.conf
# /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes reload proftpd after modifications.
# 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
ServerIdent on "FTP Server ready."
# Приветствие при успешной регистрации на ftp-сервере
AccessGrantMsg "WELCOME FTP Server InHibitz"
DebugLevel 10 # включаем более подробный лог
ServerName "Administrator FTP"
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 ~
# 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 ftp
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_auth_pam.c* mod_auth_unix.c
AuthPAMConfig proftpd
# 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
<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://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02
# 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
# A basic anonymous configuration, no upload directories.
MaxLoginAttempts 5 "Количество попыток авторизации исчерпано"
ldap.conf
<IfModule mod_ldap.c>
AuthOrder mod_ldap.c mod_auth_unix.c # подключаем модуль ldap и unix
LDAPServer x.x.x.x # наш LDAP сервер
LDAPAttr uid SAMAccountname
LDAPGenerateHomedir on # создаем домашние ftp директории пользователей
LDAPGenerateHomedirPrefix /home/ftp/pub # в /home/ftp/pub
CreateHome on 0755 # и назначаем chmod 755
# В данном случае все LDAP FTP пользователи располагаются в Группе (OU) People в AD. Если Вы их оставите в Users (по умолчанию где создаются AD пользователи), то необходимо заменить запись ou=people на cn=users.
LDAPDNInfo "CN=Administrator,CN=Users,DC=xxx,DC=xxx" "xxxxxxxx"
LDAPDoAuth on "CN=ftp,CN=Users,DC=xxxxx,DC=xxxxx" "samAccountName=%u"
LDAPAuthBinds on
# пользователям назначаем права chown на создание директорий (файлов)
LDAPDefaultGID 65534 # group nogroup см. /etc/group
LDAPDefaultUID 105 # user proftpd см. /etc/passwd
#uid - user id цифровое значение пользователя (первый не-рут пользователь в сиcтеме как правило 1000, рут - 0 )
#gid - group id цифровое значение группы пользователей (группа users например - 100, группа root 0)
</IfModule>
RequireValidShell off # (авторизовывать клиента только если он имеет основной shell из списка /et/shells; область действия - основной сервер, Global, VirtualHost, Anonymous т.е. отключает проверку командного интерпретатора пользователя - это лишнее)
UseFtpUsers off
PersistentPasswd off
<IfModule mod_auth_pam.c>
AuthPAM off # не используем дополнительные PAM модули
</IfModule>
в логах при коннекте :
Май 23 12:59:32 ftp-srv proftpd[2081] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching PRE_CMD command 'QUIT' to mod_rewrite
Май 23 12:59:32 ftp-srv proftpd[2081] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching PRE_CMD command 'QUIT' to mod_tls
Май 23 12:59:32 ftp-srv proftpd[2081] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching PRE_CMD command 'QUIT' to mod_core
Май 23 12:59:32 ftp-srv proftpd[2081] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching PRE_CMD command 'QUIT' to mod_core
Май 23 12:59:32 ftp-srv proftpd[2081] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching CMD command 'QUIT' to mod_core
Май 23 12:59:32 ftp-srv proftpd[2081] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching LOG_CMD command 'QUIT' to mod_log
Май 23 12:59:32 ftp-srv proftpd[2081] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching LOG_CMD command 'QUIT' to mod_core
Май 23 12:59:32 ftp-srv proftpd[2081] ftp-srv.xxxxx (localhost[127.0.0.1]): FTP session closed.
Май 23 12:59:34 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): connected - local : 127.0.0.1:21
Май 23 12:59:34 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): connected - remote : 127.0.0.1:46377
Май 23 12:59:34 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): FTP session opened.
Май 23 12:59:37 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching PRE_CMD command 'USER suhorukovva' to mod_rewrite
Май 23 12:59:37 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching PRE_CMD command 'USER suhorukovva' to mod_tls
Май 23 12:59:37 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching PRE_CMD command 'USER suhorukovva' to mod_core
Май 23 12:59:37 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching PRE_CMD command 'USER suhorukovva' to mod_core
Май 23 12:59:37 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching PRE_CMD command 'USER suhorukovva' to mod_delay
Май 23 12:59:37 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching PRE_CMD command 'USER suhorukovva' to mod_auth
Май 23 12:59:37 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching CMD command 'USER suhorukovva' to mod_auth
Май 23 12:59:37 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): retrieved group IDs: 10005, 10011, 10010, 10009, 10008, 10007, 10006
Май 23 12:59:37 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): retrieved group names: администраторы домена, ftp, пользователи домена, vpn, сотрудники рэу, scan operators, группа с запрещением репликации паролей rodc
Май 23 12:59:37 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching POST_CMD command 'USER suhorukovva' to mod_delay
Май 23 12:59:38 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching LOG_CMD command 'USER suhorukovva' to mod_log
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching PRE_CMD command 'PASS (hidden)' to mod_rewrite
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching PRE_CMD command 'PASS (hidden)' to mod_tls
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching PRE_CMD command 'PASS (hidden)' to mod_core
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching PRE_CMD command 'PASS (hidden)' to mod_core
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching PRE_CMD command 'PASS (hidden)' to mod_wrap2
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching PRE_CMD command 'PASS (hidden)' to mod_ban
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching PRE_CMD command 'PASS (hidden)' to mod_wrap
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching PRE_CMD command 'PASS (hidden)' to mod_radius
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching PRE_CMD command 'PASS (hidden)' to mod_delay
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching PRE_CMD command 'PASS (hidden)' to mod_auth
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching CMD command 'PASS (hidden)' to mod_auth
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): retrieved group IDs: 10005, 10011, 10010, 10009, 10008, 10007, 10006
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): retrieved group names: администраторы домена, ftp, пользователи домена, vpn, сотрудники рэу, scan operators, группа с запрещением репликации паролей rodc
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): retrieved UID 10000 for user 'suhorukovva'
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): ROOT PRIVS at mod_auth_unix.c:376
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): RELINQUISH PRIVS at mod_auth_unix.c:415
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): USER suhorukovva (Login failed): Incorrect password.
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching POST_CMD_ERR command 'PASS (hidden)' to mod_wrap2
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching POST_CMD_ERR command 'PASS (hidden)' to mod_delay
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching LOG_CMD_ERR command 'PASS (hidden)' to mod_log
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching LOG_CMD_ERR command 'PASS (hidden)' to mod_auth
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching PRE_CMD command 'SYST' to mod_rewrite
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching PRE_CMD command 'SYST' to mod_tls
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching PRE_CMD command 'SYST' to mod_core
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching PRE_CMD command 'SYST' to mod_core
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching CMD command 'SYST' to mod_core
Май 23 12:59:41 ftp-srv proftpd[2086] ftp-srv.xxxxx (localhost[127.0.0.1]): dispatching LOG_CMD command 'SYST' to mod_log