ວິທີການຕິດຕັ້ງ, ການຕັ້ງຄ່າແລະຄວາມປອດໄພຂອງເຊີຟເວີ FTP ໃນ RHEL 8


FTP (ໝາຍ ເຖິງ“ File Transfer Protocol”) ແມ່ນໂປແກຼມເຄືອຂ່າຍເກົ່າແລະເກົ່າທີ່ໃຊ້ ສຳ ລັບການໂອນໄຟລ໌ລະຫວ່າງລູກຄ້າແລະ server ໃນເຄືອຂ່າຍຄອມພິວເຕີ້. ມັນຖືກສ້າງຂຶ້ນໃນສະຖາປັດຕະຍະ ກຳ ແບບລູກຄ້າ - ເຊີບເວີ, ເຊິ່ງສາມາດເຂົ້າເຖິງເອກະສານແລະໄດເລກະທໍລີຜ່ານລູກຄ້າ FTP, ເພື່ອອັບໂຫລດເອກະສານຕ່າງໆໃຫ້ກັບເຊີບເວີພ້ອມທັງດາວໂຫລດໄຟລ໌ຈາກມັນ.

ໃນບົດຂຽນທີ່ຜ່ານມາຂອງພວກເຮົາ, ພວກເຮົາໄດ້ອະທິບາຍວິທີການຕິດຕັ້ງ, ກຳ ຫນົດແລະຮັກສາຄວາມປອດໄພຂອງ FTP Server ໃນ CentOS/RHEL 7 ສຳ ລັບການໂອນເອກະສານຄອມພິວເຕີ້ລະຫວ່າງລູກຄ້າແລະເຊີບເວີໃນເຄືອຂ່າຍຄອມພິວເຕີ້.

ໃນບົດຂຽນນີ້, ພວກເຮົາຈະອະທິບາຍວິທີການຕິດຕັ້ງ, ກຳ ຫນົດແລະຮັກສາຄວາມປອດໄພຂອງເຄື່ອງແມ່ຂ່າຍ FTP ເທິງ RHEL 8 ສຳ ລັບການແບ່ງປັນເອກະສານຂັ້ນພື້ນຖານລະຫວ່າງຄອມພິວເຕີ້.

ຕິດຕັ້ງ FTP Server ເທິງ RHEL 8

1. ເພື່ອຕິດຕັ້ງແພັກເກດ FTP ທີ່ປອດໄພ, ໃຊ້ ຄຳ ສັ່ງ dnf ຕໍ່ໄປນີ້.

# dnf install vsftpd

2. ເມື່ອການຕິດຕັ້ງ ສຳ ເລັດແລ້ວ, ທ່ານຕ້ອງການເລີ່ມຕົ້ນການບໍລິການ vsftpd ໃນເວລານີ້, ໃຫ້ມັນເລີ່ມຕົ້ນໂດຍອັດຕະໂນມັດໃນລະບົບ boot ຫຼັງຈາກນັ້ນກວດສອບສະຖານະພາບໂດຍໃຊ້ ຄຳ ສັ່ງ systemctl ຕໍ່ໄປນີ້.

# systemctl start vsftpd
# systemctl enable vsftpd
# systemctl status vsftpd

3. ຕໍ່ໄປ, ທ່ານ ຈຳ ເປັນຕ້ອງເປີດ FTP port 21 ໃນລະບົບປ້ອງກັນໄຟຂອງລະບົບເພື່ອໃຫ້ການເຂົ້າເຖິງການບໍລິການ FTP ຈາກລະບົບພາຍນອກ.

# firewall-cmd --zone=public --permanent --add-port=21/tcp
# firewall-cmd --zone=public --permanent --add-port=45073/tcp
# firewall-cmd --reload

ຕັ້ງຄ່າ FTP Server ໃນ RHEL 8

