23. AZURE – ProFTPd and SSL (TLS) install and config -Part1

Part 1 of the video how to install FTP server on Azure Cloud with Linux Ubuntu 14 virtual machine.

Install ProFTPd and create certificate with OpenSSL
Configure ProFTPd to use SSL (TLS) with Filezilla FTP client

Part 2 (next video) will show how to create and manage users to control different Apache folders – using SSH and using Webmin.

https://youtu.be/d2aBDSVM6AU

Install FTP server:
sudo apt-get install proftpd
sudo apt-get install openssl

Stop FTP server:
sudo service proftpd stop

Configure FTP server:
sudo nano /etc/proftpd/proftpd.conf

 Code – uncomment and add :
—————————
[…]
DefaultRoot ~
ServerIdent on “FTP Server ready.”
[…]
[…]
PassivePorts    49152 49153
[…]
[…]
Include /etc/proftpd/tls.conf
[…]
————————-
CTRL+O  (to save)
CTRL+X (to exit)

Create SSL certificate:

sudo mkdir /etc/proftpd/ssl
————————-
sudo openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem
————————————

Country Name (2 letter code) [AU]: <– Enter your Country Name (e.g., “DE”).
State or Province Name (full name) [Some-State]:<– Enter your State or Province Name.
Locality Name (eg, city) []:<– Enter your City.
Organization Name (eg, company) [Internet Widgits Pty Ltd]:<– Enter your Organization Name (e.g., the name of your company).
Organizational Unit Name (eg, section) []:<– Enter your Organizational Unit Name (e.g. “IT Department”).
Common Name (eg, YOUR name) []:<– Enter the Fully Qualified Domain Name of the system (e.g. “server1.example.com”).
Email Address []:<– Enter your Email Address.
—————————————–
 and secure the generated certificate files.
————————-
chmod 600 /etc/proftpd/ssl/proftpd.*

 ————————
Then open /etc/proftpd/tls.conf and make it look as follows:
——————-
sudo nano /etc/proftpd/tls.conf
——————-

<IfModule mod_tls.c>
TLSEngine                  on
TLSLog                     /var/log/proftpd/tls.log
TLSProtocol TLSv1.2
TLSCipherSuite AES128+EECDH:AES128+EDH
TLSOptions                 NoCertRequest AllowClientRenegotiations
TLSRSACertificateFile      /etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile   /etc/proftpd/ssl/proftpd.key.pem
TLSVerifyClient            off
TLSRequired                on
RequireValidShell          no
</IfModule>
——————–

TLSProtocol TLSv1.2  -> here you can just uncomment and do leave the number … in the new version will be v2.3… no need to put v1.2
————-
If you use TLSRequired on, then only TLS connections are allowed (this locks out any users with old FTP clients that don’t have TLS support); by commenting out that line or using TLSRequired off both TLS and non-TLS connections are allowed, depending on what the FTP client supports.

—————————-
Start ProFTPd afterward:
sudo /etc/init.d/proftpd start

OR :

sudo service proftpd start
 ———————————

Now your server is configured to accept FTPS connection.
In Filezilla select FTP connection (not FTPS) and second dropdown  will be: Explicit FTP with TLS.

Part 2 (next video) I will show you how to create and manage users using SSH and using Webmin,

The users will be locked into Apache WEB server directory and each user will have access to different apache web site (folder). Will be locked there and will see only the web site which need to develop, cannot go to the other folders.
Please check Part 2 video if you need FTP user management.