ലിനക്സ് സെർവറുകൾക്കുള്ള 25 ഹാർഡനിംഗ് സുരക്ഷാ നുറുങ്ങുകൾ


ലിനക്സ് ഡിഫോൾട്ടായി സുരക്ഷിതമാണെന്നും കുറച്ച് വിപുലീകരണത്തിന് സമ്മതിച്ചിട്ടുണ്ടെന്നും എല്ലാവരും പറയുന്നു (ഇത് ചർച്ചാവിഷയമാണ്). എന്നിരുന്നാലും, Linux-ൽ സ്ഥിരസ്ഥിതിയായി ഇൻ-ബിൽറ്റ് സുരക്ഷാ മോഡൽ ഉണ്ട്. കൂടുതൽ സുരക്ഷിതമായ സിസ്റ്റം ഉണ്ടാക്കാൻ സഹായിച്ചേക്കാവുന്ന നിങ്ങളുടെ ആവശ്യാനുസരണം ഇത് ട്യൂൺ ചെയ്ത് ഇഷ്ടാനുസൃതമാക്കേണ്ടതുണ്ട്. ലിനക്സ് കൈകാര്യം ചെയ്യാൻ ബുദ്ധിമുട്ടാണ്, പക്ഷേ കൂടുതൽ വഴക്കവും കോൺഫിഗറേഷൻ ഓപ്ഷനുകളും വാഗ്ദാനം ചെയ്യുന്നു.

ഒരു പ്രൊഡക്ഷനിലെ ഒരു സിസ്റ്റം ഹാക്കർമാരുടെയും ക്രാക്കർമാരുടെയും കൈകളിൽ നിന്ന് സുരക്ഷിതമാക്കുക എന്നത് ഒരു സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്ററെ സംബന്ധിച്ചിടത്തോളം ഒരു വെല്ലുവിളി നിറഞ്ഞ ജോലിയാണ്. “ലിനക്സ് ബോക്സ് എങ്ങനെ സുരക്ഷിതമാക്കാം” അല്ലെങ്കിൽ “ഒരു ലിനക്സ് ബോക്സ് കാഠിന്യം” എന്നതുമായി ബന്ധപ്പെട്ട ഞങ്ങളുടെ ആദ്യ ലേഖനമാണിത്. ഈ പോസ്റ്റിൽ നിങ്ങളുടെ Linux സിസ്റ്റം സുരക്ഷിതമാക്കുന്നതിനുള്ള 25 ഉപയോഗപ്രദമായ നുറുങ്ങുകളും തന്ത്രങ്ങളും ഞങ്ങൾ വിശദീകരിക്കും. നിങ്ങളുടെ സിസ്റ്റം സുരക്ഷിതമാക്കാൻ താഴെയുള്ള നുറുങ്ങുകളും തന്ത്രങ്ങളും നിങ്ങളെ സഹായിക്കുമെന്ന് പ്രതീക്ഷിക്കുന്നു.

1. ഫിസിക്കൽ സിസ്റ്റം സെക്യൂരിറ്റി

സിഡി/ഡിവിഡി, ബാഹ്യ ഉപകരണങ്ങൾ, ബയോസിലെ ഫ്ലോപ്പി ഡ്രൈവ് എന്നിവയിൽ നിന്നുള്ള ബൂട്ടിംഗ് പ്രവർത്തനരഹിതമാക്കാൻ ബയോസ് കോൺഫിഗർ ചെയ്യുക. അടുത്തതായി, ബയോസ് പാസ്uവേഡ് പ്രവർത്തനക്ഷമമാക്കുകയും നിങ്ങളുടെ സിസ്റ്റത്തിന്റെ ഫിസിക്കൽ ആക്uസസ് നിയന്ത്രിക്കുന്നതിന് പാസ്uവേഡ് ഉപയോഗിച്ച് GRUB-നെ പരിരക്ഷിക്കുകയും ചെയ്യുക.

  1. ലിനക്സ് സെർവറുകൾ പരിരക്ഷിക്കുന്നതിന് GRUB പാസ്uവേഡ് സജ്ജമാക്കുക

2. ഡിസ്ക് പാർട്ടീഷനുകൾ

എന്തെങ്കിലും ദുരന്തം സംഭവിച്ചാൽ ഉയർന്ന ഡാറ്റ സുരക്ഷ ലഭിക്കുന്നതിന് വ്യത്യസ്ത പാർട്ടീഷനുകൾ ഉണ്ടായിരിക്കേണ്ടത് പ്രധാനമാണ്. വ്യത്യസ്ത പാർട്ടീഷനുകൾ സൃഷ്ടിക്കുന്നതിലൂടെ, ഡാറ്റ വേർതിരിക്കാനും ഗ്രൂപ്പുചെയ്യാനും കഴിയും. ഒരു അപ്രതീക്ഷിത അപകടം സംഭവിക്കുമ്പോൾ, ആ പാർട്ടീഷന്റെ ഡാറ്റയ്ക്ക് മാത്രമേ കേടുപാടുകൾ സംഭവിക്കുകയുള്ളൂ, അതേസമയം മറ്റ് പാർട്ടീഷനുകളിലെ ഡാറ്റ നിലനിൽക്കും. നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന പ്രത്യേക പാർട്ടീഷനുകൾ ഉണ്ടെന്ന് ഉറപ്പുവരുത്തുക കൂടാതെ മൂന്നാം കക്ഷി ആപ്ലിക്കേഷനുകൾ /opt-ന് കീഴിൽ പ്രത്യേക ഫയൽ സിസ്റ്റങ്ങളിൽ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക.