4. ເພື່ອ ກຳ ຫນົດຄ່າ server server, ທ່ານ ຈຳ ເປັນຕ້ອງເຮັດ ສຳ ຮອງຂໍ້ມູນການຕັ້ງຄ່າເອກະສານຕັ້ງຄ່າ FTP ຕົ້ນຕໍ /etc/vsftpd/vsftpd.conf ໂດຍໃຊ້ ຄຳ ສັ່ງ ສຳ ເນົາດັ່ງຕໍ່ໄປນີ້.

# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.orig

5. ຫຼັງຈາກນັ້ນເປີດເອກະສານການຕັ້ງຄ່າໂດຍໃຊ້ບັນນາທິການບັນທັດ ຄຳ ສັ່ງທີ່ທ່ານມັກ.

# vi /etc/vsftpd/vsftpd.conf

ກໍານົດຕົວກໍານົດການຕໍ່ໄປນີ້ກັບຄ່າທີ່ສອດຄ້ອງກັນເຫຼົ່ານີ້ (ເບິ່ງ man 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          
listen=NO   			
listen_ipv6=YES		        
pam_service_name=vsftpd        

6. ຕໍ່ໄປ, ທ່ານ ຈຳ ເປັນຕ້ອງ ກຳ ຫນົດຄ່າ FTP ເພື່ອອະນຸຍາດ/ປະຕິເສດຜູ້ໃຊ້ເຂົ້າເຖິງການບໍລິການ FTP ໂດຍອີງໃສ່ລາຍຊື່ຜູ້ໃຊ້ file /etc/vsftpd.userlist.

ໂດຍຄ່າເລີ່ມຕົ້ນ, ຜູ້ໃຊ້ທີ່ມີລາຍຊື່ຢູ່ໃນ /etc/vsftpd.userlist ເອກະສານຖືກປະຕິເສດການເຂົ້າເຖິງກັບຕົວເລືອກ userlist_deny ທີ່ຖືກຕັ້ງຄ່າ YES , ຖ້າ userlist_enable = ແມ່ນແລ້ວ ມັນສາມາດເຂົ້າເຖິງໄດ້.

ແຕ່ວ່າ, ການຕັ້ງຄ່າພາລາມິເຕີ userlist_deny = NO ປ່ຽນແປງການຕັ້ງຄ່າ, ໝາຍ ຄວາມວ່າມີພຽງແຕ່ຜູ້ໃຊ້ທີ່ມີລາຍຊື່ຢ່າງຈະແຈ້ງໃນ userlist_file =/etc/vsftpd.userlist ຈະຖືກອະນຸຍາດໃຫ້ເຂົ້າສູ່ລະບົບ.

ສະນັ້ນ, ຕື່ມໃສ່ແຖວຕໍ່ໄປນີ້ໃນແຟ້ມການຕັ້ງຄ່າຂອງທ່ານ (ຫຼືຖ້າມີຢູ່ແລ້ວ, ໃຫ້ພວກເຂົາຍົກເລີກແລະ ກຳ ນົດຄ່າຂອງມັນຕາມທີ່ສະແດງ):

userlist_enable=YES                   # allow access to list of usernames from the userlist_file
userlist_file=/etc/vsftpd.userlist    # stores usernames.
userlist_deny=NO   

7. ດຽວນີ້ຕື່ມສາຍຕໍ່ໄປນີ້ໃນເອກະສານການຕັ້ງຄ່າຂອງ vsftpd.conf ຂອງທ່ານເພື່ອ ຈຳ ກັດຜູ້ໃຊ້ FTP ໃນລາຍການ ໜ້າ ທຳ ອິດຂອງພວກເຂົາ.

chroot_local_user=YES		#means local users will be placed in a chroot jail, their home directory after login by default settings.
user_sub_token=$USER         	
local_root=/home/$USER/ftp   	

ບັນທຶກການປ່ຽນແປງຂອງເອກະສານແລະປິດມັນ.

8. ກຳ ນົດກົດລະບຽບ boolean SELinux ຕໍ່ໄປນີ້ເພື່ອເຮັດໃຫ້ FTP ສາມາດອ່ານ/ຂຽນເອກະສານຂອງລະບົບໂຮມຂອງຜູ້ໃຊ້.

# semanage boolean -m ftpd_full_access --on

9. ສຸດທ້າຍໃຫ້ກັບບໍລິການ vsftpd ເພື່ອສົ່ງຜົນກະທົບຕໍ່ການປ່ຽນແປງທັງ ໝົດ ທີ່ພວກເຮົາໄດ້ເຮັດມາຂ້າງເທິງນີ້:

# systemctl restart vsftpd

ການທົດສອບ FTP Server ໃນ RHEL 8

10. ເພື່ອທົດສອບວ່າການຕັ້ງຄ່າ FTP ຂ້າງເທິງນີ້ເຮັດວຽກໄດ້ດີ, ເລີ່ມຕົ້ນໂດຍການສ້າງຜູ້ໃຊ້ FTP ດ້ວຍ ຄຳ ສັ່ງ useradd ແລະສ້າງລະຫັດລັບ ສຳ ລັບຜູ້ໃຊ້ນັ້ນ.

# useradd -m -c "Tecmint HowTos" -s /bin/bash tecmint
# passwd tecmint

11. ຫຼັງຈາກນັ້ນຕື່ມ tecmint ຜູ້ໃຊ້ເຂົ້າໃນແຟ້ມເອກະສານ /etc/vsftpd.userlist ໂດຍໃຊ້ ຄຳ ສັ່ງແອັກໂກ້ດັ່ງຕໍ່ໄປນີ້.

# echo "tecmint" | tee -a /etc/vsftpd.userlist
# cat /etc/vsftpd.userlist

12. ຫຼັງຈາກນັ້ນສ້າງໄດເລກະທໍລີຮາກຂັ້ນທ້ອງຖິ່ນ ສຳ ລັບຜູ້ໃຊ້ (tecmint, ຂອງທ່ານອາດຈະແຕກຕ່າງກັນ) ແລະ ກຳ ນົດສິດທີ່ ເໝາະ ສົມໃນໄດເລກະທໍລີນີ້.

# mkdir -p /home/tecmint/ftp
# chown nobody:nobody /home/tecmint/ftp
# chmod a-w /home/tecmint/ftp

13. ຕໍ່ໄປ, ສ້າງໄດເລກະທໍລີພາຍໃນສະຖານທີ່ຮາກຂອງທ້ອງຖິ່ນ, ບ່ອນທີ່ຜູ້ໃຊ້ຈະຮັກສາເອກະສານຂອງລາວໄວ້.

# mkdir /home/tecmint/ftp/files
# chown tecmint:tecmint /home/tecmint/ftp/files
# chmod 0700 /home/tecmint/ftp/files/

14. ຕອນນີ້ເຊື່ອມຕໍ່ກັບ server FTP ໂດຍໃຊ້ລູກຄ້າ FTP ໃດ ໜຶ່ງ ຕໍ່ໄປນີ້.

# ftp [email 
Connected to 192.168.56.100
220 Welcome to TecMint.com FTP service.
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls

ນັ້ນແມ່ນມັນ! ໃນບົດຂຽນນີ້, ພວກເຮົາໄດ້ອະທິບາຍວິທີການຕິດຕັ້ງ, ການຕັ້ງຄ່າແລະການຮັກສາຄວາມປອດໄພຂອງເຄື່ອງແມ່ຂ່າຍ FTP ໃນ RHEL 8. ໃນບົດຄວາມຕໍ່ໄປຂອງພວກເຮົາ, ພວກເຮົາຈະສະແດງວິທີການຮັບປະກັນເຄື່ອງແມ່ຂ່າຍ FTP ໂດຍໃຊ້ການເຊື່ອມຕໍ່ SSL/TLS. ຈົນກ່ວານັ້ນ, ຢູ່ກັບພວກເຮົາ.