5 മികച്ച OpenSSH സെർവർ മികച്ച സുരക്ഷാ സമ്പ്രദായങ്ങൾ


SSH (Secure Shell) എന്നത് ഒരു ഓപ്പൺ സോഴ്uസ് നെറ്റ്uവർക്ക് പ്രോട്ടോക്കോൾ ആണ്, അത് ഫയലുകൾ കൈമാറുന്നതിനും റിമോട്ട് ബാക്കപ്പുകൾ നിർമ്മിക്കുന്നതിനും റിമോട്ട് കമാൻഡ് എക്uസിക്യൂഷൻ ചെയ്യുന്നതിനും മറ്റ് നെറ്റ്uവർക്കുമായി ബന്ധപ്പെട്ട ജോലികൾ എന്നിവയ്ക്കും sftp കമാൻഡ് വഴി ബന്ധിപ്പിക്കുന്ന രണ്ട് സെർവറുകൾക്കിടയിൽ ലോക്കൽ അല്ലെങ്കിൽ റിമോട്ട് ലിനക്സ് സെർവറുകളെ ബന്ധിപ്പിക്കുന്നതിന് ഉപയോഗിക്കുന്നു. നെറ്റ്uവർക്കിലൂടെയുള്ള സുരക്ഷിത ചാനൽ.

ഈ ലേഖനത്തിൽ, നിങ്ങളുടെ ssh സെർവർ സുരക്ഷ കർശനമാക്കാൻ സഹായിക്കുന്ന ചില ലളിതമായ ഉപകരണങ്ങളും തന്ത്രങ്ങളും ഞാൻ നിങ്ങൾക്ക് കാണിച്ചുതരാം. ബ്രൂട്ട് ഫോഴ്uസിൽ നിന്നും നിഘണ്ടു ആക്രമണങ്ങളിൽ നിന്നും ssh സെർവറുകൾ എങ്ങനെ സുരക്ഷിതമാക്കാമെന്നും തടയാമെന്നും ഉള്ള ചില ഉപയോഗപ്രദമായ വിവരങ്ങൾ ഇവിടെ കാണാം.

1. DenyHosts

DenyHosts എന്നത് SSH സെർവറുകൾക്കായുള്ള ഒരു ഓപ്പൺ സോഴ്uസ് ലോഗ് അധിഷ്ഠിത നുഴഞ്ഞുകയറ്റ പ്രതിരോധ സുരക്ഷാ സ്uക്രിപ്റ്റാണ്, അത് Linux സിസ്റ്റം അഡ്uമിനിസ്uട്രേറ്റർമാരും ഉപയോക്താക്കളും പ്രവർത്തിപ്പിക്കാൻ ഉദ്ദേശിച്ചിട്ടുള്ള ഒരു പൈത്തൺ പ്രോഗ്രാമിംഗ് ഭാഷയിൽ എഴുതിയതാണ് പരാജയപ്പെട്ട ലോഗിൻ ശ്രമങ്ങൾക്കായി SSH സെർവർ ആക്uസസ് ലോഗുകൾ നിരീക്ഷിക്കാനും വിശകലനം ചെയ്യാനും. നിഘണ്ടു അടിസ്ഥാനമാക്കിയുള്ള ആക്രമണങ്ങളും ക്രൂരമായ ആക്രമണങ്ങളും.