/
/boot
/usr
/var
/home
/tmp
/opt

3. അപകടസാധ്യത കുറയ്ക്കുന്നതിന് പാക്കേജുകൾ ചെറുതാക്കുക

എല്ലാത്തരം സേവനങ്ങളും ഇൻസ്റ്റാൾ ചെയ്യാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ?. പാക്കേജുകളിലെ കേടുപാടുകൾ ഒഴിവാക്കാൻ ഉപയോഗശൂന്യമായ പാക്കേജുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നത് ഒഴിവാക്കാൻ ശുപാർശ ചെയ്യുന്നു. ഒരു സേവനത്തിന്റെ വിട്ടുവീഴ്ച മറ്റ് സേവനങ്ങളുടെ വിട്ടുവീഴ്ചയിലേക്ക് നയിച്ചേക്കാവുന്ന അപകടസാധ്യത ഇത് കുറച്ചേക്കാം. അപകടസാധ്യത കുറയ്ക്കുന്നതിന് സെർവറിൽ നിന്ന് അനാവശ്യ സേവനങ്ങൾ കണ്ടെത്തി നീക്കം ചെയ്യുക അല്ലെങ്കിൽ പ്രവർത്തനരഹിതമാക്കുക. റൺലവൽ 3-ൽ പ്രവർത്തിക്കുന്ന സേവനങ്ങൾ കണ്ടെത്താൻ 'chkconfig' കമാൻഡ് ഉപയോഗിക്കുക.

# /sbin/chkconfig --list |grep '3:on'

ഏതെങ്കിലും അനാവശ്യ സേവനം പ്രവർത്തിക്കുന്നുണ്ടെന്ന് നിങ്ങൾ കണ്ടെത്തിക്കഴിഞ്ഞാൽ, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് അവ പ്രവർത്തനരഹിതമാക്കുക.

# chkconfig serviceName off

ഒരു സിസ്റ്റത്തിൽ ഇൻസ്റ്റോൾ ചെയ്തിരിക്കുന്ന എല്ലാ പാക്കേജുകളും ലിസ്റ്റ് ചെയ്യാനും താഴെ പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് അവ നീക്കം ചെയ്യാനും yum അല്ലെങ്കിൽ apt-get ടൂളുകൾ പോലെയുള്ള RPM പാക്കേജ് മാനേജർ ഉപയോഗിക്കുക.

# yum -y remove package-name
# sudo apt-get remove package-name

  1. 5 chkconfig കമാൻഡ് ഉദാഹരണങ്ങൾ
  2. ആർപിഎം കമാൻഡുകളുടെ 20 പ്രായോഗിക ഉദാഹരണങ്ങൾ
  3. Linux പാക്കേജ് മാനേജ്മെന്റിനുള്ള 20 Linux YUM കമാൻഡുകൾ
  4. 25 APT-GET, APT-CACHE കമാൻഡുകൾ പാക്കേജ് മാനേജുമെന്റ് നിയന്ത്രിക്കാൻ

4. ലിസണിംഗ് നെറ്റ്uവർക്ക് പോർട്ടുകൾ പരിശോധിക്കുക

'netstat' നെറ്റ്uവർക്കിംഗ് കമാൻഡിന്റെ സഹായത്തോടെ നിങ്ങൾക്ക് എല്ലാ ഓപ്പൺ പോർട്ടുകളും അനുബന്ധ പ്രോഗ്രാമുകളും കാണാൻ കഴിയും. ഞാൻ മുകളിൽ പറഞ്ഞതുപോലെ, സിസ്റ്റത്തിൽ നിന്നുള്ള എല്ലാ അനാവശ്യ നെറ്റ്uവർക്ക് സേവനങ്ങളും പ്രവർത്തനരഹിതമാക്കാൻ 'chkconfig' കമാൻഡ് ഉപയോഗിക്കുക.

# netstat -tulpn

  1. ലിനക്സിലെ നെറ്റ്uവർക്ക് മാനേജ്മെന്റിനുള്ള 20 നെറ്റ്സ്റ്റാറ്റ് കമാൻഡുകൾ

5. സുരക്ഷിത ഷെൽ (SSH) ഉപയോഗിക്കുക

ടെൽനെറ്റും rlogin പ്രോട്ടോക്കോളുകളും പ്ലെയിൻ ടെക്uസ്uറ്റാണ് ഉപയോഗിക്കുന്നത്, സുരക്ഷാ ലംഘനമായ എൻക്രിപ്റ്റ് ചെയ്ത ഫോർമാറ്റല്ല. സെർവറുമായുള്ള ആശയവിനിമയ സമയത്ത് എൻക്രിപ്ഷൻ സാങ്കേതികവിദ്യ ഉപയോഗിക്കുന്ന ഒരു സുരക്ഷിത പ്രോട്ടോക്കോൾ ആണ് SSH.

ആവശ്യമില്ലെങ്കിൽ ഒരിക്കലും റൂട്ട് ആയി നേരിട്ട് ലോഗിൻ ചെയ്യരുത്. കമാൻഡുകൾ എക്സിക്യൂട്ട് ചെയ്യാൻ sudo ഉപയോഗിക്കുക. sudo /etc/sudoers ഫയലിൽ വ്യക്തമാക്കിയിട്ടുണ്ട്, VI എഡിറ്ററിൽ തുറക്കുന്ന visudo യൂട്ടിലിറ്റി ഉപയോഗിച്ച് എഡിറ്റ് ചെയ്യാനും കഴിയും.

