FTP secara nature merupakan protokol yang sangat tidak secured karena (salah satunya) semua transaksi data termasuk user name dan password dilakukan secara clear teks. Dengan memanfaatkan TLS /SSL enkripsi akan dilakukan terhadap transfer data yang terjadi antara pc pengguna dengan server FTP.
Tulisan ini akan memberikan panduan singkat mengenai bagaimana melakukan kompilasi ProFTP pada mesin CentOS 64 bit dengan mengaktifkan mod_tls dan mempersiapkan key pair yang akan digunakan.
Instalasi Paket yang Dibutuhkan
Kita membutuhkan openssl untuk membuat key pair;
yum install openssl gcc-c++
Generate Key dan Certificate (Self Signed)
mkdir -p /etc/proftpd/ssl/ openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem
Input informasi yang diminta, perhatikan CN / Common Name samakan dengan hostname server anda.
Country Name (2 letter code) [AU]: ID State or Province Name (full name) [Some-State]: DKI Jakarta Locality Name (eg, city) []:Jakarta Timur Organization Name (eg, company) [Internet Widgits Pty Ltd]: Magnet Hosting Organizational Unit Name (eg, section) []: Technical Common Name (eg, YOUR name) []: web.magnethost.asia Email Address []:[email protected]
Kompilasi ProFTPD
Ambil source file dan lakukan kompilasi;
cd /usr/local/src/ wget http://www.magnet-id.com/download/proftpd/proftpd-1.3.1.tar.gz tar xvfz proftpd-1.3.1.tar.gz cd proftpd-1.3.1/ ./configure --sysconfdir=/etc --enable-openssl --with-modules=mod_tls make make install cd .. rm -fr proftpd-1.3.1*
Buat init script, download dari template yang sudah disediakan Magnet Hosting
wget http://www.magnet-id.com/download/proftpd/proftpd.init -O /etc/init.d/proftpd chmod 755 /etc/init.d/proftpd mkdir /var/log/proftpd chown nobody.nobody /var/log/proftpd chmod 0755 /var/log/proftpd
Konfigurasi ProFTPD
Masukkan /edit direktif berikut di dalam /etc/proftpd.confGroup nobody
##edit
Group nobody
##masukkan
DefaultRoot ~
IdentLookups off
ServerIdent on "FTP Server ready."
Kemudian masukkan konfigurasi mod_tls pada file yang sama
<IfModule mod_tls.c> TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol SSLv23 TLSOptions NoCertRequest TLSRequired on TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem TLSVerifyClient off TLSRenegotiate required off </IfModule>
Nyalakan service
chkconfig --levels 235 proftpd on /etc/init.d/proftpd start
Rotasi Log
Buat file rotasi log di /etc/logrotate.d/proftpd
vi /etc/logrotate.d/proftpd
Isi dengan
/var/log/proftpd/*.log /var/log/xferlog { compress missingok notifempty sharedscripts postrotate test -f /var/lock/subsys/proftpd && /usr/bin/killall -HUP proftpd || : endscript }
Konfigurasi Client FTP
Apabila anda menggunakan FileZilla, silahkan masuk ke sitemanager dan create new site. Pastikan anda memilih FTPES - FTP over explicit TLS/SSL pada bagian servertype.
Kemudian klik OK apabila anda dihadapkan pada window certificate, certificate yang kita gunakan adalah selfsigned sehingga tidak dikenali.