ഒരു നിശ്ചിത എണ്ണം ലോഗിൻ ശ്രമങ്ങൾ പരാജയപ്പെട്ടതിന് ശേഷം IP വിലാസങ്ങൾ നിരോധിക്കുന്നതിലൂടെയും അത്തരം ആക്രമണങ്ങൾ സെർവറിലേക്ക് ആക്സസ് നേടുന്നതിൽ നിന്നും തടയുന്നതിലൂടെയും സ്ക്രിപ്റ്റ് പ്രവർത്തിക്കുന്നു.

  • വിജയകരവും പരാജയപ്പെട്ടതുമായ എല്ലാ ലോഗിൻ ശ്രമങ്ങളും കണ്ടെത്തുന്നതിന് /var/log/secure-ന്റെ ട്രാക്ക് സൂക്ഷിക്കുകയും അവ ഫിൽട്ടർ ചെയ്യുകയും ചെയ്യുന്നു.
  • ഉപയോക്താവിന്റെയും കുറ്റകരമായ ഹോസ്റ്റിന്റെയും പരാജയപ്പെട്ട എല്ലാ ലോഗിൻ ശ്രമങ്ങളും നിരീക്ഷിക്കുന്നു.
  • പരാജയപ്പെട്ട ലോഗിൻ ശ്രമിക്കുമ്പോൾ നിലവിലുള്ളതും ഇല്ലാത്തതുമായ ഓരോ ഉപയോക്താവിനെയും നിരീക്ഷിക്കുന്നു (ഉദാ. xyz).
  • കുറ്റപ്പെടുത്തുന്ന ഓരോ ഉപയോക്താവിന്റെയും ഹോസ്റ്റിന്റെയും സംശയാസ്പദമായ ലോഗിൻ ശ്രമങ്ങളുടെയും ട്രാക്ക് സൂക്ഷിക്കുന്നു (നിരവധി ലോഗിൻ പരാജയങ്ങളുണ്ടെങ്കിൽ) /etc/hosts.deny ഫയലിൽ ഒരു എൻട്രി ചേർത്തുകൊണ്ട് ആ ഹോസ്റ്റ് IP വിലാസത്തെ നിരോധിക്കുന്നു.
  • പുതിയതായി ബ്ലോക്ക് ചെയ്ത ഹോസ്റ്റുകളുടെയും സംശയാസ്പദമായ ലോഗിനുകളുടെയും ഇമെയിൽ അറിയിപ്പ് ഓപ്ഷണലായി അയയ്ക്കുന്നു.
  • അതുപോലെ, സാധുവായതും അസാധുവായതുമായ എല്ലാ ലോഗിൻ ശ്രമങ്ങളും വെവ്വേറെ ഫയലുകളിൽ പരിപാലിക്കുന്നു, അതുവഴി ഏത് സാധുവായ അല്ലെങ്കിൽ അസാധുവായ ഉപയോക്താവാണ് ആക്രമണത്തിനിരയായതെന്ന് തിരിച്ചറിയുന്നത് എളുപ്പമാക്കുന്നു. അതിനാൽ, ഞങ്ങൾക്ക് ആ അക്കൗണ്ട് ഇല്ലാതാക്കാനോ പാസ്uവേഡ് മാറ്റാനോ ആ ഉപയോക്താവിന്റെ ഷെൽ പ്രവർത്തനരഹിതമാക്കാനോ കഴിയും.

[ നിങ്ങൾക്ക് ഇതും ഇഷ്ടപ്പെടാം: DenyHosts ഉപയോഗിച്ച് SSH ബ്രൂട്ട് ഫോഴ്uസ് ആക്രമണങ്ങൾ എങ്ങനെ തടയാം ]

2. Fail2Ban

ഒരു പൈത്തൺ പ്രോഗ്രാമിംഗ് ഭാഷയിൽ എഴുതിയിരിക്കുന്ന ഏറ്റവും ജനപ്രിയമായ ഓപ്പൺ സോഴ്uസ് നുഴഞ്ഞുകയറ്റ കണ്ടെത്തൽ/പ്രിവൻഷൻ ചട്ടക്കൂടുകളിൽ ഒന്നാണ് Fail2ban. പരാജയപ്പെട്ട നിരവധി ലോഗിൻ ശ്രമങ്ങൾക്കായി /var/log/secure, /var/log/auth.log, /var/log/pwdfail തുടങ്ങിയ ലോഗ് ഫയലുകൾ സ്കാൻ ചെയ്തുകൊണ്ടാണ് ഇത് പ്രവർത്തിക്കുന്നത്.