ഡിഫോൾട്ട് SSH 22 പോർട്ട് നമ്പർ മറ്റേതെങ്കിലും ഉയർന്ന തലത്തിലുള്ള പോർട്ട് നമ്പർ ഉപയോഗിച്ച് മാറ്റാനും ശുപാർശ ചെയ്യുന്നു. പ്രധാന SSH കോൺഫിഗറേഷൻ ഫയൽ തുറന്ന് ഉപയോക്താക്കളെ ആക്uസസ് ചെയ്യാൻ നിയന്ത്രിക്കുന്നതിന് ഇനിപ്പറയുന്ന ചില പാരാമീറ്ററുകൾ ഉണ്ടാക്കുക.

# vi /etc/ssh/sshd_config
PermitRootLogin no
AllowUsers username
Protocol 2

  1. SSH സെർവർ സുരക്ഷിതമാക്കുന്നതിനും പരിരക്ഷിക്കുന്നതിനുമുള്ള 5 മികച്ച സമ്പ്രദായങ്ങൾ

6. സിസ്റ്റം അപ്ഡേറ്റ് ചെയ്യുക

ഏറ്റവും പുതിയ റിലീസുകളുടെ പാച്ചുകൾ, സുരക്ഷാ പരിഹാരങ്ങൾ, ലഭ്യമാകുമ്പോൾ കേർണൽ എന്നിവ ഉപയോഗിച്ച് എല്ലായ്പ്പോഴും സിസ്റ്റം അപ്ഡേറ്റ് ചെയ്യുക.

# yum updates
# yum check-update

7. ലോക്ക്ഡൗൺ ക്രോൺജോബ്സ്

ക്രോണിന് അതിന്റേതായ ബിൽറ്റ്-ഇൻ ഫീച്ചർ ഉണ്ട്, അവിടെ ആർക്കൊക്കെ ജോലി ചെയ്യാമെന്നും ആർക്കൊക്കെ പ്രവർത്തിക്കാൻ താൽപ്പര്യമുണ്ടാകില്ല എന്നും വ്യക്തമാക്കാൻ ഇത് അനുവദിക്കുന്നു. /etc/cron.allow, /etc/cron.deny എന്നിങ്ങനെ വിളിക്കപ്പെടുന്ന ഫയലുകളുടെ ഉപയോഗമാണ് ഇത് നിയന്ത്രിക്കുന്നത്. ക്രോൺ ഉപയോഗിച്ച് ഒരു ഉപയോക്താവിനെ ലോക്ക് ചെയ്യാൻ, cron.deny എന്നതിൽ ഉപയോക്തൃനാമങ്ങൾ ചേർക്കുകയും cron.allow ഫയലിൽ ക്രോൺ ആഡ് പ്രവർത്തിപ്പിക്കാൻ ഉപയോക്താവിനെ അനുവദിക്കുകയും ചെയ്യുക. ക്രോൺ ഉപയോഗിക്കുന്നതിൽ നിന്ന് എല്ലാ ഉപയോക്താക്കളെയും പ്രവർത്തനരഹിതമാക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, cron.deny ഫയലിലേക്ക് 'ALL' ലൈൻ ചേർക്കുക.

# echo ALL >>/etc/cron.deny

  1. ലിനക്സിലെ 11 ക്രോൺ ഷെഡ്യൂളിംഗ് ഉദാഹരണങ്ങൾ

8. കണ്ടുപിടിക്കാൻ USB സ്റ്റിക്ക് പ്രവർത്തനരഹിതമാക്കുക

മോഷ്ടിക്കുന്നതിൽ നിന്ന് ഡാറ്റ പരിരക്ഷിക്കുന്നതിനും സുരക്ഷിതമാക്കുന്നതിനുമായി സിസ്റ്റത്തിൽ യുഎസ്ബി സ്റ്റിക്ക് ഉപയോഗിക്കുന്നതിൽ നിന്ന് ഉപയോക്താക്കളെ നിയന്ത്രിക്കാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നത് പലപ്പോഴും സംഭവിക്കാറുണ്ട്. '/etc/modprobe.d/no-usb' എന്ന ഫയൽ സൃഷ്uടിക്കുക, താഴെ വരി ചേർക്കുന്നത് USB സംഭരണം കണ്ടെത്തില്ല.

install usb-storage /bin/true

9. SELinux ഓണാക്കുക

സെക്യൂരിറ്റി-എൻഹാൻസ്ഡ് ലിനക്സ് (SELinux) എന്നത് കേർണലിൽ നൽകിയിരിക്കുന്ന ഒരു നിർബന്ധിത ആക്സസ് കൺട്രോൾ സെക്യൂരിറ്റി മെക്കാനിസമാണ്. SELinux പ്രവർത്തനരഹിതമാക്കുക എന്നതിനർത്ഥം സിസ്റ്റത്തിൽ നിന്ന് സുരക്ഷാ സംവിധാനം നീക്കം ചെയ്യുക എന്നാണ്. നിങ്ങളുടെ സിസ്റ്റം ഇന്റർനെറ്റിൽ അറ്റാച്ച് ചെയ്uത് പൊതുജനങ്ങൾക്ക് ആക്uസസ് ചെയ്uതിട്ടുണ്ടെങ്കിൽ, നീക്കംചെയ്യുന്നതിന് മുമ്പ് രണ്ടുതവണ ശ്രദ്ധാപൂർവ്വം ചിന്തിക്കുക, അതിനെക്കുറിച്ച് കുറച്ച് കൂടി ചിന്തിക്കുക.

