Pada artikel ini, Anda akan mempelajari cara mengatur server FTP di VPS Ubuntu. Kami akan menggunakan server vsftpd, yang secara luas dianggap sebagai server FTP tercepat dan teraman untuk sistem mirip UNIX.
Apa Itu FTP?
FTP, atau File Transfer Protocol, adalah sarana untuk berbagi file antar komputer melalui koneksi internet menggunakan protokol TCP/IP. Itu juga menggunakan kerangka klien-server dan keamanan SSL/TLS untuk memastikan transfer data yang aman dan andal.
Ini agak mirip dengan HTTP (HypertText Transfer Protocol) atau SMTP (Simple Mail Transfer Protocol). Perbedaannya adalah FTP bertanggung jawab untuk mengangkut file melalui internet sementara HTTP dan SMTP menangani transfer halaman web dan email, masing-masing.
Sebelum kita mulai, perlu diingat bahwa kami akan memandu Anda dalam mengonfigurasi server FTP di Ubuntu 18.04. Oleh karena itu, Anda perlu memastikan VPS Anda berjalan di OS tersebut.
Cara Menyiapkan Server FTP di Ubuntu
Tutorial ini mengharuskan Anda untuk mengetahui cara terhubung ke server melalui SSH. Jika Anda memiliki VPS Hostinger, detail login tersedia di Server tab hPanel.
Langkah 1 – Menginstal vsftpd
- Pertama-tama, kita harus mendapatkan pembaruan paket sebelum melanjutkan dengan vsftpd instalasi. Untuk memulai, jalankan perintah berikut:
sudo apt-get update
Tunggu hingga semua proses selesai, dan Anda akan melihat konfirmasi segera setelah pembaruan selesai.
- Setelah selesai, instal vsftpd daemon menggunakan perintah di bawah ini:
sudo apt-get install vsftpd
Anda akan diminta dengan pesan konfirmasi, yang mengharuskan Anda mengetik Y dan tekan Enter untuk melanjutkan penginstalan.
- Setelah penginstalan selesai, Anda harus mencadangkan file asli sehingga Anda dapat memulai dengan file konfigurasi kosong:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original
Sekarang kita siap untuk mengkonfigurasi firewall.
Langkah 2 – Mengizinkan Traffic FTP dari Firewall
- Agar server FTP Ubuntu dapat berkomunikasi melalui internet, server harus melewati firewall. Tapi pertama-tama, mari kita lihat apakah firewall sudah diaktifkan di mesin Anda atau belum. Cukup jalankan perintah ini untuk memverifikasi status:
sudo ufw status
Jika Anda melihat pesan berikut:
ufw: command not found
Itu berarti firewall tidak diinstal. Anda dapat menginstal dan mengaktifkannya dengan mengetik:
sudo apt-get install ufw sudo ufw enable
- Jika sudah aktif, Anda masih perlu memastikan lalu lintas FTP diizinkan. Untuk melakukannya, jalankan perintah berikut satu per satu:
sudo ufw allow OpenSSH sudo ufw allow 20/tcp sudo ufw allow 21/tcp sudo ufw allow 990/tcp sudo ufw allow 40000:50000/tcp
Rangkaian perintah ini akan membuka beberapa port:
- OpenSSH diperlukan jika Anda masih ingin mengakses server Anda melalui SSH. Terkadang, opsi ini diaktifkan secara default.
- port 20 dan 21 untuk lalu lintas FTP.
- port 40000:50000 akan dicadangkan untuk rentang port pasif yang nantinya akan disetel dalam file konfigurasi.
- port 990 akan digunakan saat TLS diaktifkan.
- Sekarang mari kita lihat lagi statusnya:
sudo ufw status
Outputnya akan terlihat seperti ini:
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 990/tcp ALLOW Anywhere 20/tcp ALLOW Anywhere 21/tcp ALLOW Anywhere 40000:50000/tcp ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 20/tcp (v6) ALLOW Anywhere (v6) 21/tcp (v6) ALLOW Anywhere (v6) 990/tcp (v6) ALLOW Anywhere (v6) 40000:50000/tcp (v6) ALLOW Anywhere (v6)
Langkah 3 – Membuat Direktori Pengguna
- Setelah firewall diatur, kita harus membuat pengguna yang akan menggunakan akses FTP. Begini caranya:
sudo adduser hostinger
Ingatlah untuk mengubah nama pengguna sesuai dengan preferensi Anda sendiri.
- Kemudian, masukkan kata sandi untuk pengguna dan isi semua detail yang diperlukan.
Idealnya, FTP harus dibatasi pada satu direktori tertentu untuk tujuan keamanan. Itulah sebabnya vsftpd menggunakan penjara chroot , yang membatasi pengguna lokal ke direktori home mereka secara default.
Namun, mungkin karena vsftpd keamanan, pengguna mungkin tidak dapat menulis ke direktori itu. Untuk memperbaikinya, kita tidak perlu menghapus hak menulis dari folder rumah. Sebagai gantinya, kita akan membuat direktori ftp yang berfungsi sebagai chroot . Ini berisi direktori yang dapat ditulis yang akan bertanggung jawab untuk menyimpan file yang diperlukan. - Gunakan perintah berikut untuk membuat folder FTP:
sudo mkdir /home/hostinger/ftp
Kemudian, atur kepemilikan menggunakan:
sudo chown nobody:nogroup /home/hostinger/ftp
Terakhir, hapus izin menulis:
sudo chmod a-w /home/hostinger/ftp
Sekarang, gunakan perintah berikut untuk memverifikasi izin:
sudo ls -la /home/hostinger/ftp
Outputnya akan terlihat seperti:
total 8 dr-xr-xr-x 2 nobody nogroup 4096 Oct 8 11:32 . drwxr-xr-x 3 hostinger hostinger 4096 Oct 8 11:32 ..
- Selanjutnya, kita akan membuat direktori penyimpanan file dan menetapkan kepemilikan:
sudo mkdir /home/hostinger/ftp/files sudo chown hostinger:hostinger /home/hostinger/ftp/files
Terakhir, tambahkan file pengujian ke direktori yang akan digunakan saat kita menguji semuanya nanti:
echo "vsftpd sample file" | sudo tee /home/hostinger/ftp/files/sample.txt
Langkah 4 – Mengonfigurasi vsftpd
Langkah selanjutnya adalah mengkonfigurasi vsftpd dan akses FTP kita. Dalam contoh ini, kami akan mengizinkan satu pengguna untuk terhubung menggunakan akun shell lokal. Dua konfigurasi kunci yang diperlukan untuk ini sudah diatur dalam konfigurasi (vsftpd.conf ) berkas.
- Untuk memulai, gunakan perintah nano untuk membuka vsftpd file konfigurasi.
sudo nano /etc/vsftpd.conf
Verifikasi bahwa konten memiliki pengaturan yang mirip dengan ini:
. . . # Allow anonymous FTP? (Disabled by default). anonymous_enable=NO # # Uncomment this to allow local users to log in. local_enable=YES . . .
Di file yang sama, kami akan menghapus # (batalkan komentar) dan pastikan kami mengaktifkan write_enable .
. . . write_enable=YES . . .
- Anda juga perlu membatalkan komentar chroot untuk memastikan bahwa pengguna FTP hanya mengakses file dalam direktori yang diizinkan. Ubah TIDAK nilai ke YA , demikian juga. Perlu diingat bahwa ada dua baris seperti ini, dan Anda harus menghapus komentar keduanya.
. . . chroot_local_user=YES . . .
- Ada beberapa nilai baru yang juga harus Anda tambahkan ke bagian bawah file. Yang pertama adalah user_sub_token di jalur direktori local_root . Ini akan memungkinkan konfigurasi untuk bekerja dengan pengguna saat ini atau pengguna lain yang selanjutnya ditambahkan:
user_sub_token=$USER local_root=/home/$USER/ftp
- Untuk memastikan bahwa sejumlah besar koneksi tersedia, kami akan membatasi jumlah port file konfigurasi:
pasv_min_port=40000 pasv_max_port=50000
- Dalam tutorial ini, kami bermaksud untuk mengizinkan akses berdasarkan kasus per kasus. Oleh karena itu, kami akan menyetel konfigurasi untuk memberikan akses hanya kepada pengguna yang telah Anda tambahkan secara eksplisit ke daftar:
userlist_enable=YES userlist_file=/etc/vsftpd.userlist userlist_deny=NO
Saat Anda menyetel tanda penggunalist_deny untuk TIDAK , hanya pengguna tertentu yang akan diizinkan mengakses. Setelah selesai, klik CTRL+X diikuti oleh Y untuk menyimpannya, lalu Enter untuk mengonfirmasi perubahan file.
- Terakhir, kita akan membuat daftar pengguna dan menambahkan pengguna ke file:
echo "hostinger" | sudo tee -a /etc/vsftpd.userlist
Verifikasi bahwa pengguna memang aktif dengan menjalankan perintah berikut:
cat /etc/vsftpd.userlist
Outputnya harus "hostinger" seperti yang ditunjukkan pada tangkapan layar ini:
- Mulai ulang daemon menggunakan perintah berikut untuk memuat perubahan konfigurasi:
sudo systemctl restart vsftpd
Langkah 5 – Membuat FTP Aman
- Secara default, FTP tidak mengenkripsi data, jadi kami akan menggunakan SSL/TLS sertifikat untuk mengamankan transfer data. Langkah pertama adalah kita perlu membuat sertifikat SSL untuk server FTP Ubuntu.
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
–hari flag membuat sertifikat berlaku selama satu tahun dan kami telah menyertakan 2048-bit RSA pribadi masukkan perintah yang sama.
- Setelah diminta, masukkan detail pribadi yang sesuai di bidang yang tersedia.
- Setelah Anda selesai membuat sertifikat, buka kembali file konfigurasi:
sudo nano /etc/vsftpd.conf
Akhir file harus berisi dua baris yang dimulai dengan rsa .
# rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem # rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
Sekarang, kita akan mengarahkan file konfigurasi ke sertifikat yang baru saja kita buat. Tambahkan direktori berikut tepat di bawah baris sebelumnya:
rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem
- Selanjutnya, kami akan mengaktifkan SSL dan memastikan bahwa hanya klien yang memiliki SSL aktif yang dapat menghubungi kami. Cukup masukkan baris ini:
ssl_enable=YES
Kemudian, tambahkan baris berikut untuk melarang koneksi anonim melalui SSL:
allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES
Konfigurasikan server untuk menggunakan TLS menggunakan:
ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO
- Sekarang kita akan mengubah dua opsi lagi. Pertama, nonaktifkan penggunaan ulang SSL untuk mencegah klien FTP mogok. Kedua, kita akan menggunakan suite cipher enkripsi tinggi, yang memastikan bahwa panjang kunci sama dengan atau lebih besar dari 128 bit.
require_ssl_reuse=NO ssl_ciphers=HIGH
Simpan file lagi dengan menekan CTRL+X diikuti oleh Y , lalu tekan Enter .
- Mari kita mulai ulang vsftpd sekali lagi untuk menerapkan konfigurasi baru:
sudo systemctl restart vsftpd
Kerja bagus! Anda sekarang telah mengonfigurasi server FTP di VPS Ubuntu Anda untuk bekerja dengan protokol SSL/TLS.
Langkah 6 – Menguji Koneksi dengan FileZilla
Saat ini, sebagian besar klien FTP mendukung konfigurasi enkripsi TLS. Ini adalah cara yang bagus untuk menguji apakah server FTP Ubuntu Anda berfungsi dengan baik. Untuk menguji koneksi, kami akan menggunakan FileZilla FTP Client.
- Untuk memulai, luncurkan FileZilla dan klik Pengelola Situs ikon. Kemudian, klik Situs Baru tombol di jendela yang diminta untuk memasukkan detail server FTP Ubuntu.
- Isi semua kolom yang diperlukan dengan informasi server FTP Ubuntu yang baru Anda buat. Karena kami mengonfigurasinya untuk menggunakan TLS, kami juga dapat memilih Gunakan FTP eksplisit di atas TLS pilihan. Konfigurasi akhir akan terlihat seperti ini:
- Setelah siap, klik Hubungkan, dan layar yang meminta untuk memasukkan kata sandi pengguna FTP akan muncul. Setelah itu, tekan Oke .
- Terakhir, Anda perlu memverifikasi sertifikat SSL server FTP Anda di VPS Ubuntu. Setelah mengonfirmasi, direktori root dengan file uji sekarang akan muncul di layar Anda.
Itu saja! Sekarang, Anda dapat melakukan berbagai transfer file dari komputer Anda ke server FTP Ubuntu dan sebaliknya.
Kesimpulan
Memiliki server FTP Ubuntu memudahkan Anda untuk berbagi file antara VPS/server Ubuntu dan komputer Anda. Ini adalah metode transfer data yang aman dan andal, berkat keamanan SSL/TLS dan protokol TCP/IP.
Dalam tutorial ini, Anda telah mempelajari cara mengatur server FTP di Ubuntu 18.04 menggunakan vsftpd. Ada lima langkah yang harus Anda ikuti. Mari kita lihat sekali lagi.
- Instal vsftpd di server Ubuntu Anda dan buat cadangan file konfigurasi asli.
- Izinkan koneksi FTP melalui firewall.
- Buat direktori pengguna yang hanya dapat diakses oleh pengguna tertentu.
- Konfigurasikan vsftpd .
- Amankan server FTP.
- Uji koneksi FTP Anda dengan FileZilla.
Semoga berhasil, dan pastikan untuk melihat tutorial VPS kami yang lain!