I hadn't time until now to view this problem, but it's not a new problem.
When i try to login than the server wait about 17-20sec before i see the filelist. This is a little slow server (Genuine Intel(R) CPU 2160 @ 1.80GHz, 4GB RAM), but this time is very long.
I disabled the DelayEngine, but the connection time seems too high too (12-15sec)
I disabled the processing the imscp domain confs, and the connection time was only 1sec. I found 63 file in this directory, this is not too much, this is my smallest server.
I created a new directory with only one domains.conf and after include that the connection time was 1-1,5sec.
The solution step by step
In my conf this was the default settings but maybe you have other, so check this values:
The default value of "DelayEngine" parameter is "on" because security reason! See http://en.wikipedia.org/wiki/Timing_attack . I disabled this because i think that my real users doesn't want to attack my server, and the fail2ban will ban IP addresses with too many wrong logins (http://www.fail2ban.org/wiki/index.php/ProFTPd)
In the last line of the proftpd.conf i edited the include path:
After this save and close the proftpd.conf.
Create the new config directory /etc/proftpd/imscp2
Save the next block into that directory as domain.conf.
- <Directory ~/backups>
- <Limit RMD RNTO DELE XRMD>
- DenyAll
- </Limit>
- </Directory>
- <Directory ~/backups/*>
- <Limit RMD RNTO DELE XRMD>
- AllowAll
- </Limit>
- </Directory>
- <Directory ~/cgi-bin>
- <Limit RMD RNTO DELE XRMD>
- DenyAll
- </Limit>
- </Directory>
- <Directory ~/cgi-bin/*>
- <Limit RMD RNTO DELE XRMD>
- AllowAll
- </Limit>
- </Directory>
- <Directory ~/htdocs>
- <Limit RMD RNTO DELE XRMD>
- DenyAll
- </Limit>
- </Directory>
- <Directory ~/htdocs/*>
- <Limit RMD RNTO DELE XRMD>
- AllowAll
- </Limit>
- </Directory>
- <Directory ~/disabled>
- <Limit RMD RNTO DELE XRMD>
- DenyAll
- </Limit>
- </Directory>
- <Directory ~/errors>
- <Limit RMD RNTO DELE XRMD>
- DenyAll
- </Limit>
- </Directory>
- <Directory ~/errors/*>
- <Limit RMD RNTO DELE XRMD>
- AllowAll
- </Limit>
- </Directory>
- <Directory ~/logs>
- <Limit RMD RNTO DELE XRMD>
- DenyAll
- </Limit>
- </Directory>
- <Directory ~/logs/*>
- <Limit RMD RNTO DELE XRMD>
- AllowAll
- </Limit>
- </Directory>
- <Directory ~/phptmp>
- <Limit RMD RNTO DELE XRMD>
- DenyAll
- </Limit>
- </Directory>
- <Directory ~/phptmp/*>
- <Limit RMD RNTO DELE XRMD>
- AllowAll
- </Limit>
- </Directory>
- <Directory ~/statistics>
- <Limit RMD RNTO DELE XRMD>
- DenyAll
- </Limit>
- </Directory>
- <Directory ~/statistics/*>
- <Limit RMD RNTO DELE XRMD>
- AllowAll
- </Limit>
- </Directory>
- <Directory ~/*/cgi-bin>
- <Limit RMD RNTO DELE XRMD>
- DenyAll
- </Limit>
- </Directory>
- <Directory ~/*/cgi-bin/*>
- <Limit RMD RNTO DELE XRMD>
- AllowAll
- </Limit>
- </Directory>
- <Directory ~/*/htdocs>
- <Limit RMD RNTO DELE XRMD>
- DenyAll
- </Limit>
- </Directory>
- <Directory ~/*/htdocs/*>
- <Limit RMD RNTO DELE XRMD>
- AllowAll
- </Limit>
- </Directory>
- <Directory ~/*/phptmp>
- <Limit RMD RNTO DELE XRMD>
- DenyAll
- </Limit>
- </Directory>
- <Directory ~/*/phptmp/*>
- <Limit RMD RNTO DELE XRMD>
- AllowAll
- </Limit>
- </Directory>
I found the "disabled" directory didn't exist in the default imscp conf, i inserted that into this conf without grant any permission for users.
Restart the proftpd.