SELinux മൂന്ന് അടിസ്ഥാന പ്രവർത്തന രീതികൾ നൽകുന്നു.

  1. നിർവഹണം: മെഷീനിൽ SELinux സുരക്ഷാ നയം പ്രവർത്തനക്ഷമമാക്കുകയും നടപ്പിലാക്കുകയും ചെയ്യുന്ന ഡിഫോൾട്ട് മോഡാണിത്.
  2. അനുവദനീയം: ഈ മോഡിൽ, SELinux സിസ്റ്റത്തിൽ സുരക്ഷാ നയം നടപ്പിലാക്കില്ല, മുന്നറിയിപ്പ് നൽകുകയും പ്രവർത്തനങ്ങൾ ലോഗ് ചെയ്യുകയും ചെയ്യുക. SELinux സംബന്ധമായ പ്രശ്നങ്ങൾ പരിഹരിക്കുന്നതിന് ഈ മോഡ് വളരെ ഉപയോഗപ്രദമാണ്.
  3. അപ്രാപ്uതമാക്കി: SELinux ഓഫാക്കി.

'system-config-selinux', 'getenforce' അല്ലെങ്കിൽ 'sestatus' കമാൻഡുകൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് കമാൻഡ് ലൈനിൽ നിന്ന് SELinux മോഡിന്റെ നിലവിലെ അവസ്ഥ കാണാൻ കഴിയും.

# sestatus

ഇത് പ്രവർത്തനരഹിതമാണെങ്കിൽ, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് SELinux പ്രവർത്തനക്ഷമമാക്കുക.

# setenforce enforcing

'/etc/selinux/config' ഫയലിൽ നിന്നും ഇത് കൈകാര്യം ചെയ്യാവുന്നതാണ്, അവിടെ നിങ്ങൾക്ക് ഇത് പ്രവർത്തനക്ഷമമാക്കാനോ പ്രവർത്തനരഹിതമാക്കാനോ കഴിയും.

10. കെഡിഇ/ഗ്നോം ഡെസ്ക്ടോപ്പുകൾ നീക്കം ചെയ്യുക

നിങ്ങളുടെ സമർപ്പിത LAMP സെർവറിൽ KDE അല്ലെങ്കിൽ GNOME പോലുള്ള X വിൻഡോ ഡെസ്ക്ടോപ്പുകൾ പ്രവർത്തിപ്പിക്കേണ്ട ആവശ്യമില്ല. സെർവറിന്റെയും പ്രകടനത്തിന്റെയും സുരക്ഷ വർദ്ധിപ്പിക്കുന്നതിന് നിങ്ങൾക്ക് അവ നീക്കംചെയ്യാനോ പ്രവർത്തനരഹിതമാക്കാനോ കഴിയും. ലളിതമായി പ്രവർത്തനരഹിതമാക്കുന്നതിന്, '/etc/inittab' ഫയൽ തുറന്ന് റൺ ലെവൽ 3 ആയി സജ്ജമാക്കുക. സിസ്റ്റത്തിൽ നിന്ന് ഇത് പൂർണ്ണമായും നീക്കം ചെയ്യണമെങ്കിൽ താഴെയുള്ള കമാൻഡ് ഉപയോഗിക്കുക.

# yum groupremove "X Window System"

11. IPv6 ഓഫാക്കുക

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

# vi /etc/sysconfig/network
NETWORKING_IPV6=no
IPV6INIT=no

12. പഴയ പാസ്uവേഡുകൾ ഉപയോഗിക്കാൻ ഉപയോക്താക്കളെ നിയന്ത്രിക്കുക

പഴയ അതേ പാസ്uവേഡുകൾ ഉപയോഗിക്കാൻ ഉപയോക്താക്കളെ അനുവദിക്കാതിരിക്കണമെങ്കിൽ ഇത് വളരെ ഉപകാരപ്രദമാണ്. പഴയ പാസ്uവേഡ് ഫയൽ /etc/security/opasswd എന്നതിൽ സ്ഥിതിചെയ്യുന്നു. PAM മൊഡ്യൂൾ ഉപയോഗിച്ച് ഇത് നേടാനാകും.

RHEL/CentOS/Fedora ന് കീഴിൽ '/etc/pam.d/system-auth' ഫയൽ തുറക്കുക.

# vi /etc/pam.d/system-auth

Ubuntu/Debian/Linux Mint-ന് കീഴിൽ '/etc/pam.d/common-password' ഫയൽ തുറക്കുക.

# vi /etc/pam.d/common-password

'auth' വിഭാഗത്തിലേക്ക് ഇനിപ്പറയുന്ന വരി ചേർക്കുക.

auth        sufficient    pam_unix.so likeauth nullok

ഒരു ഉപയോക്താവിനെ അവന്റെ അല്ലെങ്കിൽ അവളുടെ അവസാന 5 പാസ്uവേഡ് വീണ്ടും ഉപയോഗിക്കുന്നതിൽ നിന്ന് അനുവദിക്കാതിരിക്കാൻ 'പാസ്uവേഡ്' വിഭാഗത്തിലേക്ക് ഇനിപ്പറയുന്ന വരി ചേർക്കുക.

