# Universelles Muster einer proftpd.conf
#
# Diese Konfigurationsdatei ist fuer den Standard-ProFTPD
# als auch mit eincompilierten mySQL- und TLS-Support.
# Einzelne Direktiven oder ganze Bereiche wurden durch ein
# Kommentarzeichen ("#") deaktivert und sind bei Bedarf
# wieder einfach zu reaktivieren.
#
# Dies ist nur ein Muster und entsprechend anzupassen -
# eine Garantie gleich jedwelcher Art ist ausgeschlossen.
#
# 2006 Volker Gass
ServerType standalone
PidFile /var/run/proftpd.pid
MaxInstances 30
MaxConnectionRate 4
SocketBindTight off
UseReverseDNS off
RootRevoke on
DefaultServer on
MultilineRFC2228 on
DelayEngine off
DelayTable var/run/proftpd/proftpd.delay
TLSProtocol SSLv23
# Log-Formate definieren
SystemLog NONE
LogFormat default "%h %l %u %t \"%r\" %s %b"
LogFormat auth "%v [%P] %h %t \"%r\" %s"
LogFormat write "%h %l %u %t \"%r\" %s %b"
# --------------------------------------------
# globale Settings
# --------------------------------------------
User nobody
Group nogroup
# --------------------------------------------
# Login
# --------------------------------------------
ServerIdent on "FTP server ready."
DeferWelcome on
DisplayConnect /etc/proftpd.msg
IdentLookups off
UseFtpUsers off
RequireValidShell off
TimeoutLogin 60
MaxLoginAttempts 3
MaxClientsPerHost 3
# --------------------------------------------
# Authentifikation: Standard
# --------------------------------------------
AuthOrder mod_auth_unix.c
DenyGroup !ftpuser
# --------------------------------------------
# Authentifikation per SQL
# --------------------------------------------
AuthOrder mod_sql.c
SQLConnectInfo db@localhost sqluser pass
SQLUserInfo ftp userid passwd uid gid homedir NULL
SQLAuthTypes Plaintext
SQLAuthenticate users
SQLMinUserUID 1024
SQLMinUserGID 555
SQLNegativeCache on
# --------------------------------------------
# TLS Standards
# --------------------------------------------
TLSEngine off
TLSTimeoutHandshake 60
TLSRequired off
TLSVerifyClient off
TLSOptions NoCertRequest
TLSLog /var/log/proftpd/tls.log
# TLSCACertificateFile /etc/ssl/certs/CA.cert # CA-Cert optional
# --------------------------------------------
# Post-Login, Timeouts
# --------------------------------------------
PassivePorts 49152 65534
DisplayLogin welcome.msg
DisplayFirstChdir .message
AllowOverride off
TimeoutIdle 600 # Inaktivitaet
TimeoutNoTransfer 3600 # keine Datenuebertragung (Listing, File, ...)
TimeoutStalled 300 # haengende Datenuebertragung
TimeoutSession 7200 # Gesamtdauer einer Session
# --------------------------------------------
# Session
# --------------------------------------------
DefaultRoot ~
DenyFilter \*.*/
ListOptions "-An +R" strict
UseGlobbing off
ShowSymlinks on
TimesGMT on
# --------------------------------------------
# Up- & Download
# --------------------------------------------
AllowOverwrite on
AllowRetrieveRestart on
HiddenStores on
DeleteAbortedStores on
AllowStoreRestart off # widerspricht sonst "DeleteAbortedStores"
# --------------------------------------------
# Datei & Verzeichnis
# --------------------------------------------
Umask 0017 0007
### hierher alle -Bloecke
# --------------------------------------------
# Anonymous FTP
# --------------------------------------------
#
# User ftp
# Group ftpuser
# UserAlias anonymous ftp
#
# MaxClients 5 # weniger anonymous-User als Reg.User
# MaxRetrieveFileSize 512 Mb # max. Downloadgroesse
#
# # Geschwindigkeit von Up/Downloads
# # auf 255 K/sec. beschraenken
# TransferRate APPE,RETR,STOR,STOU 255
#
#
# HideNoAccess on
#
# DenyAll
# IgnoreHidden on
#
#
#
# --------------------------------------------
# Logging
# --------------------------------------------
WtmpLog off
TransferLog /var/log/proftpd/xferlog
# Record all logins
ExtendedLog /var/log/proftpd/auth.log AUTH auth
# Logging file/dir access
ExtendedLog /var/log/proftpd/access.log WRITE,READ write
# Paranoia logging level....
ExtendedLog /var/log/proftpd/paranoid.log ALL default
# fuer Debug: alle modMySQL Kommentare (Datenmenge immens!)
#SQLLogFile /var/log/proftpd/sql.log
# --------------------------------------------
# Standard-Server
# --------------------------------------------
DefaultAddress 192.168.1.100
ServerName meinserver.tld
ServerAdmin hostmaster@meinserver.tld
# MasqueradeAddress meinserver.dyndns.org
TLSEngine on
TLSRSACertificateFile /etc/ssl/certs/meinserver.tld.cert
TLSRSACertificateKeyFile /etc/ssl/certs/meinserver.tld.key
# --------------------------------------------
# Virtuelle Hosts...
# --------------------------------------------
ServerName server2.meinserver.tld
ServerAdmin hostmaster@meinserver.tld
TLSEngine on
TLSRSACertificateFile /etc/ssl/certs/server2.meinserver.tld.cert
TLSRSACertificateKeyFile /etc/ssl/certs/server2.meinserver.tld.key