Server

Cara mengatur Server FTP di CentOS

Cara mengatur Server FTP di CentOS

Menyiapkan Server FTP (File Transfer Protocol) di PC Linux Anda akan memungkinkan Anda untuk mentransfer file antara sistem Anda dan mesin jarak jauh. Kami akan menunjukkan cara mengatur server FTP di CentOS.

Linux sudah memiliki banyak server FTP sumber terbuka yang dapat Anda gunakan untuk pekerjaan itu. Ini termasuk server populer seperti PureFTPd, ProFTPD, serta vsftpd.

Anda diperbolehkan menggunakan salah satu server FTP sesuka Anda. Namun, dalam tutorial ini, kita akan menginstal dan menggunakan vsftpd, kependekan dari Very Secure FTP Daemon. Ini adalah server FTP yang cepat, stabil, dan aman yang akan membantu Anda mentransfer file ke dan dari sistem jarak jauh dalam sekejap.

Menyiapkan Server FTP di CentOS

Jadi tanpa basa-basi lagi, mari kita mulai:

Menginstal vsftpd

Pertama, kita perlu menginstal vsftpd di CentOS. Untuk melakukan ini, masukkan perintah berikut di terminal:

$ sudo dnf install vsftpd

Menginstal vsftpd di CentOS

Dengan vsftpd terinstal di sistem CentOS Anda, Anda harus mengonfigurasinya agar mulai dan boot secara otomatis. Ini dapat dilakukan dengan menggunakan perintah berikut:

$ sudo systemctl aktifkan vsftpd --sekarang

Setelah selesai, verifikasi status layanan vsftpd dengan memasukkan perintah ini:

$ sudo systemctl status vsftpd

Layar keluaran yang mirip dengan yang di bawah ini akan muncul. Anda akan melihat bahwa vsftpd tidak "Aktif" di sistem CentOS Anda.

vsftpd aktif dan berjalan di CentOS

Pengaturan vsftpd

Dengan vsftpd aktif dan berjalan di sistem Anda, Anda perlu mengonfigurasi pengaturan server. Untuk melakukannya, Anda perlu mengakses /etc/vsftpd/vsftpd.file konfigurasi conf. Ini dapat dilakukan dengan membuka file konfigurasi di editor nano dengan memasukkan perintah berikut di terminal:

$ sudo nano /etc/vsftpd/vsftpd.konf

Dengan file yang sekarang dibuka di editor, ada beberapa perubahan yang perlu Anda lakukan untuk mengatur vsftpd di sistem Anda. Mari kita bahas satu per satu.

1. Konfigurasikan Akses FTP

Pertama, mari konfigurasi server FTP untuk mengizinkan akses hanya ke pengguna lokal. Untuk melakukannya, Anda perlu menemukan arahan anonymous_enable dan local_enable dalam file dan mengeditnya seperti yang ditunjukkan pada gambar di bawah:

Pengaturan akses FTP

Seperti yang Anda lihat, Anda perlu mengatur anonymous_enable=NO dan local_enable=YES.

2. Aktifkan Unggahan

Selanjutnya, Anda perlu mengonfigurasi server FTP untuk memungkinkan mengunggah dan menghapus file.

Untuk melakukan ini, Anda perlu menemukan direktif write_enable dan mengubahnya menjadi YA, seperti yang ditunjukkan pada gambar.

Opsi untuk mengaktifkan unggahan vsftpd

3. Batasi Login Pengguna

Setelah selesai, Anda akan ingin membatasi jumlah total login pengguna i.e., Anda hanya ingin pengguna tertentu masuk ke server FTP Anda. Untuk melakukan ini, pertama, cari baris ini di this .file conf - userlist_enable=YA. Setelah itu, tambahkan dua baris ini ke dalam file:

userlist_file=/etc/vsftpd/user_list userlist_deny=TIDAK

Gunakan gambar di bawah ini sebagai referensi:

Pengaturan untuk membatasi login pengguna