password   sufficient    pam_unix.so nullok use_authtok md5 shadow remember=5

അവസാനത്തെ 5 പാസ്uവേഡുകൾ മാത്രമേ സെർവർ ഓർമ്മിക്കുന്നുള്ളൂ. നിങ്ങൾ അവസാനത്തെ 5 പഴയ പാസ്uവേഡുകളിൽ ഏതെങ്കിലും ഉപയോഗിക്കാൻ ശ്രമിച്ചാൽ, നിങ്ങൾക്ക് ഒരു പിശക് ലഭിക്കും.

Password has been already used. Choose another.

13. ഉപയോക്താവിന്റെ പാസ്uവേഡ് കാലഹരണപ്പെടുന്നത് എങ്ങനെ പരിശോധിക്കാം

Linux-ൽ, ഉപയോക്താവിന്റെ പാസ്uവേഡുകൾ എൻക്രിപ്റ്റ് ചെയ്ത ഫോർമാറ്റിൽ '/etc/shadow' ഫയലിൽ സൂക്ഷിക്കുന്നു. ഉപയോക്താവിന്റെ പാസ്uവേഡ് കാലഹരണപ്പെടുന്നത് പരിശോധിക്കാൻ, നിങ്ങൾ 'chage' കമാൻഡ് ഉപയോഗിക്കേണ്ടതുണ്ട്. പാസ്uവേഡ് കാലഹരണപ്പെടൽ വിശദാംശങ്ങളുടെ വിവരങ്ങളും അവസാന പാസ്uവേഡ് മാറ്റ തീയതിയും ഇത് പ്രദർശിപ്പിക്കുന്നു. ഒരു ഉപയോക്താവ് അവന്റെ/അവളുടെ പാസ്uവേഡ് എപ്പോൾ മാറ്റണമെന്ന് തീരുമാനിക്കാൻ ഈ വിശദാംശങ്ങൾ സിസ്റ്റം ഉപയോഗിക്കുന്നു.

കാലഹരണപ്പെടുന്ന തീയതിയും സമയവും പോലുള്ള നിലവിലുള്ള ഏതെങ്കിലും ഉപയോക്താവിന്റെ പ്രായമാകൽ വിവരങ്ങൾ കാണുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിക്കുക.

#chage -l username

ഏതൊരു ഉപയോക്താവിന്റെയും പാസ്uവേഡ് പ്രായമാകൽ മാറ്റുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിക്കുക.

#chage -M 60 username
#chage -M 60 -m 7 -W 7 userName

  1. -M പരമാവധി ദിവസങ്ങൾ സജ്ജീകരിക്കുക
  2. -m കുറഞ്ഞ ദിവസങ്ങളുടെ എണ്ണം സജ്ജീകരിക്കുക
  3. -W മുന്നറിയിപ്പിന്റെ ദിവസങ്ങളുടെ എണ്ണം സജ്ജീകരിക്കുക

14. അക്കൗണ്ട് സ്വമേധയാ ലോക്ക് ചെയ്ത് അൺലോക്ക് ചെയ്യുക

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

# passwd -l accountName

ശ്രദ്ധിക്കുക: ലോക്ക് ചെയ്uത ഉപയോക്താവ് ഇപ്പോഴും റൂട്ട് ഉപയോക്താവിന് മാത്രം ലഭ്യമാണ്. എൻക്രിപ്റ്റ് ചെയ്ത പാസ്uവേഡ് മാറ്റി ഒരു (!) സ്ട്രിംഗ് ഉപയോഗിച്ചാണ് ലോക്കിംഗ് നടത്തുന്നത്. ഈ അക്കൗണ്ട് ഉപയോഗിച്ച് ആരെങ്കിലും സിസ്റ്റം ആക്uസസ് ചെയ്യാൻ ശ്രമിക്കുകയാണെങ്കിൽ, അയാൾക്ക് താഴെയുള്ളത് പോലെ ഒരു പിശക് ലഭിക്കും.

# su - accountName
This account is currently not available.

ലോക്ക് ചെയ്uത അക്കൗണ്ടിലേക്ക് അൺലോക്ക് ചെയ്യാനോ ആക്uസസ് പ്രവർത്തനക്ഷമമാക്കാനോ, കമാൻഡ് ഇതായി ഉപയോഗിക്കുക. ഇത് എൻക്രിപ്റ്റ് ചെയ്ത പാസ്uവേഡ് ഉള്ള (!) സ്ട്രിംഗ് നീക്കം ചെയ്യും.

# passwd -u accountName

15. ശക്തമായ പാസ്uവേഡുകൾ നിർബന്ധമാക്കുന്നു

നിരവധി ഉപയോക്താക്കൾ മൃദുവായതോ ദുർബലമായതോ ആയ പാസ്uവേഡുകൾ ഉപയോഗിക്കുന്നു, അവരുടെ പാസ്uവേഡ് നിഘണ്ടു അടിസ്ഥാനമാക്കിയുള്ളതോ ക്രൂരമായ ആക്രമണത്തിലൂടെയോ ഹാക്ക് ചെയ്യപ്പെട്ടേക്കാം. 'pam_cracklib' മൊഡ്യൂൾ PAM (പ്ലഗ്ഗബിൾ ഓതന്റിക്കേഷൻ മൊഡ്യൂളുകൾ) മൊഡ്യൂൾ സ്റ്റാക്കിൽ ലഭ്യമാണ്, ഇത് ശക്തമായ പാസ്uവേഡുകൾ സജ്ജീകരിക്കാൻ ഉപയോക്താവിനെ പ്രേരിപ്പിക്കും. ഒരു എഡിറ്റർ ഉപയോഗിച്ച് ഇനിപ്പറയുന്ന ഫയൽ തുറക്കുക.

