CentOS 7-ലെ പ്രാരംഭ സെർവർ സജ്ജീകരണവും കോൺഫിഗറേഷനുകളും


ഈ ട്യൂട്ടോറിയൽ ഇൻസ്റ്റോൾ ചെയ്ത സിസ്റ്റത്തെ കുറിച്ചുള്ള വിവരങ്ങൾ നേടുന്നതിനും, സിസ്റ്റം പ്രവർത്തിപ്പിക്കുന്നതിനും മറ്റ് നിർദ്ദിഷ്ട സിസ്റ്റം ടാസ്ക്കുകൾ കോൺഫിഗർ ചെയ്യുന്നതിനും വേണ്ടി, ഗ്രാഫിക്കൽ എൻവയോൺമെന്റ് ഇല്ലാത്ത ഒരു മിനിമം CentOS 7 സിസ്റ്റം ഇൻസ്റ്റാൾ ചെയ്തതിന് ശേഷം നിങ്ങൾ ചെയ്യേണ്ട ആദ്യ അടിസ്ഥാന ഘട്ടങ്ങൾ വിശദീകരിക്കും. നെറ്റ്uവർക്കിംഗ്, റൂട്ട് പ്രത്യേകാവകാശങ്ങൾ, സോഫ്റ്റ്uവെയർ, സേവനങ്ങൾ എന്നിവയും മറ്റും.

  1. CentOS 7 മിനിമൽ ഇൻസ്റ്റലേഷൻ

പ്രധാനപ്പെട്ടത്: RHEL 7 ഉപയോക്താക്കൾക്ക് RHEL 7-ൽ ഒരു പ്രാരംഭ സെർവർ സജ്ജീകരണം നടത്താൻ ഈ ലേഖനം പിന്തുടരാവുന്നതാണ്.

CentOS 7 സിസ്റ്റം അപ്ഡേറ്റ് ചെയ്യുക

പുതുതായി ഇൻസ്റ്റാൾ ചെയ്ത CentOS സിസ്റ്റത്തിൽ നിങ്ങൾ ചെയ്യേണ്ട ആദ്യ പടി, ഏറ്റവും പുതിയ കേർണൽ, സിസ്റ്റം സുരക്ഷാ പാച്ചുകൾ, സോഫ്റ്റ്uവെയർ ശേഖരണങ്ങൾ, പാക്കേജുകൾ എന്നിവ ഉപയോഗിച്ച് സിസ്റ്റം കാലികമാണെന്ന് ഉറപ്പാക്കുക എന്നതാണ്.

ഒരു CentOS 7 സിസ്റ്റം പൂർണ്ണമായി അപ്uഡേറ്റ് ചെയ്യുന്നതിന്, റൂട്ട് പ്രത്യേകാവകാശങ്ങളോടെ താഴെ പറയുന്ന കമാൻഡുകൾ നൽകുക.

# yum check-update
# yum upgrade

അപ്uഗ്രേഡ് പ്രോസസ്സ് പൂർത്തിയായ ശേഷം, ഡിസ്ക് സ്പേസ് റിലീസ് ചെയ്യുന്നതിനായി, താഴെ പറയുന്ന കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുന്നതിലൂടെ, അപ്uഗ്രേഡ് ചെയ്യുന്ന പ്രക്രിയയിൽ ഉപയോഗിക്കുന്ന എല്ലാ ഡൗൺലോഡ് ചെയ്ത പാക്കേജുകളും നിങ്ങൾക്ക് നീക്കം ചെയ്യാവുന്നതാണ്.

# yum clean all

CentOS 7-ൽ സിസ്റ്റം യൂട്ടിലിറ്റികൾ ഇൻസ്റ്റാൾ ചെയ്യുക

