#7 Konfigurasi FTP Server - Centos 7 Server
Daftar Isi:
- Prasyarat
- Menginstal vsftpd pada CentOS 7
- Mengkonfigurasi vsftpd
- 1. Akses FTP
- 2. Mengaktifkan unggahan
- 3. Penjara Chroot
- 4. Koneksi FTP Pasif
- 5. Membatasi Login Pengguna
- 6. Mengamankan Transmisi dengan SSL / TLS
- Mulai ulang Layanan vsftpd
- Membuka Firewall
- Menciptakan Pengguna FTP
- Menonaktifkan Akses Shell
- Kesimpulan
FTP (File Transfer Protocol) adalah protokol jaringan klien-server standar yang memungkinkan pengguna untuk mentransfer file ke dan dari jaringan jarak jauh.
Ada beberapa server FTP open source yang tersedia untuk Linux. Yang paling populer dan banyak digunakan adalah PureFTPd, ProFTPD, dan vsftpd.
Dalam tutorial ini, kita akan menginstal vsftpd (Very Secure Ftp Daemon) pada CentOS 7. Ini adalah server FTP yang stabil, aman dan cepat. Kami juga akan menunjukkan kepada Anda cara mengkonfigurasi vsftpd untuk membatasi pengguna ke direktori home mereka dan mengenkripsi seluruh transmisi dengan SSL / TLS.
Untuk transfer data yang lebih aman dan lebih cepat, gunakan SCP atau SFTP.
Prasyarat
Sebelum melanjutkan dengan tutorial ini, pastikan Anda masuk sebagai pengguna dengan hak istimewa sudo.
Menginstal vsftpd pada CentOS 7
Paket vsftpd tersedia dalam repositori CentOS default. Untuk menginstalnya, keluarkan perintah berikut:
sudo yum install vsftpd
Setelah paket diinstal, jalankan daemon vsftpd dan aktifkan untuk memulai secara otomatis saat boot:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
Anda dapat memverifikasi layanan vsftpd berjalan dengan mencetak statusnya:
sudo systemctl status vsftpd
Output akan terlihat seperti di bawah ini, menunjukkan bahwa layanan vsftpd aktif dan berjalan:
● vsftpd.service - Vsftpd ftp daemon Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2018-11-22 09:42:37 UTC; 6s ago Main PID: 29612 (vsftpd) CGroup: /system.slice/vsftpd.service └─29612 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
Mengkonfigurasi vsftpd
Mengkonfigurasi layanan vsftpd melibatkan pengeditan file konfigurasi
/etc/vsftpd/vsftpd.conf
. Sebagian besar pengaturan didokumentasikan dengan baik di dalam file konfigurasi. Untuk semua opsi yang tersedia, kunjungi halaman vsftpd resmi.
Di bagian berikut, kita akan membahas beberapa pengaturan penting yang diperlukan untuk mengonfigurasi instalasi vsftpd yang aman.
Mulailah dengan membuka file konfigurasi vsftpd:
sudo nano /etc/vsftpd/vsftpd.conf
1. Akses FTP
Kami akan mengizinkan akses ke server FTP hanya pengguna lokal, temukan arahan
anonymous_enable
dan
local_enable
dan verifikasi kecocokan konfigurasi Anda ke baris di bawah ini:
anonymous_enable=NO local_enable=YES
2. Mengaktifkan unggahan
write_enable
komentar pada pengaturan
write_enable
untuk memungkinkan perubahan pada sistem file seperti mengunggah dan menghapus file.
3. Penjara Chroot
Cegah pengguna FTP untuk mengakses file apa pun di luar direktori home mereka dengan membatalkan komentar pada arahan
chroot
.
chroot_local_user=YES
Secara default, ketika chroot diaktifkan, vsftpd akan menolak untuk mengunggah file jika direktori tempat pengguna dikunci dapat ditulis. Ini untuk mencegah kerentanan keamanan.
Gunakan salah satu metode di bawah ini untuk memungkinkan unggahan saat chroot diaktifkan.
-
Metode 1. - Metode yang disarankan untuk memungkinkan unggahan adalah untuk tetap mengaktifkan chroot dan mengonfigurasi direktori FTP. Dalam tutorial ini, kita akan membuat direktori
/etc/vsftpd/vsftpd.confftp
di dalam home user yang akan berfungsi sebagai chroot dan direktoriuploads
dapat ditulis untuk mengunggah file.user_sub_token=$USER local_root=/home/$USER/ftp
Metode 2. - Pilihan lain adalah menambahkan arahan berikut dalam file konfigurasi vsftpd. Gunakan opsi ini jika Anda harus memberikan akses yang dapat ditulis kepada pengguna Anda ke direktori home-nya.
/etc/vsftpd/vsftpd.confallow_writeable_chroot=YES
4. Koneksi FTP Pasif
vsftpd dapat menggunakan port apa saja untuk koneksi FTP pasif. Kami akan menentukan kisaran port minimum dan maksimum dan kemudian membuka kisaran di firewall kami.
Tambahkan baris berikut ke file konfigurasi:
/etc/vsftpd/vsftpd.conf
pasv_min_port=30000 pasv_max_port=31000
5. Membatasi Login Pengguna
Untuk mengizinkan hanya pengguna tertentu untuk masuk ke server FTP tambahkan baris berikut setelah
userlist_enable=YES
baris
userlist_enable=YES
:
userlist_file=/etc/vsftpd/user_list userlist_deny=NO
Ketika opsi ini diaktifkan, Anda harus secara eksplisit menentukan pengguna mana yang dapat login dengan menambahkan nama pengguna ke file
/etc/vsftpd/user_list
(satu pengguna per baris).
6. Mengamankan Transmisi dengan SSL / TLS
Untuk mengenkripsi transmisi FTP dengan SSL / TLS, Anda harus memiliki sertifikat SSL dan mengkonfigurasi server FTP untuk menggunakannya.
Anda dapat menggunakan sertifikat SSL yang sudah ada yang ditandatangani oleh Otoritas Sertifikat tepercaya atau membuat sertifikat yang ditandatangani sendiri.
Dalam tutorial ini, kami akan membuat sertifikat SSL yang ditandatangani sendiri menggunakan perintah
openssl
.
Perintah berikut akan membuat kunci pribadi 2048-bit dan sertifikat yang ditandatangani sendiri berlaku selama 10 tahun. Kunci pribadi dan sertifikat akan disimpan dalam file yang sama:
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem
Setelah sertifikat SSL dibuat, buka file konfigurasi vsftpd:
sudo nano /etc/vsftpd/vsftpd.conf
Temukan arahan
rsa_private_key_file
dan
rsa_private_key_file
, ubah nilainya ke jalur file
pam
dan tetapkan arahan
ssl_enable
menjadi
YES
:
rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.pem ssl_enable=YES
Jika tidak ditentukan sebaliknya, server FTP hanya akan menggunakan TLS untuk membuat koneksi yang aman.
Mulai ulang Layanan vsftpd
Setelah selesai mengedit, file konfigurasi vsftpd (tidak termasuk komentar) akan terlihat seperti ini:
/etc/vsftpd/vsftpd.conf
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES chroot_local_user=YES listen=NO listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES userlist_file=/etc/vsftpd/user_list userlist_deny=NO tcp_wrappers=YES user_sub_token=$USER local_root=/home/$USER/ftp pasv_min_port=30000 pasv_max_port=31000 rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.pem ssl_enable=YES
Simpan file dan mulai ulang layanan vsftpd agar perubahan diterapkan:
Membuka Firewall
Untuk membuka port
21
(port perintah FTP), port
20
(port data FTP) dan
30000-31000
(rentang port Pasif),
30000-31000
perintah berikut:
sudo firewall-cmd --permanent --add-port=20-21/tcp
sudo firewall-cmd --permanent --add-port=30000-31000/tcp
Muat ulang aturan firewall dengan mengetik:
Menciptakan Pengguna FTP
Untuk menguji server FTP kami, kami akan membuat pengguna baru.
- Jika Anda sudah memiliki pengguna yang ingin Anda berikan akses FTP lewati langkah 1. Jika Anda mengatur
allow_writeable_chroot=YES
dalam file konfigurasi Anda lewati langkah ke-3.
-
Buat pengguna baru bernama
newftpuser
:sudo adduser newftpuser
Selanjutnya, Anda perlu mengatur kata sandi pengguna:
sudo passwd newftpuser
Tambahkan pengguna ke daftar pengguna FTP yang diizinkan:
echo "newftpuser" | sudo tee -a /etc/vsftpd/user_list
Buat pohon direktori FTP dan setel izin yang benar:
sudo mkdir -p /home/newftpuser/ftp/upload
sudo chmod 550 /home/newftpuser/ftp
sudo chmod 750 /home/newftpuser/ftp/upload
sudo chown -R newftpuser: /home/newftpuser/ftp
Sebagaimana dibahas di bagian sebelumnya, pengguna dapat mengunggah file-nya ke direktori
ftp/upload
.
Pada titik ini server FTP Anda berfungsi penuh dan Anda harus dapat terhubung ke server Anda dengan klien FTP apa pun yang dapat dikonfigurasi untuk menggunakan enkripsi TLS seperti FileZilla.
Menonaktifkan Akses Shell
Secara default, saat membuat pengguna, jika tidak ditentukan secara spesifik pengguna akan memiliki akses SSH ke server.
Untuk menonaktifkan akses shell, kami akan membuat shell baru yang hanya akan mencetak pesan yang memberi tahu pengguna bahwa akun mereka terbatas hanya untuk akses FTP.
Jalankan perintah berikut untuk membuat shell
/bin/ftponly
dan membuatnya dapat dieksekusi:
echo -e '#!/bin/sh\necho "This account is limited to FTP access only."' | sudo tee -a /bin/ftponly
echo -e '#!/bin/sh\necho "This account is limited to FTP access only."' | sudo tee -a /bin/ftponly
sudo chmod a+x /bin/ftponly
Tambahkan shell baru ke daftar shell yang valid di file
/etc/shells
:
echo "/bin/ftponly" | sudo tee -a /etc/shells
Ubah shell pengguna ke
/bin/ftponly
:
sudo usermod newftpuser -s /bin/ftponly
Gunakan perintah yang sama untuk mengubah shell untuk pengguna lain yang ingin Anda berikan hanya akses FTP.
Kesimpulan
Dalam tutorial ini, Anda belajar cara menginstal dan mengkonfigurasi server FTP yang aman dan cepat pada sistem CentOS 7 Anda.
ftp centosCara mengatur server openvpn pada centos 7
VPN memungkinkan Anda terhubung ke server VPN jarak jauh, membuat koneksi Anda terenkripsi dan aman serta menjelajahi web secara anonim dengan menjaga data lalu lintas Anda tetap pribadi. Tutorial ini akan membahas proses pengaturan server VPN Anda sendiri dengan menginstal dan mengkonfigurasi OpenVPN.
Cara mengatur server ftp dengan vsftpd pada debian 9
Dalam tutorial ini kita akan menginstal vsftpd. Ini adalah server FTP yang stabil, aman dan cepat. Kami juga akan menunjukkan kepada Anda bagaimana mengkonfigurasi vsftpd untuk membatasi pengguna ke direktori home mereka dan mengenkripsi seluruh transmisi dengan SSL / TLS.
Cara men-setup ftp server dengan vsftpd di ubuntu 18.04
Dalam tutorial ini kita akan menginstal vsftpd. Ini adalah server FTP yang stabil, aman dan cepat. Kami juga akan menunjukkan kepada Anda bagaimana mengkonfigurasi vsftpd untuk membatasi pengguna ke direktori home mereka dan mengenkripsi seluruh transmisi dengan SSL / TLS.