ഇതും വായിക്കുക:

# vi /etc/pam.d/system-auth

കൂടാതെ ക്രെഡിറ്റ് പാരാമീറ്ററുകൾ ഉപയോഗിച്ച് ലൈൻ ചേർക്കുക (lcredit, credit, dcredit കൂടാതെ/അല്ലെങ്കിൽ credit യഥാക്രമം ചെറിയക്ഷരം, വലിയക്ഷരം, അക്കം എന്നിവയും മറ്റും)

/lib/security/$ISA/pam_cracklib.so retry=3 minlen=8 lcredit=-1 ucredit=-2 dcredit=-2 ocredit=-1

16. Iptables (ഫയർവാൾ) പ്രവർത്തനക്ഷമമാക്കുക

നിങ്ങളുടെ സെർവറുകളുടെ അനധികൃത ആക്uസസ് സുരക്ഷിതമാക്കുന്നതിന് Linux ഫയർവാൾ പ്രവർത്തനക്ഷമമാക്കാൻ ഇത് വളരെ ശുപാർശ ചെയ്യുന്നു. ഇൻകമിംഗ്, ഔട്ട്uഗോയിംഗ്, ഫോർവേഡിംഗ് പാക്കറ്റുകൾ ഫിൽട്ടറുകൾക്ക് iptables-ൽ നിയമങ്ങൾ പ്രയോഗിക്കുക. നിർദ്ദിഷ്uട udp/tcp പോർട്ട് നമ്പറിൽ അനുവദിക്കുന്നതിനും നിരസിക്കാനുമുള്ള ഉറവിടവും ലക്ഷ്യസ്ഥാന വിലാസവും ഞങ്ങൾക്ക് വ്യക്തമാക്കാം.

  1. അടിസ്ഥാന IPTables ഗൈഡും നുറുങ്ങുകളും

17. Inittab-ൽ Ctrl+Alt+Delete പ്രവർത്തനരഹിതമാക്കുക

മിക്ക ലിനക്സ് വിതരണങ്ങളിലും, 'CTRL-ALT-DELETE' അമർത്തുന്നത് നിങ്ങളുടെ സിസ്റ്റം റീബൂട്ട് പ്രോസസ്സിലേക്ക് കൊണ്ടുപോകും. അതിനാൽ, ആരെങ്കിലും ഇത് തെറ്റായി ചെയ്താൽ, കുറഞ്ഞത് പ്രൊഡക്ഷൻ സെർവറുകളിലെങ്കിലും ഈ ഓപ്ഷൻ പ്രവർത്തനക്ഷമമാക്കുന്നത് നല്ല ആശയമല്ല.

ഇത് '/etc/inittab' ഫയലിൽ നിർവചിച്ചിരിക്കുന്നു, നിങ്ങൾ ആ ഫയലിൽ സൂക്ഷ്മമായി നോക്കിയാൽ ചുവടെയുള്ളതിന് സമാനമായ ഒരു വരി നിങ്ങൾ കാണും. ഡിഫോൾട്ട് ലൈൻ ആയി അഭിപ്രായം പറഞ്ഞിട്ടില്ല. നമ്മൾ അത് അഭിപ്രായം പറയണം. ഈ പ്രത്യേക കീ സീക്വൻസ് സിഗ്നലിംഗ് ഒരു സിസ്റ്റം ഷട്ട്-ഡൗൺ ചെയ്യും.

# Trap CTRL-ALT-DELETE
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

18. ശൂന്യമായ പാസ്uവേഡുകൾക്കായി അക്കൗണ്ടുകൾ പരിശോധിക്കുന്നു

ശൂന്യമായ പാസ്uവേഡ് ഉള്ള ഏതൊരു അക്കൗണ്ടും അർത്ഥമാക്കുന്നത് അത് വെബിൽ ആർക്കും അനധികൃതമായി ആക്uസസ് ചെയ്യുന്നതിനായി തുറന്നിരിക്കുന്നുവെന്നും അത് ഒരു Linux സെർവറിലെ സുരക്ഷയുടെ ഭാഗമാണെന്നും അർത്ഥമാക്കുന്നു. അതിനാൽ, എല്ലാ അക്കൗണ്ടുകൾക്കും ശക്തമായ പാസ്uവേഡുകൾ ഉണ്ടെന്നും ആർക്കും അംഗീകൃത ആക്uസസ്സ് ഇല്ലെന്നും നിങ്ങൾ ഉറപ്പാക്കണം. ശൂന്യമായ പാസ്uവേഡ് അക്കൗണ്ടുകൾ സുരക്ഷാ അപകടങ്ങളാണ്, അത് എളുപ്പത്തിൽ ഹാക്ക് ചെയ്യാവുന്നതുമാണ്. ശൂന്യമായ പാസ്uവേഡുള്ള ഏതെങ്കിലും അക്കൗണ്ടുകൾ ഉണ്ടോയെന്ന് പരിശോധിക്കാൻ, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിക്കുക.