Anda juga dapat memilih untuk mengaktifkan opsi ini. Jika ya, Anda harus secara eksplisit menentukan pengguna mana yang ingin Anda beri akses ke server FTP. Untuk mengizinkan pengguna, Anda perlu menambahkan nama pengguna mereka ke file /etc/vsftpd/user_list dengan hanya satu nama pengguna di setiap baris.

4. Mengatur Koneksi FTP Pasif

Anda mungkin juga ingin mengatur koneksi FTP pasif.

Karena itu, di sini kami akan menunjukkan kepada Anda bagaimana Anda dapat menentukan rentang minimum dan maksimum port dengan menambahkan beberapa baris di dalam .file conf.

Menyiapkan koneksi FTP pasif

Yang perlu Anda lakukan adalah menggulir ke bawah ke akhir file dan menambahkan dua baris ini, seperti yang ditunjukkan pada gambar.

pasv_min_port=30000 pasv_max_port=31000

Kami juga akan membahas bagaimana Anda dapat membuka jangkauan di firewall Anda nanti dalam tutorial ini.

5. Konfigurasikan Transmisi Aman menggunakan SSL/TLS

Akhirnya, muncul pertanyaan untuk mengamankan koneksi FTP dengan menggunakan SSL/TLS. Untuk melakukan ini, Anda harus memiliki sertifikat SSL dan mengkonfigurasi server FTP Anda untuk menggunakannya.

Namun, demi tutorial ini, kami akan membuat sertifikat SSL yang ditandatangani sendiri menggunakan alat OpenSSL dan kemudian menggunakannya untuk mengenkripsi transmisi FTP kami.

Jadi, hal pertama yang pertama, Anda harus menggunakan OpenSSL untuk membuat sertifikat SSL baru. Anda dapat melakukan ini dengan memasukkan perintah berikut di terminal:

sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem

Membuat sertifikat OpenSSL yang ditandatangani sendiri di CentOS

Menjalankan perintah di atas akan menghasilkan kunci pribadi 2048-bit serta sertifikat yang ditandatangani sendiri. Keduanya berlaku selama sepuluh tahun dan disimpan dalam file yang sama.

Setelah membuat sertifikat SSL baru Anda, buka file konfigurasi vsftpd menggunakan perintah sebelumnya:

sudo nano /etc/vsftpd/vsftpd.konf

Gulir ke bawah dan tambahkan baris berikut seperti yang ditunjukkan pada gambar:

rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.pem ssl_enable=YA

Mengonfigurasi pengaturan SSL untuk vsftpd

Dan itu saja. Anda telah berhasil mengonfigurasi sertifikat SSL untuk server FTP Anda.

6. Menyelesaikan

Setelah selesai, periksa kembali file konfigurasi vsftpd untuk melihat apakah semua pengaturan berikut sudah sesuai:

anonim_enable=TIDAK local_enable=YA write_enable=YA local_umask=022 dirmessage_enable=YA xferlog_enable=YA connect_from_port_20=YA xferlog_std_format=YA mendengarkan=TIDAK mendengarkan_ipv6=YA pam_service_name=vsftpd userlist_enable_listpds_daftar_enable_pengguna pasv_max_port=31000 rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.pem ssl_enable=YA

Setelah Anda memastikan bahwa semua perubahan di atas telah dilakukan pada file, Anda harus menyimpannya. Setelah disimpan, restart layanan vsftpd menggunakan perintah berikut:

$ sudo systemctl restart vsftpd

Konfigurasikan Firewall

Jika Anda memiliki firewall yang diaktifkan bersama dengan server FTP, maka Anda perlu mengonfigurasi firewall agar memungkinkan transmisi FTP.

Untuk melakukan ini, Anda harus memasukkan perintah berikut ke terminal:

$ sudo firewall-cmd --permanent --add-port=20-21/tcp

Perintah di atas membuka port 21 - yang merupakan port perintah FTP, dan port 20 - yang merupakan port data FTP.

Anda juga harus memasukkan perintah ini:

$ sudo firewall-cmd --permanent --add-port=30000-31000/tcp

Perintah ini membuka kisaran port pasif 30000-31000, yang telah kami konfigurasikan sebelumnya.

