Cara Memasang, Konfigurasi dan Selamatkan Pelayan FTP di CentOS 7 - [Panduan Komprehensif]

Cara Memasang, Konfigurasi dan Selamatkan Pelayan FTP di CentOS 7 - [Panduan Komprehensif]

Ftp (Protokol Pemindahan Fail) adalah alat standard tradisional dan digunakan secara meluas untuk memindahkan fail antara pelayan dan pelanggan melalui rangkaian, terutamanya jika tiada pengesahan diperlukan (membenarkan pengguna tanpa nama untuk menyambung ke pelayan). Kita mesti faham bahawa FTP tidak selamat secara lalai, kerana ia memancarkan kelayakan pengguna dan data tanpa penyulitan.

Dalam panduan ini, kami akan menerangkan langkah -langkah untuk memasang, mengkonfigurasi dan menjamin pelayan FTP (Vsftpd bermaksud "Daemon FTP yang sangat selamat") Dalam Centos/RHEL 7 dan Fedora pengagihan.

Perhatikan bahawa semua arahan dalam panduan ini akan dijalankan sebagai akar, Sekiranya anda tidak mengendalikan pelayan dengan akar akaun, gunakan perintah sudo untuk mendapatkan keistimewaan akar.

Langkah 1: Memasang pelayan FTP

1. Memasang vsftpd Pelayan lurus ke hadapan, cuma jalankan arahan berikut di terminal.

# yum pasang vsftpd 

2. Selepas pemasangan selesai, perkhidmatan akan dilumpuhkan pada mulanya, jadi kita perlu memulakannya secara manual pada masa ini dan membolehkannya bermula secara automatik dari boot sistem seterusnya juga:

# Systemctl Mula VSFTPD # SystemCtl Dayakan VSFTPD 

3. Seterusnya, untuk membolehkan akses kepada perkhidmatan FTP dari sistem luaran, kita perlu membuka pelabuhan 21, Di mana daemon FTP mendengar seperti berikut:

# firewall-cmd --Zone = public --permanent --add-port = 21/tcp # firewall-cmd --zone = public --permanent --add-service = ftp # firewall-cmd-reload 

Langkah 2: Mengkonfigurasi pelayan FTP

4. Sekarang kami akan bergerak untuk melakukan beberapa konfigurasi untuk menyiapkan dan menjamin pelayan FTP kami, mari kita mulakan dengan membuat sandaran fail konfigurasi asal /etc/vsftpd/vsftpd.Conf:

# cp/etc/vsftpd/vsftpd.conf/etc/vsftpd/vsftpd.Conf.Orig 

Seterusnya, buka fail konfigurasi di atas dan tetapkan pilihan berikut dengan nilai -nilai yang sepadan:

anonymous_enable = no # disable login anonim local_enable = ya # membenarkan log masuk tempatan write_enable = ya # membolehkan arahan ftp yang mengubah sistem fail local_umask = 022 # nilai Umask untuk penciptaan fail untuk pengguna tempatan dirmessage_enable = ya # membolehkan menunjukkan mesej pertama masukkan direktori baru xferlog_enable = ya # fail log akan dikekalkan memperincikan muat naik dan muat turun connect_from_port_20 = ya # gunakan port 20 (ftp-data) pada mesin pelayan untuk sambungan gaya port xferlog_std_format = ya # Cegah vsftpd daripada berjalan dalam mod mandiri Listen_ipv6 = ya # vsftpd akan mendengar pada soket IPv6 dan bukannya IPv4 One PAM_Service_Name = VSFTPD # Nama PAM Service vsftpd akan menggunakan userList_enable = ya # enable # Hidupkan pembalut TCP 

5. Sekarang konfigurasikan FTP untuk membenarkan/menafikan akses FTP kepada pengguna berdasarkan fail senarai pengguna /etc/vsftpd.UserList.

Secara lalai, pengguna disenaraikan dalam userList_file =/etc/vsftpd.UserList ditolak akses log masuk dengan UserList_deny pilihan ditetapkan ke Ya, jika userList_enable = YA.

