Instal VSFTP di Ubuntu 20.04. Dalam panduan ini Anda akan mempelajari cara mengatur server FTP dan menyediakan akses ke direktori tertentu sebagai chroot untuk pengguna.
Penyiapan ini diuji pada Instance VM Google Compute Engine yang menjalankan Ubuntu 20.04 LTS.
Jadi, penyiapan ini berfungsi dengan baik untuk mesin virtual apa pun di Instans AWS EC2 atau DigitalOcean atau server hosting awan lainnya atau VPS atau Khusus.
Prasyarat untuk Google Cloud
Jika Anda menggunakan Google Cloud Platform untuk menyiapkan FTP, Anda perlu melakukan langkah-langkah berikut.
- Compute Engine yang sedang berjalan, lihat Menyiapkan Instance Compute Engine dengan Ubuntu 20.04.
- Menyelesaikan penyiapan server Ubuntu awal.
Langkah-langkah untuk mengatur FTP
- Siapkan Instance Mesin Virtual Anda
- Menyelesaikan penyiapan server awal
- Konfigurasikan aturan Firewall
- Buat pengguna baru
- Instal server FTP VSFTP
- Konfigurasikan FTP
- Verifikasi penyiapan
Saya berasumsi Anda telah menyiapkan dan mengonfigurasi server Anda.
Menyiapkan aturan Firewall
Anda dapat mengonfigurasi FTP di port mana pun yang Anda inginkan, sekarang Anda akan mengonfigurasinya di port default 21, jadi Anda perlu membuat aturan firewall untuk menyediakan akses ke port ini.
Kami juga membuka port 40000 – 50000 untuk koneksi mode pasif.
Buka Jaringan VPC>> Aturan firewall dan klik Buat aturan Firewall.
Dalam Nama masukkan ftp
Di Target pilih All instances in the network
Di Filter sumber pilih IP ranges
Di Rentang IP Sumber masukkan 0.0.0.0/0
Di Protokol dan port periksa TCP dan masukkan 20, 21, 990, 40000-50000
.
Klik Buat .
Izinkan port FTP di UFW
Jika Anda menggunakan UFW di server Anda, pastikan untuk membuka port untuk mengizinkan koneksi ke server Anda jika tidak, Anda tidak dapat terhubung.
sudo ufw allow 20/tcp sudo ufw allow 21/tcp sudo ufw allow 990/tcp sudo ufw allow 40000:50000/tcp
Buat pengguna baru
Sekarang Anda dapat membuat pengguna baru menggunakan perintah berikut untuk menguji FTP.
sudo useradd -m -c "Name, Role" -s /bin/bash username
Siapkan sandi untuk pengguna tersebut.
sudo passwd username
Instal server VSFTP
VSFTP adalah Protokol Transfer File Sangat Aman untuk sistem berbasis Linux. Secara default, AWS atau Google Cloud tidak akan mengizinkan otentikasi berbasis kata sandi ke instans Mesin Virtual.
Dengan VSFTP Anda dapat menjalankan server FTP Anda sendiri dan membuat pengguna dan menetapkan mereka ke direktori mana pun dan mencegah akses ke direktori lain menggunakan chroot juga.
Sekarang Anda dapat menginstal VSFTP menggunakan perintah berikut.
sudo apt install vsftpd
Setelah instalasi selesai, Anda dapat mengonfigurasi VSFTP.
Konfigurasi VSFTP
Mulailah dengan membuat cadangan file konfigurasi VSFTP asli.
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
Edit vsftpd.conf
file dan buat perubahan berikut.
sudo nano /etc/vsftpd.conf
Ubah petunjuk berikut.
listen=YES listen_ipv6=NO
Batalkan komentar petunjuk berikut.
write_enable=YES local_umask=022 chroot_local_user=YES
Tambahkan konfigurasi ini sampai yang terakhir.
seccomp_sandbox=NO allow_writeable_chroot=YES userlist_enable=YES userlist_file=/etc/vsftpd.userlist userlist_deny=NO tcp_wrappers=YES user_sub_token=$USER user_config_dir=/etc/vsftpd/user_config_dir pasv_min_port=40000 pasv_max_port=50000
Di sini Anda telah mengonfigurasi userlist_file
yang menyimpan daftar pengguna FTP dan user_config_dir
untuk menyimpan konfigurasi khusus pengguna.
Tambahkan pengguna yang telah Anda buat sebelumnya di userlist
berkas.
echo "username" | sudo tee -a /etc/vsftpd.userlist
Perintah ini akan membuat file dengan nama vsftpd.userlist
dan tambahkan pengguna ke dalamnya dan menampilkan pengguna yang ditambahkan di terminal.
Buat direktori dengan nama user_config_dir
untuk menyimpan konfigurasi khusus pengguna.
sudo mkdir -p /etc/vsftpd/user_config_dir
Buat file baru dengan nama yang sama dengan nama pengguna di dalam direktori ini.
sudo nano /etc/vsftpd/user_config_dir/username
Tambahkan baris berikut ke file itu.
local_root=/path/to/your/directory
Simpan file dan keluar dari editor.
Terakhir restart VSFTP.
sudo systemctl restart vsftpd
Mencegah Akses SSH
Sekarang Anda perlu mencegah akses SSH ke pengguna yang baru dibuat dengan menambahkan DenyUsers
direktif di sshd_config
. Anda .
sudo nano /etc/ssh/sshd_config
Tambahkan baris berikut ke bagian bawah file.
DenyUsers username other-user
Anda dapat menambahkan beberapa pengguna yang dipisahkan oleh spasi.
Mulai ulang SSH.
sudo systemctl restart ssh
Persiapkan diri Anda untuk peran yang bekerja sebagai Profesional Teknologi Informasi dengan sistem operasi Linux
Verifikasi Penyiapan
Sekarang buka klien FTP Anda dan masukkan alamat IP eksternal server Anda sebagai nama host, Port as 21, nama pengguna dengan nama pengguna yang Anda buat sebelumnya dan dengan kata sandi.
Sekarang Anda akan masuk ke server dan Anda hanya dapat mengakses folder yang diberikan kepada Anda.
Kesimpulan
Sekarang Anda telah mempelajari cara mengatur FTP pada instans VM Anda di Ubuntu 20.04.
Terima kasih atas waktunya. Jika Anda menghadapi masalah atau umpan balik, silakan tinggalkan komentar di bawah.