#
# /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				on

ServerName			"DNS1 ProFTPD"
ServerType			standalone
DefaultServer			on
ShowSymlinks			on
DeferWelcome			off
DisplayLogin                    "welcome.msg"

<Global>
DefaultRoot	~
AllowOverwrite		on

AllowRetrieveRestart on 

AllowStoreRestart on 

RequireValidShell off

AllowForeignAddress on
</Global>

# 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.
# REQUIRED if you behind nat/firewall/router
PassivePorts                    65500 65534

# 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

# delay on login off
<IfModule mod_ident.c>
IdentLookups off 
</IfModule>

UseReverseDNS off 

# 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 to retrieve passwords:
# PersistentPasswd		off

# 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

# run this before start proftpd with ssl support
# openssl req -new -x509 -days 365 -nodes  -out /etc/ssl/certs/proftpd.cert.pem -keyout /etc/ssl/certs/proftpd.key.pem
<IfModule mod_tls.c>
TLSEngine				on
TLSLog 					/var/log/tls.log
TLSProtocol				SSLv23
#TLSOptions				NoCertRequest
TLSOptions				NoSessionReuseRequired
TLSRSACertificateFile			/etc/letsencrypt/live/dns1.oppserver.net/fullchain.pem
TLSRSACertificateKeyFile		/etc/letsencrypt/live/dns1.oppserver.net/privkey.pem
TLSVerifyClient				off
TLSRequired				off
</IfModule>

<IfModule mod_quota.c>
QuotaEngine on
</IfModule>

<IfModule mod_ratio.c>
Ratios on
</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        on
ControlsMaxClients    2
ControlsLog           /var/log/proftpd/controls.log
ControlsInterval      5
ControlsSocket        /var/run/proftpd/proftpd.sock
</IfModule>

<IfModule mod_ctrls_admin.c>
AdminControlsEngine on
</IfModule>
# --------------------------------------------
# Anonymous FTP
# --------------------------------------------

<Anonymous /mirror/debian.oppserver.net>
User anonymous
Group anonymous

<Directory *>
HideNoAccess on
<Limit WRITE>
DenyAll
IgnoreHidden on
</Limit>
</Directory>

</Anonymous>