Walau bagaimanapun, userList_deny = no mengubah tetapan, yang bermaksud bahawa hanya pengguna yang disenaraikan secara jelas userList_file =/etc/vsftpd.UserList akan dibenarkan masuk.

userList_enable = ya # vsftpd akan memuatkan senarai nama pengguna, dari nama fail yang diberikan oleh userList_file userList_file =/etc/vsftpd.UserList # menyimpan nama pengguna. userList_deny = no 

Itu bukan semua, apabila pengguna log masuk ke pelayan FTP, mereka diletakkan di penjara chroot'ed, ini adalah direktori akar tempatan yang akan bertindak sebagai direktori rumah mereka untuk sesi FTP sahaja.

Seterusnya, kami akan melihat dua senario yang mungkin bagaimana cara mengekang pengguna FTP ke direktori direktori rumah (akar tempatan) untuk pengguna FTP, seperti yang dijelaskan di bawah.

6. Sekarang tambahkan dua pilihan berikut untuk menyekat pengguna FTP ke direktori rumah mereka.

chroot_local_user = Ya Allow_Writeable_Chroot = YA 

chroot_local_user = ya bermaksud pengguna tempatan akan diletakkan di penjara chroot, direktori rumah mereka selepas log masuk secara lalai.

Dan juga secara lalai, vsftpd tidak membenarkan direktori penjara chroot dapat ditulis atas alasan keselamatan, bagaimanapun, kita boleh menggunakan pilihan membenarkan_writeable_chroot = ya untuk mengatasi tetapan ini.

Simpan fail dan tutupnya.

Menjamin pelayan FTP dengan selinux

7. Sekarang, mari kita tetapkan Selinux Boolean di bawah untuk membolehkan FTP membaca fail dalam direktori rumah pengguna. Perhatikan bahawa ini pada mulanya dilakukan menggunakan arahan:

# setsebool -p ftp_home_dir on 

Walau bagaimanapun ftp_home_dir Arahan telah dilumpuhkan secara lalai seperti yang dijelaskan dalam laporan pepijat ini: https: // bugzilla.topi merah.com/show_bug.CGI?ID = 1097775.

Sekarang kita akan menggunakan sememi Perintah untuk menetapkan peraturan selinux untuk membolehkan FTP membaca/menulis direktori rumah pengguna.

# sememi boolean -m ftpd_full_access --on 

Pada ketika ini, kita perlu memulakan semula VSFTPD untuk mempengaruhi semua perubahan yang kami buat jauh di atas:

# Systemctl mulakan semula vsftpd 

Langkah 4: Menguji pelayan FTP

8. Sekarang kami akan menguji pelayan FTP dengan membuat pengguna FTP dengan arahan userAdd.

# USERADD -M -C "Ravi Saive, CEO" -s /bin /bash Ravi # Passwd Ravi 

Selepas itu, kami mesti menambah pengguna Ravi ke fail /etc/vsftpd.UserList Menggunakan perintah echo seperti berikut:

# echo "ravi" | tee -a /etc /vsftpd.UserList # CAT /ETC /VSFTPD.UserList 

9. Sekarang masanya untuk menguji jika tetapan kami di atas berfungsi dengan betul. Mari kita mulakan dengan menguji log masuk tanpa nama, kita dapat melihat dari pukulan skrin di bawah bahawa log masuk tanpa nama tidak dibenarkan:

# FTP 192.168.56.10 Disambungkan ke 192.168.56.10 (192.168.56.10). 220 Selamat Datang ke Tecmint.Com FTP Service. Nama (192.168.56.10: Root): Kebenaran 530 tanpa nama ditolak. Daftar masuk gagal. ftp> 
Uji log masuk FTP tanpa nama

10. Mari kita juga uji jika pengguna tidak disenaraikan dalam fail /etc/vsftpd.UserList akan diberikan kebenaran untuk log masuk, yang tidak berlaku seperti dalam skrin yang ditembak di bawah:

# FTP 192.168.56.10 Disambungkan ke 192.168.56.10 (192.168.56.10). 220 Selamat Datang ke Tecmint.Com FTP Service. Nama (192.168.56.10: Root): Kebenaran Aaronkilik 530 Ditolak. Daftar masuk gagal. ftp> 
Log masuk pengguna FTP gagal

