FTP adalah protokol yang sangat tidak aman karena semua kata sandi dan semua data ditransfer dalam teks yang jelas. Dengan menggunakan TLS, seluruh komunikasi dapat dienkripsi, sehingga membuat FTP jauh lebih aman. Artikel ini menjelaskan cara menyiapkan ProFTPd dengan TLS di server Ubuntu 15.10, cara menambahkan pengguna FTP, dan menggunakan FileZilla untuk terhubung secara aman dengan TLS.
1 Catatan Awal
Dalam tutorial ini, saya akan menggunakan hostname server1.example.com dengan alamat IP 192.168.1.100. Setelan ini mungkin berbeda untuk Anda, jadi Anda harus menggantinya jika perlu.
Karena kita harus menjalankan semua langkah dari tutorial ini dengan hak akses root, kita bisa menambahkan semua perintah dalam tutorial ini dengan string sudo, atau kita menjadi root sekarang dengan mengetik
sudo su
Saya akan menggunakan editor nano untuk mengedit file konfigurasi dalam tutorial ini. Jika Anda juga suka menggunakan nano dan belum menginstalnya, jalankan perintah ini untuk menginstal nano.
apt-get install nano
2 Instal ProFTPd dan OpenSSL
OpenSSL dibutuhkan oleh TLS; untuk menginstal ProFTPd dan OpenSSL, kita cukup menjalankan:
apt-get install proftpd openssl
Anda akan ditanyai pertanyaan:
Jalankan proftpd:<-- standalone
Untuk alasan keamanan, Anda harus menambahkan baris berikut ke /etc/proftpd/proftpd.conf:
nano /etc/proftpd/proftpd.conf
[...]
DefaultRoot ~
ServerIdent on "FTP Server ready."
[...]
Opsi pertama memungkinkan chrooting pengguna FTP ke direktori home mereka dan opsi kedua mengaktifkan pesan ServerIdent yang tidak berisi informasi apa pun tentang perangkat lunak, versi, atau OS server FTP yang digunakan sehingga penyerang potensial tidak mendapatkan detail ini secara langsung piring.
3 Buat Sertifikat SSL untuk TLS
Untuk menggunakan TLS, kita harus membuat sertifikat SSL. Saya membuatnya di /etc/proftpd/ssl, oleh karena itu saya membuat direktori itu terlebih dahulu:
mkdir /etc/proftpd/ssl
Setelah itu, kita dapat membuat sertifikat SSL sebagai berikut:
openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem
Nama Negara (kode 2 huruf) [AU]:<-- Masukkan Nama Negara Anda (mis., "DE").
Nama Negara Bagian atau Provinsi (nama lengkap) [Beberapa Negara Bagian]:<-- Masukkan Negara Bagian Anda atau Nama Provinsi.
Nama Lokalitas (mis., kota) []:<-- Masukkan Kota Anda.
Nama Organisasi (mis., perusahaan) [Internet Widgits Pty Ltd]:<-- Masukkan Nama Organisasi Anda (mis., nama perusahaan Anda).
Nama Unit Organisasi (mis., seksi) []:<-- Masukkan Nama Unit Organisasi Anda (mis. "Departemen TI").
Nama Umum (mis. nama ANDA) []:<-- Masukkan Nama Domain yang Memenuhi Syarat dari sistem (mis. "server1.example.com").
Alamat Email []:<-- Masukkan Alamat Email Anda.
dan mengamankan file sertifikat yang dihasilkan.
chmod 600 /etc/proftpd/ssl/proftpd.*
4 Aktifkan TLS di ProFTPd
Untuk mengaktifkan TLS di ProFTPd, buka /etc/proftpd/proftpd.conf...
nano /etc/proftpd/proftpd.conf
... dan batalkan komentar pada baris Sertakan /etc/proftpd/tls.conf:
[...]
#
# This is used for FTPS connections
#
Include /etc/proftpd/tls.conf
[...]
Kemudian buka /etc/proftpd/tls.conf dan buat seperti berikut:
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>
Jika Anda menggunakan TLSRequired aktif, maka hanya koneksi TLS yang diizinkan (ini mengunci semua pengguna dengan klien FTP lama yang tidak memiliki dukungan TLS); dengan mengomentari baris tersebut atau menggunakan TLSRequired dari koneksi TLS dan non-TLS diperbolehkan, tergantung pada apa yang didukung klien FTP.
Mulai ulang ProFTPd setelahnya:
systemctl restart proftpd.service
Itu dia. Anda sekarang dapat mencoba terhubung menggunakan klien FTP Anda; namun, Anda harus mengonfigurasi klien FTP Anda untuk menggunakan TLS (ini adalah suatu keharusan jika Anda menggunakan TLSRequired di) - lihat bab berikutnya bagaimana melakukannya dengan FileZilla.
Jika Anda mengalami masalah dengan TLS, Anda dapat melihat file log TLS /var/log/proftpd/tls.log.
5 Tambahkan pengguna FTP
Konfigurasi ProFTPD yang digunakan dalam tutorial ini mengotentikasi pengguna terhadap database pengguna sistem Linux (/etc/passwd dan /etc/shadow). Pada langkah ini, saya akan menambahkan pengguna "tom" yang akan digunakan untuk login FTP saja.
useradd --shell /bin/false tom
Ini akan menambahkan pengguna "tom" dengan shell /bin/false. Shell ini memastikan bahwa dia bisa login dengan FTP tetapi tidak dengan SSH. Direktori home pengguna adalah /home/[USERNAME] secara default, dalam kasus kami /home/tom. ProFTPD dikonfigurasi untuk memenjarakan pengguna ke direktori home-nya, sehingga dia tidak dapat mengakses file sistem di luar /home/tom. Jika Anda ingin mengatur direktori home yang berbeda, gunakan perintah di bawah ini:
useradd --home /srv/tomftp --create-home --shell /bin/false tom
Perintah ini menetapkan direktori home yang berbeda, dalam contoh ini direktori /srv/tomftp untuk pengguna.
Langkah selanjutnya adalah mengatur kata sandi untuk pengguna tom, jalankan perintah passwd:
passwd tom
Dan masukkan kata sandi baru dua kali, saat diminta.
6 Mengonfigurasi FileZilla untuk TLS
Untuk menggunakan FTP dengan TLS, Anda memerlukan klien FTP yang mendukung TLS, seperti FileZilla.
Di FileZilla, buka Pengelola Situs:
Pilih server yang menggunakan ProFTPd dengan TLS; di menu tarik-turun Jenis Server, pilih FTPES daripada FTP biasa:
Sekarang Anda dapat terhubung ke server, FileZilla akan meminta kata sandi.
Jika Anda melakukan ini untuk pertama kalinya, Anda harus menerima sertifikat SSL baru dari server:
Jika semuanya berjalan dengan baik, Anda sekarang harus masuk ke server:
7 Unduh penyiapan ini sebagai VM
Penyiapan yang dijelaskan dalam tutorial ini tersedia untuk diunduh ke pelanggan HowtoForge. Mesin virtual siap pakai dalam format OVA / OVF ini kompatibel dengan VMWare dan Virtualbox.
Detail Masuk VM
Mesin virtual memiliki pengguna SSH dengan nama "administrator" dan kata sandi "howtoforge". Pengguna SSH ini memiliki izin sudo.
Kata sandi Pengguna FTP "tom" adalah "tom".
Alamat IP VM adalah 192.168.1.100, IP dapat diubah di file /etc/network/interfaces.
Harap ubah kata sandi semua pengguna sebelum Anda menggunakan VM sebagai sistem langsung.
8 Tautan
- ProFTPd:http://www.proftpd.org/
- FileZilla:http://filezilla-project.org/
- Ubuntu:http://www.ubuntu.com/