# cat /etc/shadow | awk -F: '($2==""){print $1}'

19. ലോഗിൻ ചെയ്യുന്നതിന് മുമ്പ് SSH ബാനർ പ്രദർശിപ്പിക്കുക

SSH പ്രാമാണീകരണത്തിന് മുമ്പ് ചില സുരക്ഷാ മുന്നറിയിപ്പുകളുള്ള ഒരു നിയമപരമായ ബാനറോ സുരക്ഷാ ബാനറോ ഉണ്ടായിരിക്കുന്നത് എല്ലായ്പ്പോഴും മികച്ച ആശയമാണ്. അത്തരം ബാനറുകൾ സ്ഥാപിക്കുന്നതിന് ഇനിപ്പറയുന്ന ലേഖനം വായിക്കുക.

  1. ഉപയോക്താക്കൾക്ക് SSH മുന്നറിയിപ്പ് സന്ദേശം പ്രദർശിപ്പിക്കുക

20. ഉപയോക്തൃ പ്രവർത്തനങ്ങൾ നിരീക്ഷിക്കുക

നിങ്ങൾ ധാരാളം ഉപയോക്താക്കളുമായി ഇടപഴകുകയാണെങ്കിൽ, ഓരോ ഉപയോക്തൃ പ്രവർത്തനങ്ങളുടെയും അവർ ഉപയോഗിക്കുന്ന പ്രക്രിയകളുടെയും വിവരങ്ങൾ ശേഖരിക്കുകയും പിന്നീടുള്ള സമയങ്ങളിൽ അല്ലെങ്കിൽ ഏതെങ്കിലും തരത്തിലുള്ള പ്രകടനമോ സുരക്ഷാ പ്രശ്uനങ്ങളോ ഉണ്ടായാൽ അവ വിശകലനം ചെയ്യേണ്ടതും പ്രധാനമാണ്. എന്നാൽ നമുക്ക് എങ്ങനെ ഉപയോക്തൃ പ്രവർത്തന വിവരങ്ങൾ നിരീക്ഷിക്കാനും ശേഖരിക്കാനും കഴിയും.

ഒരു സിസ്റ്റത്തിലെ ഉപയോക്തൃ പ്രവർത്തനങ്ങളും പ്രക്രിയകളും നിരീക്ഷിക്കാൻ 'psacct', 'acct' എന്നീ രണ്ട് ഉപയോഗപ്രദമായ ടൂളുകൾ ഉപയോഗിക്കുന്നു. ഈ ടൂളുകൾ ഒരു സിസ്റ്റം പശ്ചാത്തലത്തിൽ പ്രവർത്തിക്കുകയും അപ്പാച്ചെ, MySQL, SSH, FTP മുതലായ സേവനങ്ങൾ ഉപയോഗിക്കുന്ന ഒരു സിസ്റ്റത്തിലെ ഓരോ ഉപയോക്തൃ പ്രവർത്തനവും തുടർച്ചയായി ട്രാക്ക് ചെയ്യുകയും ചെയ്യുന്നു. ഇൻസ്റ്റാളേഷൻ, കോൺഫിഗറേഷൻ, ഉപയോഗം എന്നിവയെ കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾക്ക്, ചുവടെയുള്ള url സന്ദർശിക്കുക.

  1. psacct അല്ലെങ്കിൽ acct കമാൻഡുകൾ ഉപയോഗിച്ച് ഉപയോക്തൃ പ്രവർത്തനം നിരീക്ഷിക്കുക

21. ലോഗുകൾ പതിവായി അവലോകനം ചെയ്യുക

സമർപ്പിത ലോഗ് സെർവറിൽ ലോഗുകൾ നീക്കുക, ഇത് പ്രാദേശിക ലോഗുകൾ എളുപ്പത്തിൽ പരിഷ്ക്കരിക്കുന്നത് നുഴഞ്ഞുകയറ്റക്കാരെ തടഞ്ഞേക്കാം. സാധാരണ ലിനക്സ് ഡിഫോൾട്ട് ലോഗ് ഫയലുകളുടെ പേരും അവയുടെ ഉപയോഗവും ചുവടെ:

  1. /var/log/message – മുഴുവൻ സിസ്റ്റം ലോഗുകളോ നിലവിലെ പ്രവർത്തന ലോഗുകളോ ലഭ്യമാകുന്നിടത്ത്.
  2. /var/log/auth.log – പ്രാമാണീകരണ ലോഗുകൾ.
  3. /var/log/kern.log – കേർണൽ ലോഗുകൾ.
  4. /var/log/cron.log – Crond logs (cron job).
  5. /var/log/maillog – മെയിൽ സെർവർ ലോഗുകൾ.
  6. /var/log/boot.log – സിസ്റ്റം ബൂട്ട് ലോഗ്.
  7. /var/log/mysqld.log – MySQL ഡാറ്റാബേസ് സെർവർ ലോഗ് ഫയൽ.
  8. /var/log/secure – പ്രാമാണീകരണ ലോഗ്.
  9. /var/log/utmp അല്ലെങ്കിൽ /var/log/wtmp : ലോഗിൻ റെക്കോർഡ്സ് ഫയൽ.
  10. /var/log/yum.log: Yum ലോഗ് ഫയലുകൾ.

22. പ്രധാനപ്പെട്ട ഫയൽ ബാക്കപ്പ്

