Rabu, 26 Oktober 2016

FTP (FTPS) Server

ProFTPD adalah aplikasi ftp server untuk Sistem Operasi Linux/UNIX, dan tak dapat bekerja di kalangan Microsoft Windows sama sekali.
TLS atau OpenSSL protocol, digunakan untuk mengamankan koneksi antara FTP Client dan FTP Server. Yang semula ProFTPD berjalan pada protocol yang UnSecure di port 21, kemudian dengan OpenSSL ini di amankan agar data dapat sampai ke tujuan dengan aman.
FTP adalah protokol yang sangat tidak aman, karena semua password dan data di transfer menggunakan Plain TEXT biasa. Dengan OpenSLL, komunikasi bisa dienkripsi terlebih dahulu, dan itulah yang membuat FTP lebih Secure.
22.1. Installasi
Jika aplikasi ProFTPd sudah terinstall, tidak usah di install kembali.
debian-server:~# apt-get install proftpd openssl ssl-cert
22.2. Konfigurasi
22.2.1. Konfigurasi ProFTPd
Edit file konfigurasi ProFTPd seperti berikut, atau jika ingin menggunakan konfigurasi Anda sendiri, ya silahkan.
debian-server:~# vim /etc/proftpd/proftpd.conf
UseIPv6                                 off
IdentLookups                       off
ServerIdent                          on           “Al-Mansyurin Forensic Labs”
#. . .
<Anonymous /var/www/>
User ftp
UserAlias anonymous ftp
</Anonymous>
Pastikan bahwa pada file utama ProFTPd, file tls.conf ikut dijalankan ketika ProFTPd restart. Edit dan hilangkan tanda pagar pada script berikut ini.
# This is used for FTPS connections
Include /etc/proftpd/tls.conf
22.2.2 Creating The SSL Certificate For TLS
Agar kita bisa menggunakan TLS, kita harus membuat Sertifikat SSL terlebih dahulu. Kemudian, kita bisa mengenerate Sertifikat SSL seperti berikut:
debian-server:~# openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt  -nodes -days 365
Country Name (2 letter code) [GB]: ID
State or Province Name (full name) [Some-State]: East Java
Locality Name (eg, city) []: Mojokerto
Organization Name (eg, company; recommended) []: Al-Mansyurin Team
Organizational Unit Name (eg, section) []:
server name (eg. ssl.domain.tld; required!!!) []: debian.edu
Email Address []: admin@debian.edu
Rubah hak akses kepemilikan dua file tersebut, agar hanya dapat dimodifikasi oleh account super user saja.
debian-server:~# chmod 600 /etc/ssl/certs/proftpd.crt
debian-server:~# chmod 600 /etc/ssl/private/proftpd.key
22.2.3 Enabling TLS In ProFTPd
Selanjutnya, edit file tls.conf untuk mengkonfigurasi SSL Certificate dan SSL Key.
debian-server:~# vim /etc/proftpd/tls.conf
<IfModule mod_tls.c>
TLSEngine                                             on
TLSLog                                                   /var/log/proftpd/tls.log
TLSProtocol                                          SSLv23
TLSRSACertificateFile                        /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key
TLSOptions                                           NoCertRequest
TLSVerifyClient                                    off
TLSRequired                                        on
</IfModule>
Terakhir, pastikan semua konfigurasi berjalan dengan merestart servis FTP.
debian-server:~# /etc/init.d/proftpd restart
Stopping ftp server: proftpd.
Starting ftp server: proftpd.
22.3. Pengujian
Sekarang anda bisa mencoba koneksi ke FTP Server dengan menggunakan FTP Client. Anda juga harus mensetting FTP Client agar menggunakan protokol SSL/TLS (ini wajib, jika anda menggunakan TLSRequired on). Berikut contoh konfigurasinya pada FileZilla.
  • Pilih menu File > Site Manager
  • Kemudian pilih New Site. Pastikan bahwa ServerType menggunakan FTPES.
  • Selanjutnya pilih Connect, maka akan muncul pesan seperti gambar di bawah ini.
Jika terdapat masalah pada FTP menggunakan TLS, anda bisa melihatnya di file log TLS /var/log/proftpd/tls.log.