ദിവസേനയുള്ള സിസ്റ്റം അഡ്മിനിസ്ട്രേഷന് ഇനിപ്പറയുന്ന യൂട്ടിലിറ്റി പാക്കേജുകൾ ഉപയോഗപ്രദമാണെന്ന് തെളിയിക്കാൻ കഴിയും: നാനോ (LSof-ന് പകരം വയ്ക്കാനുള്ള ടെക്സ്റ്റ് എഡിറ്റർ (ലോക്കൽ നെറ്റ്uവർക്കിംഗ് കൈകാര്യം ചെയ്യുന്നതിനുള്ള യൂട്ടിലിറ്റികൾ), ബാഷ്-കംപ്ലീഷൻ (കമാൻഡ് ലൈൻ ഓട്ടോകംപ്ലീറ്റ്).

ചുവടെയുള്ള കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്തുകൊണ്ട് അവയെല്ലാം ഒറ്റ ഷോട്ടിൽ ഇൻസ്റ്റാൾ ചെയ്യുക.

# yum install nano wget curl net-tools lsof bash-completion

CentOS 7-ൽ നെറ്റ്uവർക്കിംഗ് സജ്ജീകരിക്കുക

നെറ്റ്uവർക്ക് കോൺഫിഗറേഷൻ ഫയൽ സ്വമേധയാ എഡിറ്റുചെയ്യുന്നത് മുതൽ nmcli അല്ലെങ്കിൽ റൂട്ട് പോലുള്ള കമാൻഡുകൾ ഉപയോഗിക്കുന്നത് വരെ നെറ്റ്uവർക്കിംഗ് കോൺഫിഗർ ചെയ്യുന്നതിനും നിയന്ത്രിക്കുന്നതിനും ഉപയോഗിക്കാവുന്ന വിപുലമായ ടൂളുകൾ CentOS 7-നുണ്ട്.

നെറ്റ്uവർക്ക് കോൺഫിഗറേഷനുകൾ നിയന്ത്രിക്കാനും മാറ്റാനും ഒരു തുടക്കക്കാരന് ഉപയോഗിക്കാവുന്ന ഏറ്റവും എളുപ്പമുള്ള യൂട്ടിലിറ്റി nmtui ഗ്രാഫിക്കൽ കമാൻഡ് ലൈൻ ആണ്.

nmtui യൂട്ടിലിറ്റി വഴി സിസ്റ്റം ഹോസ്റ്റ്നാമം മാറ്റുന്നതിന്, nmtui-hostname കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുക, നിങ്ങളുടെ മെഷീൻ ഹോസ്റ്റ്നാമം സജ്ജമാക്കി, താഴെയുള്ള സ്ക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്നതുപോലെ പൂർത്തിയാക്കാൻ ശരി അമർത്തുക.

# nmtui-hostname

ഒരു നെറ്റ്uവർക്ക് ഇന്റർഫേസ് കൈകാര്യം ചെയ്യാൻ, nmtui-edit കമാൻഡ് എക്uസിക്യൂട്ട് ചെയ്യുക, നിങ്ങൾക്ക് എഡിറ്റ് ചെയ്യേണ്ട ഇന്റർഫേസ് തിരഞ്ഞെടുത്ത് ചുവടെയുള്ള സ്uക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്നതുപോലെ വലത് മെനുവിൽ നിന്ന് എഡിറ്റ് തിരഞ്ഞെടുക്കുക.

# nmtui-edit

nmtui യൂട്ടിലിറ്റി നൽകുന്ന ഗ്രാഫിക്കൽ ഇന്റർഫേസിൽ നിങ്ങൾ എത്തിക്കഴിഞ്ഞാൽ, ചുവടെയുള്ള സ്ക്രീൻഷോട്ടിൽ ചിത്രീകരിച്ചിരിക്കുന്നതുപോലെ നിങ്ങൾക്ക് നെറ്റ്uവർക്ക് ഇന്റർഫേസ് IP ക്രമീകരണങ്ങൾ സജ്ജമാക്കാൻ കഴിയും. നിങ്ങൾ പൂർത്തിയാക്കുമ്പോൾ, കോൺഫിഗറേഷൻ സംരക്ഷിക്കാനും പുറത്തുകടക്കാനും [tab] കീ ഉപയോഗിച്ച് ശരിയിലേക്ക് നാവിഗേറ്റ് ചെയ്യുക.

നെറ്റ്uവർക്ക് ഇന്റർഫേസ് പുതിയ കോൺഫിഗറേഷൻ പ്രയോഗിക്കുന്നതിന്, nmtui-connect കമാൻഡ് എക്uസിക്യൂട്ട് ചെയ്യുക, നിങ്ങൾ നിയന്ത്രിക്കാൻ ആഗ്രഹിക്കുന്ന ഇന്റർഫേസ് തിരഞ്ഞെടുത്ത് താഴെയുള്ള സ്uക്രീൻഷോട്ടുകളിൽ അവതരിപ്പിച്ചിരിക്കുന്നതുപോലെ, ഡീകമ്മീഷൻ ചെയ്യുന്നതിനും ഇന്റർഫേസ് റൈസ്-അപ്പ് ചെയ്യുന്നതിനും ഡീആക്ടിവേറ്റ്/ആക്uറ്റിവേറ്റ് ഓപ്uഷനിൽ അമർത്തുക.

# nmtui-connect

നെറ്റ്uവർക്ക് ഇന്റർഫേസ് ക്രമീകരണങ്ങൾ കാണുന്നതിന്, നിങ്ങൾക്ക് ഇന്റർഫേസ് ഫയലിന്റെ ഉള്ളടക്കം പരിശോധിക്കാം അല്ലെങ്കിൽ താഴെയുള്ള കമാൻഡുകൾ നിങ്ങൾക്ക് നൽകാം.

# ifconfig enp0s3
# ip a
# ping -c2 google.com

മെഷീൻ നെറ്റ്uവർക്ക് ഇന്റർഫേസുകളെക്കുറിച്ചുള്ള വിവരങ്ങൾ നേടുന്നതിനും വേഗത നിയന്ത്രിക്കുന്നതിനും ലിങ്ക് ചെയ്യുന്നതിനും ഉപയോഗിക്കാവുന്ന മറ്റ് ഉപയോഗപ്രദമായ യൂട്ടിലിറ്റികൾ ethtool, mii-tool എന്നിവയാണ്.

# ethtool enp0s3
# mii-tool enp0s3

നിങ്ങളുടെ മെഷീൻ നെറ്റ്uവർക്കിംഗിന്റെ ഒരു പ്രധാന വശം, എല്ലാ ഓപ്പൺ നെറ്റ്uവർക്ക് സോക്കറ്റുകളും ലിസ്റ്റുചെയ്യുക എന്നതാണ്, ഏതൊക്കെ പോർട്ടുകളിൽ ഏതൊക്കെ പ്രോഗ്രാമുകൾ കേൾക്കുന്നുവെന്നും സ്ഥാപിച്ച നെറ്റ്uവർക്ക് കണക്ഷനുകളുടെ അവസ്ഥ എന്താണെന്നും കാണുന്നതിന്.

ലിസണിംഗ് സ്റ്റേറ്റിൽ TCP അല്ലെങ്കിൽ UDP സോക്കറ്റുകൾ തുറന്നിട്ടുള്ള എല്ലാ സെർവറുകളും ലിസ്റ്റുചെയ്യുന്നതിന് ഇനിപ്പറയുന്ന കമാൻഡുകൾ നൽകുക. എന്നിരുന്നാലും, UDP ഒരു കണക്ഷൻലെസ്സ് പ്രോട്ടോക്കോൾ ആയതിനാൽ UDP സെർവർ ഒരു സോക്കറ്റ് അവസ്ഥയും ലിസ്റ്റ് ചെയ്യില്ല, അത് നെറ്റ്uവർക്കിലൂടെ പാക്കറ്റുകൾ മാത്രം അയയ്ക്കുകയും കണക്ഷനുകൾ സ്ഥാപിക്കാതിരിക്കുകയും ചെയ്യുന്നു.

# netstat -tulpn
# ss -tulpn
# lsof -i4 -6

CentOS 7-ൽ സേവനങ്ങൾ നിയന്ത്രിക്കുക

CentOS 7, systemctl യൂട്ടിലിറ്റി വഴി ഡെമണുകളോ സേവനമോ കൈകാര്യം ചെയ്യുന്നു. എല്ലാ സേവന നിലകളും ലിസ്റ്റുചെയ്യുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് നൽകുക.

# systemctl list-units

സിസ്റ്റം ആരംഭിക്കുമ്പോൾ ഒരു ഡെമൺ അല്ലെങ്കിൽ സേവനം സ്വയമേവ ആരംഭിക്കാൻ പ്രാപ്തമാക്കിയിട്ടുണ്ടോ എന്ന് പരിശോധിക്കുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് നൽകുക.

# systemctl list-unit-files -t service

നിങ്ങളുടെ സിസ്റ്റത്തിലുള്ള പഴയ SysV സേവനങ്ങൾ ലിസ്റ്റ് ചെയ്യുന്നതിനും അവ പ്രവർത്തനരഹിതമാക്കുന്നതിനും താഴെ പറയുന്ന chkconfig കമാൻഡുകൾ നൽകുക.

# chkconfig --list
# chkconfig service_name off

5. CentOS 7-ൽ ആവശ്യമില്ലാത്ത സേവനങ്ങൾ പ്രവർത്തനരഹിതമാക്കുക

CentOS 7 ഇൻസ്റ്റാൾ ചെയ്ത ശേഷം, മുകളിലെ കമാൻഡുകൾ പ്രവർത്തിപ്പിച്ച് സിസ്റ്റത്തിൽ ഏതൊക്കെ സേവനങ്ങളാണ് പ്രവർത്തിക്കുന്നതെന്ന് ലിസ്റ്റ് ചെയ്യാനും നിങ്ങളുടെ സിസ്റ്റത്തിനെതിരായ ആക്രമണ വെക്റ്ററുകൾ കുറയ്ക്കുന്നതിന് അവ പ്രവർത്തനരഹിതമാക്കാനും നീക്കം ചെയ്യാനും ശുപാർശ ചെയ്യുന്നു.

ഉദാഹരണത്തിന്, പോസ്റ്റ്ഫിക്സ് ഡെമൺ CentOS 7-ൽ സ്ഥിരസ്ഥിതിയായി ഇൻസ്റ്റാൾ ചെയ്യുകയും പ്രവർത്തനക്ഷമമാക്കുകയും ചെയ്യുന്നു. നിങ്ങളുടെ സിസ്റ്റത്തിന് ഒരു മെയിൽ സെർവർ പ്രവർത്തിപ്പിക്കേണ്ട ആവശ്യമില്ലെങ്കിൽ, താഴെ പറയുന്ന കമാൻഡുകൾ നൽകി പോസ്റ്റ്ഫിക്സ് സേവനം നിർത്തുകയും പ്രവർത്തനരഹിതമാക്കുകയും നീക്കം ചെയ്യുകയും ചെയ്യുന്നതാണ് നല്ലത്.

# systemctl stop postfix
# systemctl disable postfix
# yum remove postfix

നിങ്ങളുടെ സിസ്റ്റത്തിൽ പ്രവർത്തിക്കുന്ന അനാവശ്യ സേവനങ്ങൾ എന്താണെന്ന് കണ്ടെത്തുന്നതിനും തിരിച്ചറിയുന്നതിനും അവ പ്രവർത്തനരഹിതമാക്കുകയോ നീക്കം ചെയ്യുകയോ ചെയ്യുന്നതിനായി ടോപ്പ് അല്ലെങ്കിൽ pstree കമാൻഡുകൾക്ക് പുറമേ.

സ്ഥിരസ്ഥിതിയായി, Pstree യൂട്ടിലിറ്റി CentOS 7-ൽ ഇൻസ്റ്റാൾ ചെയ്തിട്ടില്ല. ഇത് ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന് ഇനിപ്പറയുന്ന കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുക.

# yum install psmisc
# pstree -p

CentOs 7-ൽ ഫയർവാൾ പ്രവർത്തനക്ഷമമാക്കുക

iptables നിയമങ്ങൾ കൈകാര്യം ചെയ്യുന്നതിനായി ഇന്ററാക്ടുകൾ ഉപയോഗിക്കുന്ന പ്രധാന ഫയർവാൾ യൂട്ടിലിറ്റിയാണ് ഫയർവാൾഡ്.
CentOS 7-ൽ ഫയർവാൾ പ്രവർത്തനക്ഷമമാക്കുന്നതിനും ആരംഭിക്കുന്നതിനും പരിശോധിക്കുന്നതിനും, ഇനിപ്പറയുന്ന കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുക.

# systemctl enable firewalld
# systemctl start firewalld
# systemctl status firewalld

ഇൻകമിംഗ് കണക്ഷനുകളിലേക്ക് ഒരു നിർദ്ദിഷ്ട സേവനം തുറക്കുന്നതിന്, ഫയർവാൾഡ് നിയമങ്ങളിൽ ആപ്ലിക്കേഷൻ ഇതിനകം ഉണ്ടോയെന്ന് ആദ്യം പരിശോധിച്ചുറപ്പിക്കുക, തുടർന്ന്, SSH ഇൻകമിംഗ് കണക്ഷനുകൾ അനുവദിക്കുന്ന ചുവടെയുള്ള ഉദാഹരണത്തിൽ കാണിച്ചിരിക്കുന്നതുപോലെ സേവനത്തിനുള്ള നിയമം ചേർക്കുക. റൂൾ ശാശ്വതമായി ചേർക്കാൻ --permanent സ്വിച്ച് ഉപയോഗിക്കുക.

# firewall-cmd --add-service=[tab]  #List services
# firewall-cmd --add-service=ssh
# firewall-cmd --add-service=ssh --permanent

ഫയർവാൾഡ് നിയമങ്ങളിൽ സേവനം ഇപ്പോൾ തന്നെ നിർവചിച്ചിട്ടുണ്ടെങ്കിൽ, ചുവടെയുള്ള ഉദാഹരണത്തിൽ കാണിച്ചിരിക്കുന്നതുപോലെ നിങ്ങൾക്ക് സ്വയം സേവന പോർട്ട് ചേർക്കാവുന്നതാണ്.

# firewall-cmd --add-port=22/tcp --permanent
# firewall-cmd --reload     #Apply the rule on-fly

ഉപയോക്തൃ അക്കൗണ്ടുകളിൽ സുഡോ അനുമതികൾ പ്രവർത്തനക്ഷമമാക്കുക

ഒരു സാധാരണ ഉപയോക്താവിന് റൂട്ട് അനുമതികൾ നൽകുന്നതിന്, ആദ്യം adduser കമാൻഡ് നൽകി ഉപയോക്താവിനെ സൃഷ്uടിക്കുക, ഉപയോക്താവിനായി പാസ്uവേഡ് സജ്ജമാക്കുക, താഴെ പറയുന്ന കമാൻഡ് എക്uസിക്യൂട്ട് ചെയ്uത് ഉപയോക്താവിന് റൂട്ട് അനുമതികൾ നൽകുക, അത് അഡ്മിനിസ്ട്രേറ്റീവ് വീൽ ഗ്രൂപ്പിലേക്ക് പുതിയ ഉപയോക്താവിനെ ചേർക്കുന്നു.

# adduser tecmint
# passwd tecmint
# usermod -aG wheel tecmint

പുതിയ ഉപയോക്താവിന് റൂട്ട് പ്രിവിലേജുകൾ ഉണ്ടോ എന്ന് പരിശോധിക്കാൻ, ഉപയോക്താവിന്റെ ക്രെഡൻഷ്യലുകൾ ഉപയോഗിച്ച് സിസ്റ്റത്തിലേക്ക് ലോഗിൻ ചെയ്ത് താഴെയുള്ള ഉദ്ധരണിയിൽ കാണിച്ചിരിക്കുന്നതുപോലെ sudo അനുമതികളോടെ yum കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

# su - tecmint
# sudo yum update

CentOS 7-ൽ SSH പബ്ലിക് കീ പ്രാമാണീകരണം കോൺഫിഗർ ചെയ്യുക

നിങ്ങളുടെ സെർവർ SSH സുരക്ഷിതമാക്കുന്നതിനും ലോഗിൻ ചെയ്യുന്നതിനായി ഒരു സ്വകാര്യ SSH കീ ഉപയോഗിച്ച് നിങ്ങളുടെ സെർവറിന്റെ സുരക്ഷ വർദ്ധിപ്പിക്കുന്നതിന് പൊതു കീ പ്രാമാണീകരണം സജ്ജീകരിക്കുന്നതിനും, താഴെ പറയുന്ന ഒരു കമാൻഡ് ഉപയോഗിച്ച് ആദ്യം ഒരു SSH കീ പെയർ സൃഷ്ടിക്കുക.

നിങ്ങൾക്ക് SSH വഴി സെർവർ മാനേജ്uമെന്റ് ഓട്ടോമേറ്റ് ചെയ്യണമെങ്കിൽ പാസ്uഫ്രെയ്uസ് നൽകരുത്.

# ssh-keygen -t RSA

SSH കീ ജോഡികൾ ജനറേറ്റ് ചെയ്uത ശേഷം, ചുവടെയുള്ള കമാൻഡ് നൽകി നിങ്ങൾ ബന്ധിപ്പിക്കാൻ ആഗ്രഹിക്കുന്ന സെർവറിലേക്ക് കീ പകർത്തുക. തുടക്കത്തിൽ, പബ്ലിക് കീ പകർത്തുന്നതിനായി നിങ്ങളുടെ റിമോട്ട് SSH ഉപയോക്തൃ പാസ്uവേഡ് നൽകുക.

# ssh-copy-id [email _SERVER_IP

SSH പബ്ലിക് കീ റിമോട്ട് സെർവറിലേക്ക് പകർത്തിയ ശേഷം, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് റിമോട്ട് SSH സെർവറിലേക്ക് ലോഗിൻ ചെയ്യുക.

# ssh [email _SERVER_IP

അവസാനമായി, SSH സെർവർ സുരക്ഷിതമാക്കുന്നതിന്, നിങ്ങളുടെ ടെക്സ്റ്റ് എഡിറ്റർ റൂട്ട് ഉപയോഗിച്ച് കോൺഫിഗറേഷൻ SSH ഫയൽ /etc/ssh/sshd_config തുറന്ന് അത് അതെ എന്നതിലേക്ക് ഇല്ല.

PermitRootLogin no

ക്രമീകരണം പ്രയോഗിക്കുന്നതിന് നിങ്ങൾ SSH സേവനം പുനരാരംഭിക്കേണ്ടതുണ്ട്, അതുവഴി അത് പുതിയ കോൺഫിഗറേഷൻ ഉപയോഗിക്കും.

# systemctl restart sshd

അത്രയേയുള്ളൂ! പുതിയ ഇൻസ്റ്റാൾ ചെയ്ത CentOS സിസ്റ്റത്തിൽ അല്ലെങ്കിൽ സിസ്റ്റത്തിൽ ദൈനംദിന ജോലികൾ ചെയ്യുന്നതിന് ഓരോ സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്ററും അറിയേണ്ടതും പ്രയോഗിക്കേണ്ടതുമായ കുറച്ച് അടിസ്ഥാന ക്രമീകരണങ്ങളും കമാൻഡുകളും മാത്രമാണിത്.

CentOS 7 സെർവർ സുരക്ഷിതമാക്കാനും കഠിനമാക്കാനും, ഇനിപ്പറയുന്ന ലേഖനങ്ങൾ പരിശോധിക്കുക.

  1. CentOS 7 കഠിനമാക്കാനും സുരക്ഷിതമാക്കാനുമുള്ള മെഗാ ഗൈഡ് - ഭാഗം 1
  2. CentOS 7 കഠിനമാക്കാനും സുരക്ഷിതമാക്കാനുമുള്ള മെഗാ ഗൈഡ് - ഭാഗം 2

ഈ CentOS 7 സിസ്റ്റത്തിൽ വെബ്uസൈറ്റുകൾ വിന്യസിക്കാൻ നിങ്ങൾ പദ്ധതിയിടുകയാണെങ്കിൽ, LEMP സ്റ്റാക്ക് എങ്ങനെ സജ്ജീകരിക്കാമെന്നും കോൺഫിഗർ ചെയ്യാമെന്നും അറിയുക.