GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara menginstal ProFTPd dengan dukungan TLS di Ubuntu 15.04

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.04, 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

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.

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. 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:

  • ProFTPd:http://www.proftpd.org/
  • FileZilla:http://filezilla-project.org/
  • Ubuntu:http://www.ubuntu.com/

Ubuntu
  1. Cara menginstal ProFTPd dengan TLS di OpenSuse 13.2

  2. Cara Menginstal ProFTPD di Ubuntu 14.04

  3. Cara Menginstal ProFTPD di Ubuntu 15.04

  1. Cara Menginstal MediaWiki dengan Nginx di Ubuntu 16.04

  2. Cara Menginstal Proftpd dengan TLS di Ubuntu 15.04

  3. Cara menginstal ProFTPd dengan dukungan TLS di Ubuntu 15.10

  1. Cara Menginstal Magento dengan Nginx di Ubuntu 15.10

  2. Cara Menginstal Mailpile dengan Nginx di Ubuntu 15.10

  3. Cara Instal Redmine 3 dengan Nginx di Ubuntu 15.10