11. Sekarang lakukan cek akhir jika pengguna disenaraikan dalam fail /etc/vsftpd.UserList, sebenarnya diletakkan di direktori rumahnya selepas log masuk:

# FTP 192.168.56.10 Disambungkan ke 192.168.56.10 (192.168.56.10). 220 Selamat Datang ke Tecmint.Com FTP Service. Nama (192.168.56.10: Root): Ravi 331 Sila nyatakan kata laluan. Kata Laluan: 230 Log masuk berjaya. Jenis Sistem Jauh adalah UNIX. Menggunakan mod binari untuk memindahkan fail. ftp> ls 

Log masuk pengguna FTP berjaya [Amaran: Menggunakan membenarkan_writeable_chroot = ya mempunyai implikasi keselamatan tertentu, terutamanya jika pengguna memuat naik kebenaran, atau akses shell.

Hanya mengaktifkan pilihan ini jika anda betul -betul tahu apa yang anda lakukan. Penting untuk diperhatikan bahawa implikasi keselamatan ini tidak ada vsftpd, mereka memohon kepada semua daemon FTP yang menawarkan untuk meletakkan pengguna tempatan di penjara chroot juga.

Oleh itu, kita akan melihat cara yang lebih selamat untuk menetapkan direktori akar tempatan yang tidak boleh ditulis di bahagian seterusnya.

Langkah 5: Konfigurasikan Direktori Rumah Pengguna FTP yang berbeza

12. Buka fail konfigurasi VSFTPD sekali lagi dan mulakan dengan mengulas pilihan yang tidak selamat di bawah:

#membenarkan_writeable_chroot = ya 

Kemudian buat direktori akar tempatan alternatif untuk pengguna (Ravi, Anda mungkin berbeza) dan keluarkan kebenaran tulis kepada semua pengguna ke direktori ini:

# mkdir/home/ravi/ftp # chown tiada siapa: tiada siapa/rumah/ravi/ftp # chmod a-w/home/ravi/ftp 

13. Seterusnya, buat direktori di bawah akar tempatan di mana pengguna akan menyimpan failnya:

# mkdir/home/ravi/ftp/fail # chown ravi: ravi/rumah/ravi/ftp/fail # chmod 0700/home/ravi/ftp/fail/ 

Kemudian tambahkan/ubah suai pilihan berikut dalam fail konfigurasi VSFTPD dengan nilai -nilai ini:

user_sub_token = $ user # Masukkan nama pengguna dalam direktori root tempatan local_root =/home/$ user/ftp # mentakrifkan mana -mana direktori akar tempatan pengguna 

Simpan fail dan tutupnya. Sekali lagi, mari kita mulakan semula perkhidmatan dengan tetapan baru:

# Systemctl mulakan semula vsftpd 

14. Sekarang buat ujian akhir sekali lagi dan lihat bahawa direktori akar tempatan pengguna adalah direktori FTP yang kami buat di direktori rumahnya.

# FTP 192.168.56.10 Disambungkan ke 192.168.56.10 (192.168.56.10). 220 Selamat Datang ke Tecmint.Com FTP Service. Nama (192.168.56.10: Root): Ravi 331 Sila nyatakan kata laluan. Kata Laluan: 230 Log masuk berjaya. Jenis Sistem Jauh adalah UNIX. Menggunakan mod binari untuk memindahkan fail. ftp> ls 
Log masuk direktori rumah pengguna FTP berjaya

Itu sahaja! Dalam artikel ini, kami menerangkan cara memasang, mengkonfigurasi serta menjamin pelayan FTP di CentOS 7, gunakan bahagian komen di bawah untuk menulis kembali kepada kami mengenai panduan ini/kongsi maklumat berguna mengenai topik ini.

Cadangan Baca: Pasang Pelayan Proftpd di RHEL/CentOS 7

Dalam artikel seterusnya, kami juga akan menunjukkan kepada anda bagaimana untuk mendapatkan pelayan FTP menggunakan sambungan SSL/TLS di CentOS 7, sehingga itu, terus berhubung dengan Tecmint.