RHEL 8-ൽ FTP സെർവർ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം, കോൺഫിഗർ ചെയ്യാം, സുരക്ഷിതമാക്കാം


FTP (\ഫയൽ ട്രാൻസ്ഫർ പ്രോട്ടോക്കോൾ എന്നതിന്റെ അർത്ഥം) ഒരു കമ്പ്യൂട്ടർ നെറ്റ്uവർക്കിലെ ക്ലയന്റിനും സെർവറിനുമിടയിൽ ഫയലുകൾ കൈമാറ്റം ചെയ്യുന്നതിനായി ഉപയോഗിക്കുന്ന ഒരു സ്റ്റാൻഡേർഡ്, പഴയ നെറ്റ്uവർക്ക് പ്രോട്ടോക്കോൾ ആണ്. ഇത് ഒരു ക്ലയന്റ്-സെർവർ മോഡൽ ആർക്കിടെക്ചറിലാണ് നിർമ്മിച്ചിരിക്കുന്നത്, ഇത് ഫയലുകളിലേക്ക് ആക്സസ് വാഗ്ദാനം ചെയ്യുന്നു. സെർവറിലേക്ക് ഫയലുകൾ അപ്uലോഡ് ചെയ്യുന്നതിനും അതിൽ നിന്ന് ഫയലുകൾ ഡൗൺലോഡ് ചെയ്യുന്നതിനും ഒരു FTP ക്ലയന്റ് വഴിയുള്ള ഡയറക്uടറികളും.

ഞങ്ങളുടെ മുൻ ലേഖനത്തിൽ, ഒരു കമ്പ്യൂട്ടർ നെറ്റ്uവർക്കിലെ ക്ലയന്റിനും സെർവറിനുമിടയിൽ കമ്പ്യൂട്ടർ ഫയലുകൾ കൈമാറുന്നതിനായി CentOS/RHEL 7-ൽ FTP സെർവർ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും കോൺഫിഗർ ചെയ്യാമെന്നും സുരക്ഷിതമാക്കാമെന്നും ഞങ്ങൾ വിശദീകരിച്ചിട്ടുണ്ട്.

കമ്പ്യൂട്ടറുകൾക്കിടയിൽ അടിസ്ഥാന ഫയൽ പങ്കിടലിനായി RHEL 8-ൽ ഒരു FTP സെർവർ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും കോൺഫിഗർ ചെയ്യാമെന്നും സുരക്ഷിതമാക്കാമെന്നും ഈ ലേഖനത്തിൽ ഞങ്ങൾ വിവരിക്കും.

RHEL 8-ൽ FTP സെർവർ ഇൻസ്റ്റാൾ ചെയ്യുക

1. സുരക്ഷിതമായ FTP പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന്, താഴെ പറയുന്ന dnf കമാൻഡ് ഉപയോഗിക്കുക.

# dnf install vsftpd

2. ഇൻസ്റ്റലേഷൻ പൂർത്തിയാകുമ്പോൾ, നിങ്ങൾ തൽക്കാലം vsftpd സേവനം ആരംഭിക്കേണ്ടതുണ്ട്, സിസ്റ്റം ബൂട്ടിൽ സ്വയമേവ ആരംഭിക്കുന്നതിന് അത് പ്രവർത്തനക്ഷമമാക്കുക, തുടർന്ന് താഴെ പറയുന്ന systemctl കമാൻഡുകൾ ഉപയോഗിച്ച് സ്റ്റാറ്റസ് പരിശോധിക്കുക.

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

3. അടുത്തതായി, ബാഹ്യ സിസ്റ്റങ്ങളിൽ നിന്നുള്ള FTP സേവനങ്ങളിലേക്ക് പ്രവേശനം അനുവദിക്കുന്നതിന് നിങ്ങൾ സിസ്റ്റം ഫയർവാളിൽ FTP പോർട്ട് 21 തുറക്കേണ്ടതുണ്ട്.

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

RHEL 8-ൽ FTP സെർവർ കോൺഫിഗർ ചെയ്യുക

4. ഒരു എഫ്uടിപി സെർവർ കോൺഫിഗർ ചെയ്യുന്നതിന്, ഇനിപ്പറയുന്ന കോപ്പി കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾ പ്രധാന എഫ്uടിപി കോൺഫിഗറേഷൻ ഫയലിന്റെ ബാക്കപ്പ് എടുക്കേണ്ടതുണ്ട് / 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. അടുത്തതായി, ഉപയോക്തൃ ലിസ്റ്റ് ഫയൽ /etc/vsftpd.userlist അടിസ്ഥാനമാക്കി ഉപയോക്താക്കൾക്ക് FTP സേവനങ്ങളിലേക്ക് പ്രവേശനം അനുവദിക്കുന്നതിന്/നിരസിക്കാൻ നിങ്ങൾ FTP കോൺഫിഗർ ചെയ്യേണ്ടതുണ്ട്.