Mengizinkan server vsftpd melewati firewall CentOS

Setelah selesai, Anda perlu memuat ulang firewall menggunakan perintah berikut:

$ firewall-cmd --reload

Cara Membuat Pengguna FTP Baru

Sekarang setelah Anda mengatur server vsftpd Anda di sistem CentOS Anda, sekarang saatnya untuk membuat pengguna FTP baru dan mengujinya.

Pertama, mari kita buat pengguna FTP baru (newftpuser) dengan menggunakan perintah berikut:

$ sudo adduser newftpuser

Selanjutnya, Anda perlu mengatur kata sandi untuk pengguna baru. Untuk melakukan ini, gunakan perintah ini:

$ sudo passwd newftpuser

Pastikan kata sandinya kuat dan lebih dari delapan karakter.

Membuat pengguna FTP baru

Setelah membuat pengguna baru, Anda harus menambahkannya ke daftar pengguna FTP. Ini dapat dilakukan dengan memasukkan perintah berikut di terminal:

$ echo "newftpuser" | sudo tee -a /etc/vsftpd/user_list

Terakhir, Anda perlu membuat pohon direktori FTP tempat Anda akan mengatur semua izin yang benar. Untuk melakukan ini, Anda harus memasukkan serangkaian perintah berikut di terminal:

$ 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

Buat pohon direktori FTP

Sekarang, server FTP Anda berfungsi penuh dan siap digunakan. Sekarang Anda dapat menghubungkannya menggunakan klien FTP apa pun seperti FileZilla. Pastikan saja bahwa klien FTP juga dapat dikonfigurasi untuk menggunakan enkripsi TLS seperti yang digunakan untuk mengenkripsi transmisi FTP.

Nonaktifkan Akses Shell

Satu hal yang harus Anda ingat saat membuat pengguna FTP baru adalah, kecuali jika ditentukan secara eksplisit, pengguna akan memiliki akses SSH ke server.

Jika Anda ingin menonaktifkan akses shell dari pengguna, Anda perlu membuat shell baru yang akan mencetak pesan yang memberi tahu pengguna bahwa - “Akun ini terbatas hanya untuk akses FTP.”

Untuk melakukan ini, Anda harus memasukkan perintah berikut di terminal:

$ echo -e '#!/bin/sh\necho "Akun ini terbatas hanya untuk akses FTP."' | sudo tee -a /bin/ftponly $ sudo chmod a+x /bin/ftponly

Perintah di atas akan membuat shell /bin/ftponly dan menjalankannya.

Selanjutnya, Anda perlu menambahkan shell baru ke dalam daftar shell yang valid yang terletak di dalam /etc/shells mengajukan. Ini dilakukan dengan menggunakan perintah berikut:

$ echo "/bin/ftponly" | sudo tee -a /etc/shells

Dan sebagai langkah terakhir, yang perlu Anda lakukan hanyalah mengubah shell pengguna menjadi /bin/ftponly menggunakan perintah ini:

$ sudo usermod newftpuser -s /bin/ftponly

Juga, untuk pengguna FTP di masa mendatang, Anda dapat menggunakan perintah yang sama untuk mengubah shell mereka sehingga mereka hanya dapat memiliki akses FTP.

Cara Mengganti Tombol Kiri & Kanan Mouse di PC Windows 10
Sudah menjadi hal biasa bahwa semua perangkat mouse komputer dirancang secara ergonomis untuk pengguna yang tidak kidal. Tetapi ada perangkat mouse ya...
Tiru klik Mouse dengan mengarahkan mouse menggunakan Clickless Mouse di Windows 10
Menggunakan mouse atau keyboard dalam posisi yang salah dari penggunaan yang berlebihan dapat menyebabkan banyak masalah kesehatan, termasuk keteganga...
Tambahkan gerakan Mouse ke Windows 10 menggunakan alat gratis ini
Dalam beberapa tahun terakhir, komputer dan sistem operasi telah berkembang pesat. Ada saat ketika pengguna harus menggunakan perintah untuk menavigas...