Netfilter/iptables അല്ലെങ്കിൽ TCP Wrapper's hosts.deny ഫയൽ അപ്uഡേറ്റ് ചെയ്യുന്നതിനും ഒരു നിശ്ചിത സമയത്തേക്ക് ആക്രമണകാരിയുടെ IP വിലാസം നിരസിക്കാനും Fail2ban ഉപയോഗിക്കുന്നു. അഡ്uമിനിസ്uട്രേറ്റർമാർ നിശ്ചയിച്ച ഒരു നിശ്ചിത സമയത്തേക്ക് ബ്ലോക്ക് ചെയ്uത ഐപി വിലാസം അൺബാൻഡ് ചെയ്യാനുള്ള കഴിവും ഇതിന് ഉണ്ട്. എന്നിരുന്നാലും, അത്തരം ക്ഷുദ്രകരമായ ആക്രമണങ്ങൾ തടയാൻ ഒരു നിശ്ചിത മിനിറ്റ് നിരോധനം മതിയാകും.

  • മൾട്ടി-ത്രെഡുള്ളതും ഉയർന്ന കോൺഫിഗർ ചെയ്യാവുന്നതുമാണ്.
  • ലോഗ് ഫയലുകൾ റൊട്ടേഷനുള്ള പിന്തുണ കൂടാതെ (sshd, vsftpd, apache, മുതലായവ) പോലുള്ള ഒന്നിലധികം സേവനങ്ങൾ കൈകാര്യം ചെയ്യാൻ കഴിയും.
  • ലോഗ് ഫയലുകൾ നിരീക്ഷിക്കുകയും അറിയപ്പെടുന്നതും അറിയാത്തതുമായ പാറ്റേണുകൾക്കായി തിരയുകയും ചെയ്യുന്നു.
  • ആക്രമണകാരികളായ ഐപിയെ നിരോധിക്കാൻ Netfilter/Iptables, TCP Wrapper (/etc/hosts.deny) പട്ടിക ഉപയോഗിക്കുന്നു.
  • ഒരേ IP വിലാസത്തിനായി തന്നിരിക്കുന്ന പാറ്റേൺ X-ൽ കൂടുതൽ തവണ തിരിച്ചറിയുമ്പോൾ സ്ക്രിപ്റ്റുകൾ പ്രവർത്തിപ്പിക്കുന്നു.

[ നിങ്ങൾക്ക് ഇതും ഇഷ്ടപ്പെടാം: നിങ്ങളുടെ ലിനക്സ് സെർവർ സുരക്ഷിതമാക്കാൻ Fail2ban എങ്ങനെ ഉപയോഗിക്കാം ]

3. റൂട്ട് ലോഗിൻ പ്രവർത്തനരഹിതമാക്കുക

സ്ഥിരസ്ഥിതിയായി, റൂട്ട് ഉപയോക്താവ് ഉൾപ്പെടെ എല്ലാവർക്കും ssh റിമോട്ട് ലോഗിനുകൾ അനുവദിക്കുന്നതിനായി ലിനക്സ് സിസ്റ്റങ്ങൾ മുൻകൂട്ടി ക്രമീകരിച്ചിരിക്കുന്നു, ഇത് എല്ലാവരേയും സിസ്റ്റത്തിലേക്ക് നേരിട്ട് ലോഗിൻ ചെയ്യാനും റൂട്ട് ആക്സസ് നേടാനും അനുവദിക്കുന്നു. റൂട്ട് ലോഗിനുകൾ അപ്രാപ്തമാക്കുന്നതിനോ പ്രാപ്തമാക്കുന്നതിനോ കൂടുതൽ സുരക്ഷിതമായ മാർഗം ssh സെർവർ അനുവദിക്കുന്നുണ്ടെങ്കിലും, സെർവറുകൾ കുറച്ചുകൂടി സുരക്ഷിതമായി നിലനിർത്തിക്കൊണ്ട് റൂട്ട് ആക്സസ് അപ്രാപ്തമാക്കുന്നത് എല്ലായ്പ്പോഴും നല്ലതാണ്.

വ്യത്യസ്ത അക്കൗണ്ട് പേരുകളും പാസ്uവേഡുകളും ഒന്നിനുപുറകെ ഒന്നായി നൽകിക്കൊണ്ട് SSH ആക്രമണങ്ങളിലൂടെ റൂട്ട് അക്കൗണ്ടുകളെ ക്രൂരമായി പീഡിപ്പിക്കാൻ നിരവധി ആളുകൾ ശ്രമിക്കുന്നു. നിങ്ങളൊരു സിസ്റ്റം അഡ്uമിനിസ്uട്രേറ്ററാണെങ്കിൽ, നിങ്ങൾക്ക് ssh സെർവർ ലോഗുകൾ പരിശോധിക്കാൻ കഴിയും, അവിടെ നിങ്ങൾ പരാജയപ്പെട്ട നിരവധി ലോഗിൻ ശ്രമങ്ങൾ കണ്ടെത്തും. പരാജയപ്പെട്ട നിരവധി ലോഗിൻ ശ്രമങ്ങൾക്ക് പിന്നിലെ പ്രധാന കാരണം വേണ്ടത്ര ദുർബലമായ പാസ്uവേഡുകൾ ഉള്ളതാണ്, ഇത് ഹാക്കർമാർ/ആക്രമകർക്ക് ശ്രമിക്കുന്നതിൽ അർത്ഥമുണ്ട്.

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