സ്ഥിരസ്ഥിതിയായി, /etc/vsftpd.userlist ഫയലിൽ ലിസ്uറ്റ് ചെയ്uതിരിക്കുന്ന ഉപയോക്താക്കൾക്ക് userlist_enable ആണെങ്കിൽ Userlist_deny ഓപ്uഷൻ YES ആയി സജ്ജീകരിച്ച് ആക്uസസ്സ് നിരസിക്കപ്പെട്ടു. = അതെ, ഇത് ആക്സസ് പ്രാപ്തമാക്കുന്നു.

പക്ഷേ, userlist_deny=NO എന്ന പരാമീറ്റർ സജ്ജീകരിക്കുന്നത് ക്രമീകരണത്തെ മാറ്റുന്നു, അതായത് userlist_file=/etc/vsftpd.userlist എന്നതിൽ വ്യക്തമായി ലിസ്റ്റുചെയ്തിരിക്കുന്ന ഉപയോക്താക്കൾക്ക് മാത്രമേ ലോഗിൻ ചെയ്യാൻ അനുമതിയുള്ളൂ.

അതിനാൽ, നിങ്ങളുടെ vsftpd.conf കോൺഫിഗറേഷൻ ഫയലിൽ ഇനിപ്പറയുന്ന വരികൾ ചേർക്കുക (അല്ലെങ്കിൽ ഇതിനകം നിലവിലുണ്ടെങ്കിൽ, അവ കമന്റ് ചെയ്uത് അവയുടെ മൂല്യങ്ങൾ കാണിച്ചിരിക്കുന്നതുപോലെ സജ്ജമാക്കുക):

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

7. ഇപ്പോൾ FTP ഉപയോക്താക്കളെ അവരുടെ ഹോം ഡയറക്uടറികളിലേക്ക് പരിമിതപ്പെടുത്താൻ നിങ്ങളുടെ vsftpd.conf കോൺഫിഗറേഷൻ ഫയലിൽ ഇനിപ്പറയുന്ന വരികൾ ചേർക്കുക.

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. ഉപയോക്താവിന്റെ ഹോം ഡയറക്uടറിയുടെ ഫയലുകൾ റീഡ്/റൈറ്റ് ചെയ്യാൻ FTP പ്രാപ്uതമാക്കുന്നതിന് ഇനിപ്പറയുന്ന SELinux ബൂളിയൻ റൂൾ സജ്ജമാക്കുക.

# semanage boolean -m ftpd_full_access --on

9. അവസാനം ഞങ്ങൾ ഇതുവരെ മുകളിൽ വരുത്തിയ എല്ലാ മാറ്റങ്ങളെയും ബാധിക്കാൻ vsftpd സേവനം പുനരാരംഭിക്കുക:

# systemctl restart vsftpd

RHEL 8-ൽ FTP സെർവർ പരിശോധിക്കുന്നു

10. മുകളിലെ FTP സജ്ജീകരണം നന്നായി പ്രവർത്തിക്കുന്നുണ്ടോയെന്ന് പരിശോധിക്കുന്നതിന്, userradd കമാൻഡ് ഉപയോഗിച്ച് ഒരു FTP ഉപയോക്താവിനെ സൃഷ്uടിച്ച് ആരംഭിക്കുകയും ആ ഉപയോക്താവിനായി ഒരു പാസ്uവേഡ് സൃഷ്uടിക്കുകയും ചെയ്യുക.

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

11. തുടർന്ന് echo കമാൻഡ് ഉപയോഗിച്ച് /etc/vsftpd.userlist എന്ന ഫയലിലേക്ക് യൂസർ tecmint ചേർക്കുക.

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

12. തുടർന്ന് ഉപയോക്താവിനായി ഇതര ലോക്കൽ റൂട്ട് ഡയറക്uടറി സൃഷ്uടിക്കുക (ടെക്മിന്റ്, നിങ്ങളുടേത് വ്യത്യസ്തമായിരിക്കും) കൂടാതെ ഈ ഡയറക്ടറിയിൽ ഉചിതമായ അനുമതികൾ സജ്ജമാക്കുക.

# 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. ഇപ്പോൾ താഴെ പറയുന്ന രീതിയിൽ ഏതെങ്കിലും 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

അത്രയേയുള്ളൂ! ഈ ലേഖനത്തിൽ, RHEL 8-ൽ ഒരു എഫ്uടിപി സെർവർ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും കോൺഫിഗർ ചെയ്യാമെന്നും സുരക്ഷിതമാക്കാമെന്നും ഞങ്ങൾ വിവരിച്ചു. ഞങ്ങളുടെ അടുത്ത ലേഖനത്തിൽ, എസ്എസ്എൽ/ടിഎൽഎസ് കണക്ഷനുകൾ ഉപയോഗിച്ച് എഫ്uടിപി സെർവർ എങ്ങനെ സുരക്ഷിതമാക്കാമെന്ന് ഞങ്ങൾ കാണിക്കും. അതുവരെ ഞങ്ങളോടൊപ്പം നിൽക്കൂ.