ഒരു പ്രൊഡക്ഷൻ സിസ്റ്റത്തിൽ, പ്രധാനപ്പെട്ട ഫയലുകൾ ബാക്കപ്പ് എടുത്ത് സുരക്ഷാ നിലവറയിലോ റിമോട്ട് സൈറ്റിലോ ഓഫ്സൈറ്റിലോ ഡിസാസ്റ്റർ റിക്കവറിക്കായി സൂക്ഷിക്കേണ്ടത് ആവശ്യമാണ്.

23. NIC ബോണ്ടിംഗ്

എൻഐസി ബോണ്ടിംഗിൽ രണ്ട് തരം മോഡുകൾ ഉണ്ട്, ബോണ്ടിംഗ് ഇന്റർഫേസിൽ പരാമർശിക്കേണ്ടതുണ്ട്.

  1. മോഡ്=0 – റൗണ്ട് റോബിൻ
  2. മോഡ്=1 - സജീവവും ബാക്കപ്പും

പരാജയത്തിന്റെ ഒറ്റ പോയിന്റ് ഒഴിവാക്കാൻ NIC ബോണ്ടിംഗ് നമ്മെ സഹായിക്കുന്നു. NIC ബോണ്ടിംഗിൽ, ഞങ്ങൾ രണ്ടോ അതിലധികമോ നെറ്റ്uവർക്ക് ഇഥർനെറ്റ് കാർഡുകൾ ഒരുമിച്ച് ബന്ധിപ്പിച്ച് ഒരൊറ്റ വെർച്വൽ ഇന്റർഫേസ് ഉണ്ടാക്കുന്നു, അവിടെ മറ്റ് സെർവറുകളുമായി സംസാരിക്കുന്നതിന് IP വിലാസം നൽകാം. ഏതെങ്കിലും കാരണത്താൽ ഒരു എൻഐസി കാർഡ് പ്രവർത്തനരഹിതമാകുകയോ ലഭ്യമല്ലാതിരിക്കുകയോ ചെയ്താൽ ഞങ്ങളുടെ നെറ്റ്uവർക്ക് ലഭ്യമാകും.

24./ബൂട്ട് വായിക്കാൻ മാത്രമായി സൂക്ഷിക്കുക

ലിനക്സ് കേർണലും അതുമായി ബന്ധപ്പെട്ട ഫയലുകളും റീഡ്-റൈറ്റായി സ്ഥിരസ്ഥിതിയായി /boot ഡയറക്ടറിയിലാണ്. ഇത് റീഡ്-ഓൺലി എന്നാക്കി മാറ്റുന്നത് ക്രിട്ടിക്കൽ ബൂട്ട് ഫയലുകളുടെ അനധികൃത പരിഷ്uക്കരണത്തിന്റെ സാധ്യത കുറയ്ക്കുന്നു. ഇത് ചെയ്യുന്നതിന്, /etc/fstab ഫയൽ തുറക്കുക.

# vi /etc/fstab

ചുവടെയുള്ള വരി ചേർക്കുക, സംരക്ഷിച്ച് അടയ്ക്കുക.

LABEL=/boot     /boot     ext2     defaults,ro     1 2

ഭാവിയിൽ കേർണൽ അപ്uഗ്രേഡ് ചെയ്യണമെങ്കിൽ, റീഡ്-റൈറ്റിലേക്ക് മാറ്റം പുനഃസജ്ജമാക്കേണ്ടതുണ്ടെന്ന കാര്യം ശ്രദ്ധിക്കുക.

25. ICMP അല്ലെങ്കിൽ ബ്രോഡ്കാസ്റ്റ് അഭ്യർത്ഥന അവഗണിക്കുക

പിംഗ് അല്ലെങ്കിൽ ബ്രോഡ്കാസ്റ്റ് അഭ്യർത്ഥന അവഗണിക്കാൻ /etc/sysctl.conf ഫയലിൽ ഇനിപ്പറയുന്ന വരി ചേർക്കുക.

Ignore ICMP request:
net.ipv4.icmp_echo_ignore_all = 1

Ignore Broadcast request:
net.ipv4.icmp_echo_ignore_broadcasts = 1

ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിച്ച് പുതിയ ക്രമീകരണങ്ങളോ മാറ്റങ്ങളോ ലോഡ് ചെയ്യുക

#sysctl -p

മുകളിലെ ലിസ്റ്റിലെ ഏതെങ്കിലും പ്രധാനപ്പെട്ട സുരക്ഷയോ കാഠിന്യം വർദ്ധിപ്പിക്കുന്ന ടിപ്പുകളോ നിങ്ങൾക്ക് നഷ്uടമായെങ്കിൽ, അല്ലെങ്കിൽ പട്ടികയിൽ ഉൾപ്പെടുത്തേണ്ട മറ്റേതെങ്കിലും നുറുങ്ങ് നിങ്ങൾക്കുണ്ടെങ്കിൽ. ദയവായി നിങ്ങളുടെ അഭിപ്രായങ്ങൾ ഞങ്ങളുടെ കമന്റ് ബോക്സിൽ ഇടുക. TecMint എല്ലായ്പ്പോഴും അഭിപ്രായങ്ങളും നിർദ്ദേശങ്ങളും മെച്ചപ്പെടുത്തുന്നതിനുള്ള ചർച്ചകളും സ്വീകരിക്കാൻ താൽപ്പര്യപ്പെടുന്നു.