[നിങ്ങൾക്ക് ഇതും ഇഷ്ടപ്പെടാം: എസ്എസ്എച്ച് റൂട്ട് ലോഗിൻ അപ്രാപ്തമാക്കുന്നതും ലിനക്സിൽ എസ്എസ്എച്ച് ആക്സസ് പരിമിതപ്പെടുത്തുന്നതും എങ്ങനെ ]

4. SSH ബാനർ പ്രദർശിപ്പിക്കുക

ssh പ്രൊജക്uറ്റിന്റെ തുടക്കം മുതൽ ലഭ്യമായ ഏറ്റവും പഴയ ഫീച്ചറുകളിൽ ഒന്നാണിത്, എന്നാൽ ഇത് ആരും ഉപയോഗിക്കുന്നതായി ഞാൻ കണ്ടിട്ടില്ല. എന്തായാലും, എന്റെ എല്ലാ Linux സെർവറുകളിലും ഞാൻ ഉപയോഗിച്ചിട്ടുള്ള പ്രധാനപ്പെട്ടതും വളരെ ഉപയോഗപ്രദവുമായ ഒരു ഫീച്ചറാണിതെന്ന് എനിക്ക് തോന്നുന്നു.

ഇത് ഒരു സുരക്ഷാ ആവശ്യത്തിനും വേണ്ടിയല്ല, എന്നാൽ ഈ ബാനറിന്റെ ഏറ്റവും വലിയ നേട്ടം, പാസ്uവേഡ് ആവശ്യപ്പെടുന്നതിന് മുമ്പും ഉപയോക്താവ് ലോഗിൻ ചെയ്തതിന് ശേഷവും യുഎൻ അംഗീകൃത ആക്uസസ്സ്, അംഗീകൃത ഉപയോക്താക്കൾക്ക് സ്വാഗത സന്ദേശങ്ങൾ എന്നിവയിലേക്ക് ssh മുന്നറിയിപ്പ് സന്ദേശങ്ങൾ പ്രദർശിപ്പിക്കാൻ ഇത് ഉപയോഗിക്കുന്നു എന്നതാണ്.

[ നിങ്ങൾക്ക് ഇതും ഇഷ്ടപ്പെടാം: SSH & MOTD ബാനർ സന്ദേശങ്ങൾ ഉപയോഗിച്ച് SSH ലോഗിനുകൾ എങ്ങനെ സംരക്ഷിക്കാം ]

5. എസ്എസ്എച്ച് പാസ്വേഡ്ലെസ്സ് ലോഗിൻ

SSH കീജെൻ ഉള്ള ഒരു SSH പാസ്uവേഡ്-ലെസ്സ് ലോഗിൻ രണ്ട് ലിനക്സ് സെർവറുകൾക്കിടയിൽ ഒരു ട്രസ്റ്റ് ബന്ധം സ്ഥാപിക്കും, ഇത് ഫയൽ കൈമാറ്റവും സമന്വയവും വളരെ എളുപ്പമാക്കുന്നു.

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

[നിങ്ങൾക്ക് ഇതും ഇഷ്ടപ്പെടാം: ലിനക്സിൽ SSH പാസ്uവേഡ് ഇല്ലാത്ത ലോഗിൻ എങ്ങനെ സജ്ജീകരിക്കാം [3 എളുപ്പ ഘട്ടങ്ങൾ] ]

നിങ്ങളുടെ SSH സെർവർ കൂടുതൽ സുരക്ഷിതമാക്കാൻ, OpenSSH സെർവർ എങ്ങനെ സുരക്ഷിതമാക്കാം, കഠിനമാക്കാം എന്നതിനെക്കുറിച്ചുള്ള ഞങ്ങളുടെ ലേഖനം വായിക്കുക