SSH ഹാക്കിംഗിൽ നിന്ന് സംരക്ഷിക്കുന്നതിനുള്ള രീതികൾ. fail2ban ഉപയോഗിച്ച് ബ്രൂട്ട് ഫോഴ്‌സ് ആക്രമണങ്ങളിൽ നിന്ന് ഒരു SSH സെർവറിനെ എങ്ങനെ സംരക്ഷിക്കാം ഡിഫോൾട്ട് പോർട്ട് മാറ്റുന്നു

പാസ്‌വേഡ് ബ്രൂട്ട് ഫോഴ്‌സിൽ നിന്ന് ഞങ്ങളുടെ സെർവറിനെ പരിരക്ഷിക്കുന്നതിന്, നിങ്ങൾക്ക് sshguard അല്ലെങ്കിൽ sshit യൂട്ടിലിറ്റികൾ ഉപയോഗിക്കാം.

ജോലിയുടെ തത്വങ്ങൾ.

sshguard ഉം sshit ഉം ഒരേ തത്ത്വത്തിൽ പ്രവർത്തിക്കുന്നു. തെറ്റായ പ്രാമാണീകരണത്തെക്കുറിച്ചുള്ള സിസ്റ്റം സന്ദേശങ്ങൾ അവർ വിശകലനം ചെയ്യുന്നു, ഒരു നിശ്ചിത മൂല്യം എത്തിയാൽ, തടയുന്ന ഫയർവാൾ റൂളിൽ ആക്രമിക്കുന്ന IP നൽകുക. ഒരു നിശ്ചിത സമയത്തിന് ശേഷം, നിയമത്തിൽ നിന്ന് ഐപി നീക്കം ചെയ്യപ്പെടും.
അതനുസരിച്ച്, പ്രവർത്തനത്തിന് കോൺഫിഗർ ചെയ്ത ഫയർവാൾ ആവശ്യമാണ്.

എസ്എസ്എച്ച്ഗാർഡ്

sshguard ഉപയോഗിച്ച് പ്രവർത്തിക്കാൻ കഴിയും

  • AIX നേറ്റീവ് ഫയർവാൾ- IBM AIX ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങൾക്ക്
  • netfilter/iptables- Linux അടിസ്ഥാനമാക്കിയുള്ള ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങൾക്കായി
  • പാക്കറ്റ് ഫിൽട്ടർ (PF)- ബിഎസ്ഡി ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങൾക്കായി (ഓപ്പൺ, ഫ്രീ, നെറ്റ്, ഡ്രാഗൺഫ്ലൈ -ബിഎസ്ഡി)
  • IPFirewall (IPFW)- FreeBSD, Mac OS X എന്നിവയ്‌ക്കായി
  • IP ഫിൽട്ടർ (IPFILTER)- FreeBSD, NetBSD, Solaris എന്നിവയ്ക്കായി
  • tcpd's hosts_access (/etc/hosts.allow)- UNIX-ൽ ഉടനീളം പോർട്ടബിൾ
  • ശൂന്യം- കണ്ടെത്തൽ പ്രയോഗിക്കുന്നതിനുള്ള പോർട്ടബിൾ ചെയ്യാത്ത ബാക്കെൻഡ് പക്ഷേ പ്രതിരോധമല്ല

ഞാൻ പിഎഫ് ഉപയോഗിക്കുന്നു, അതിനാൽ ഈ കുറിപ്പിൽ പിഎഫിൽ ഉദാഹരണങ്ങളുണ്ട്.

sshguard ഇൻസ്റ്റാൾ ചെയ്യുന്നു.

FreeBSD:

പോർട്ടുകളിൽ നിന്ന് ഇൻസ്റ്റാൾ ചെയ്യുക

Cd /usr/ports/security/sshguard-pf/&& ഇൻസ്റ്റാൾ ക്ലീൻ ആക്കുക

ചില കാരണങ്ങളാൽ നിങ്ങൾ പോർട്ടുകൾ ഉപയോഗിക്കുന്നില്ലെങ്കിൽ, sshguard വെബ്സൈറ്റിൽ നിന്ന് ഏറ്റവും പുതിയ പതിപ്പ് ഡൗൺലോഡ് ചെയ്ത് സ്വമേധയാ നിർമ്മിക്കുക

./configure --with-firewall=pf && നിർമ്മിക്കുക && ഇൻസ്റ്റാൾ ചെയ്യുക

ഡെബിയൻ:

apt-get sshguard ഇൻസ്റ്റാൾ ചെയ്യുക

sshguard പ്രവർത്തിപ്പിക്കുന്നതിനായി OS കോൺഫിഗർ ചെയ്യുന്നു.

ലോഗുകൾ സംഭരിക്കുന്നതിന് ഒരു ഫയൽ സൃഷ്ടിക്കുക

# ടച്ച് /var/log/sshguard

ഡെബിയൻ (വീസി):

ഇനിപ്പറയുന്ന വരി //etc/default/sshguard-ൽ എഡിറ്റ് ചെയ്യുക

#mcedit /etc/default/sshguard #ARGS="-a 40 -p 420 -s 1200" ARGS="-a 5 -p 420 -s 2400 -b 5:/etc/sshguard/blacklist"

കൂടാതെ sshguard പുനരാരംഭിക്കുക
സേവനം sshguard പുനരാരംഭിക്കുക

FreeBSD:

പിഎഫ് കോൺഫിഗറേഷനിൽ നമുക്ക് രണ്ട് വരികൾ ചേർക്കേണ്ടതുണ്ട്

മേശ നിര്ബന്ധംപിടിക്കുക

റോബോട്ടുകളുടെ ഐപിയിൽ sshguard പ്രവേശിക്കുന്ന ഒരു പട്ടിക ഞങ്ങൾ പ്രഖ്യാപിക്കുന്നു.

$if0 പ്രോട്ടോ tcp-ൽ നിന്ന് പെട്ടെന്ന് തടയുക

യഥാർത്ഥത്തിൽ, PF കോൺഫിഗറേഷൻ ഫയലിന്റെ റൂൾസ് ബ്ലോക്കിന്റെ ഏറ്റവും മുകളിലായി ബ്ലോക്കിംഗ് റൂൾ തന്നെ അടയാളപ്പെടുത്തിയിരിക്കണം. കണക്ഷനുകൾ ബ്ലോക്ക് ചെയ്യപ്പെടുന്ന ഇന്റർഫേസാണ് $if0; എല്ലാ ഇന്റർഫേസുകളിലും തടയുന്നതിന്, അത് മാറ്റിസ്ഥാപിക്കുക.
കോൺഫിഗറേഷൻ ഫയൽ വീണ്ടും വായിക്കുക

Auth.info;authpriv.info |exec/usr/local/sbin/sshguard

കൂടാതെ syslog പുനരാരംഭിക്കുക

#/etc/rc.d/syslogd പുനരാരംഭിക്കുക

യഥാർത്ഥത്തിൽ, ഈ കൃത്രിമത്വങ്ങൾക്ക് ശേഷം, സ്ഥിരസ്ഥിതി പാരാമീറ്ററുകൾ ഉപയോഗിച്ച് sshguard ആക്രമണങ്ങളെ തടയും.
ആക്രമിക്കുമ്പോൾ /var/log/auth.logഇനിപ്പറയുന്നതുപോലുള്ള ഒന്ന് ഞങ്ങൾ കാണും

Jun1611:01:40 www sshd:Invalid user test from61.172.251.183 Jun1612:29:48 www sshd:Invalid user test from85.114.130.168 Jun1612:29:49 www sshd1 test 29:4 9 www sshd:Invalid user test from85.114.130.168Jun1612:29:50 www sshd:Invalid user test from85.114.130.168Jun1612:29:50 www sshguard:Blocking.85-ൽ നിന്ന് 2 സെക്കൻഡ്.

sshguard ഓപ്ഷനുകൾ ക്രമീകരിക്കുന്നു

sshguard-ന് നമുക്ക് മറികടക്കാൻ കഴിയുന്ന നിരവധി പാരാമീറ്ററുകൾ ഉണ്ട്
-എപരാജയപ്പെട്ട പ്രാമാണീകരണ ശ്രമങ്ങളുടെ എണ്ണം, അതിനുശേഷം ഐപി തടയപ്പെടും. സ്ഥിരസ്ഥിതി 4 ആണ്.
-പിഎത്ര സെക്കന്റുകൾക്ക് ശേഷം ഐപി അൺബ്ലോക്ക് ചെയ്യപ്പെടും. സ്ഥിരസ്ഥിതി 420 ആണ്.
-എസ്എത്ര സെക്കന്റുകൾ sshguard ഐപിയെ ഓർക്കുന്നു. ഡിഫോൾട്ട് 1200 ആണ്. ഇത് വ്യക്തമാക്കാൻ, ഓരോ 30 മിനിറ്റിലും ഒരു ഐപിയിൽ നിന്ന് ഒരു ആക്രമണം ഉണ്ടായാൽ, ഡിഫോൾട്ട് ക്രമീകരണം ഉപയോഗിച്ച് അത് ഒരിക്കലും നിരോധിക്കപ്പെടില്ല.
-ഡബ്ല്യുവൈറ്റ് ഐപി, നെറ്റ്‌വർക്കുകൾ അല്ലെങ്കിൽ വൈറ്റ് വിലാസ ഫയലിലേക്കുള്ള പാത. ഫയൽ ഫോർമാറ്റ് ഒരു വരിയാണ് - ഒരു എൻട്രി, # അഭിപ്രായങ്ങൾ നിർവചിക്കുന്നു.
-ബിബ്ലാക്ക്‌ലിസ്റ്റിലേക്ക് എത്ര ഐപി ബ്ലോക്കുകൾ ചേർക്കും, അതിലേക്കുള്ള പാത എന്നിവ നിർണ്ണയിക്കുന്നു. sshguard ആരംഭിക്കുമ്പോൾ ബ്ലാക്ക്‌ലിസ്റ്റ് ലോഡുചെയ്യപ്പെടും, അത് സ്വയമേവ മായ്‌ക്കപ്പെടില്ല.

sshguard-ന് ഒരു കോൺഫിഗറേഷൻ ഫയൽ ഇല്ല; sshguard ആരംഭിക്കുമ്പോൾ പാരാമീറ്ററുകൾ സജ്ജമാക്കും. ഞങ്ങളുടെ കാര്യത്തിൽ, sshguard syslog ആരംഭിക്കുന്നു, അതിനാൽ ഞങ്ങൾ syslog.conf എഡിറ്റ് ചെയ്യും, അങ്ങനെ 30 മിനിറ്റിനുള്ളിൽ പരാജയപ്പെട്ട 3 പ്രാമാണീകരണ ശ്രമങ്ങൾക്ക് ശേഷം sshguard IP തടയും, 5 ബ്ലോക്കുകൾക്ക് ശേഷം അത് ബ്ലാക്ക്‌ലിസ്റ്റ് ചെയ്യും.

Auth.info;authpriv.info |exec/usr/local/sbin/sshguard -a 3-p 1500-b 5:/usr/local/etc/sshguard.blacklist

ആദ്യമായി ഇത് 420 സെക്കൻഡ് തടയുകയും 7 മിനിറ്റിന് ശേഷം ഇല്ലാതാക്കുകയും ചെയ്യുന്നു
2*420 y-ലെ രണ്ടാം തവണ 14 മിനിറ്റിന് ശേഷം ഇല്ലാതാക്കി
മൂന്നാം തവണ 2*2*420-ന്, 28 മിനിറ്റിന് ശേഷം ഇല്ലാതാക്കി, മുതലായവ...
2^(N-1)*420 Nth തവണ.

ഷിറ്റ്

Sshit ഒരു perl സ്ക്രിപ്റ്റാണ്, അതിനാൽ സിസ്റ്റത്തിന് perl, അതുപോലെ 2 മൊഡ്യൂളുകൾ എന്നിവ ഉണ്ടായിരിക്കേണ്ടത് ആവശ്യമാണ്.

  • IPC::പങ്കിടാവുന്നത്
  • Proc::PID::ഫയൽ

Sshit-ന് pf, ipfw എന്നിവയിൽ മാത്രമേ പ്രവർത്തിക്കാൻ കഴിയൂ.

sshit ഇൻസ്റ്റാൾ ചെയ്യുന്നു

cd /usr/ports/security/sshit/&& ഇൻസ്റ്റാൾ ക്ലീൻ ആക്കുക

sshit കോൺഫിഗറേഷനുകൾ.

Sshit-ന് ഒരു കോൺഫിഗറേഷൻ ഫയൽ ഉണ്ട് /usr/local/etc/sshit.conf അതിൽ നിങ്ങൾക്ക് സ്ഥിരസ്ഥിതി മൂല്യങ്ങൾ അസാധുവാക്കാനാകും.

FIREWALL_TYPE = "pf"; # ഏത് ഫയർവാൾ ആണ് നമ്മൾ ഉപയോഗിക്കുന്നത് MAX_COUNT =3; # പരാജയപ്പെട്ട പ്രാമാണീകരണ ശ്രമങ്ങളുടെ എണ്ണം, അതിനുശേഷം ഐപി തടഞ്ഞത് =60; # പരാജയപ്പെട്ട പ്രാമാണീകരണങ്ങളുടെ നിർദ്ദിഷ്ട എണ്ണം എത്ര സെക്കന്റുകൾക്കുള്ളിൽ സംഭവിക്കണം RESET_IP =300; # എത്ര സെക്കന്റുകൾക്ക് ശേഷം ഐപി അൺബ്ലോക്ക് ചെയ്യപ്പെടും. PFCTL_CMD = "/sbin/pfctl"; PF_TABLE = "badhosts"#മേശയുടെ പേര് മോശം ips നൽകിയിട്ടുണ്ട്

sshit പ്രവർത്തിക്കുന്നതിന് OS സജ്ജീകരിക്കുന്നു.

sshguard-നുള്ള ക്രമീകരണങ്ങളുമായി സാമ്യമുള്ളതിനാൽ, ഞങ്ങൾ PF കോൺഫിഗറേഷൻ ഫയൽ എഡിറ്റ് ചെയ്യുന്നു

മേശ $if0 പ്രോട്ടോ tcp-ൽ നിന്ന് പെട്ടെന്ന് തടയുക $if0 പോർട്ട് ssh ലേബൽ "ssh ബ്രൂട്ട്" വരെ

കോൺഫിഗറേഷൻ ഫയൽ വീണ്ടും വായിക്കുക

#pfctl -f /etc/pf.conf

syslog.conf എഡിറ്റുചെയ്യുന്നു

Auth.info;authpriv.info |exec/usr/local/sbin/sshit

കൂടാതെ syslog പുനരാരംഭിക്കുക

കമ്പ്യൂട്ടറുകൾക്കിടയിൽ ഡാറ്റ (കമാൻഡുകൾ, ഫയലുകൾ, വീഡിയോ സിഗ്നലുകൾ മുതലായവ) കൈമാറുന്നതിനുള്ള ഒരു സുരക്ഷിത പ്രോട്ടോക്കോൾ ആണ് SSH.

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

റൂട്ടിൽ നിന്നുള്ള ആക്സസ് അപ്രാപ്തമാക്കുക

ഒന്നാമതായി, സൂപ്പർ യൂസർ അക്കൗണ്ടിന് (റൂട്ട്) കീഴിലുള്ള മെഷീനിലേക്ക് വിദൂരമായി കണക്റ്റുചെയ്യാനുള്ള കഴിവ് നിർജ്ജീവമാക്കാൻ ശുപാർശ ചെയ്യുന്നു. ഇത് ചെയ്യുന്നതിന്, /etc/ssh/ ഡയറക്‌ടറിയിൽ സാധാരണയായി (എന്നാൽ എല്ലായ്‌പ്പോഴും അല്ല) സ്ഥിതി ചെയ്യുന്ന sshd_config ഫയൽ നിങ്ങൾ കണ്ടെത്തി അത് തുറക്കേണ്ടതുണ്ട്.

അതിൽ നിങ്ങൾ PermitRootLogin ഇനം കണ്ടെത്തി അതിന്റെ മൂല്യം "ഇല്ല" ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കേണ്ടതുണ്ട്, അതായത്, നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന എൻട്രി ലഭിക്കും:

PermitRootLogin നമ്പർ

സ്വാഭാവികമായും, ഇത് ഹാക്കിംഗിനെ തടയില്ല, പക്ഷേ ഇത് കുറച്ചുകൂടി ബുദ്ധിമുട്ടാക്കും.

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

ഡിഫോൾട്ട് പോർട്ട് മാറ്റുന്നു

എസ്‌എസ്‌എച്ച് വഴി ഒരു സെർവർ ഹാക്ക് ചെയ്യുന്നത് സാധാരണയായി പാസ്‌വേഡ് തിരയൽ (ബ്രൂട്ട് ഫോഴ്‌സ്) വഴിയാണ് സംഭവിക്കുന്നത് എന്നതിനാൽ, സ്റ്റാൻഡേർഡ് പോർട്ട് 22 മറ്റൊന്നിലേക്ക് മാറ്റുന്നത് യുക്തിസഹമാണ്. ഇത് ചെയ്യാൻ വളരെ എളുപ്പമാണ്. ഒന്നാമതായി, നിങ്ങൾ ഇതിനകം സൂചിപ്പിച്ച sshd_config ഫയൽ തുറന്ന് അവിടെ ഒരു വരി ചേർക്കേണ്ടതുണ്ട്:

പോർട്ട് പോർട്ട്_നമ്പർ

എൻട്രി, ഉദാഹരണത്തിന്, ഇതുപോലെ കാണപ്പെടും:

പോർട്ട് 3048

ഇത് സെർവറിലേക്ക് അനധികൃത പ്രവേശനം നേടാൻ ആഗ്രഹിക്കുന്ന ആളുകളുടെ എണ്ണം ഗണ്യമായി കുറയ്ക്കും. പോർട്ട് നമ്പർ മാറ്റുന്നതിന് മുമ്പ്, മറ്റ് ആപ്ലിക്കേഷനുകളിൽ ഇത് ഇടപെടുന്നില്ലെന്ന് ഉറപ്പാക്കുക. ഇതുവരെ ഉപയോഗത്തിലില്ലാത്ത ഒരു പോർട്ട് നിങ്ങൾ തിരഞ്ഞെടുക്കേണ്ടതുണ്ട്, അതുവഴി പ്രോഗ്രാമുകൾ വൈരുദ്ധ്യമുണ്ടാകില്ല.

ഐപി ആക്സസ് നിയന്ത്രണം

അനധികൃത കണക്ഷന്റെ സാധ്യത ഏതാണ്ട് പൂജ്യമായി കുറയ്ക്കുന്ന മറ്റൊരു സംരക്ഷണ രീതി, അംഗീകാര നിയന്ത്രണങ്ങൾ ക്രമീകരിക്കുക എന്നതാണ്. നിർദ്ദിഷ്‌ട ഐപി വിലാസങ്ങളുള്ള റിമോട്ട് മെഷീനുകൾക്ക് മാത്രമേ സെർവറിലേക്ക് ലോഗിൻ ചെയ്യാൻ കഴിയൂ എന്ന രീതിയിൽ SSH ക്രമീകരിക്കാൻ കഴിയും. ഇത് ചെയ്യുന്നതിന്, AllowUser ലൈനിലെ sshd_config ഫയലിൽ, നിങ്ങൾ ഓരോ ഉപയോക്താവിന്റെയും പേരിലേക്ക് @IP_number ചേർക്കേണ്ടതുണ്ട്. എൻട്രി, ഉദാഹരണത്തിന്, ഇതുപോലെയാകാം:

ഉപയോക്താക്കളെ അനുവദിക്കുക [ഇമെയിൽ പരിരക്ഷിതം], [ഇമെയിൽ പരിരക്ഷിതം]

ഈ രീതി ഉപയോഗിക്കുന്നതിന് മുമ്പ്, കോൺഫിഗറേഷൻ നൽകിയിട്ടില്ലാത്ത ഒരു മെഷീനിൽ നിന്ന് സെർവറിലേക്ക് ലോഗിൻ ചെയ്യേണ്ട സാഹചര്യങ്ങളൊന്നുമില്ലെന്ന് ഉറപ്പാക്കാൻ ശുപാർശ ചെയ്യുന്നു.

സുരക്ഷിത പാസ്‌വേഡ്

തീർച്ചയായും, നിങ്ങൾ ക്രൂരമായ ശക്തിയെ പ്രതിരോധിക്കുന്ന ഒരു പാസ്‌വേഡ് ഉപയോഗിക്കണം. നീളമുള്ളതും കഴിയുന്നത്ര വ്യത്യസ്ത ചിഹ്നങ്ങളുള്ളതും, വെയിലത്ത് krakozyabrs ഉപയോഗിച്ച്. ഇത് നിർബന്ധമായും ഉണ്ടായിരിക്കണം.

ഓപ്പൺഎസ്എസ്എച്ച്സെർവറിലേക്ക് വിദൂരമായി കണക്റ്റുചെയ്യാനും ഫയലുകൾ കൈകാര്യം ചെയ്യാനും സിസ്റ്റം നിയന്ത്രിക്കാനും നിങ്ങളെ അനുവദിക്കുന്നു. ഒരു OpenSSH-അധിഷ്ഠിത സിസ്റ്റത്തിന്റെ സുരക്ഷ വർദ്ധിപ്പിക്കുന്ന മികച്ച രീതികളെക്കുറിച്ച് ഇന്ന് നമ്മൾ സംസാരിക്കാൻ ആഗ്രഹിക്കുന്നു.

കോൺഫിഗറേഷൻ ഫയലുകൾ

  • /etc/ssh/sshd_config- OpenSSH സെർവർ കോൺഫിഗറേഷൻ ഫയൽ;
  • /etc/ssh/ssh_config- OpenSSH ക്ലയന്റ് കോൺഫിഗറേഷൻ ഫയൽ;
  • ~/.ssh/- ഉപയോക്തൃ SSH ക്രമീകരണങ്ങൾ സംഭരിച്ചിരിക്കുന്ന ഡയറക്ടറി;
  • ~/.ssh/authorized_keys അല്ലെങ്കിൽ ~/.ssh/authorized_keys- ഉപയോക്തൃ അക്കൗണ്ടുകളിലേക്ക് കണക്റ്റുചെയ്യാൻ ഉപയോഗിക്കുന്ന കീകളുടെ (RSA അല്ലെങ്കിൽ DSA) ഒരു ലിസ്റ്റ്;
  • /etc/nologin- ഈ ഫയൽ സിസ്റ്റത്തിൽ നിലവിലുണ്ടെങ്കിൽ, റൂട്ട് ഒഴികെയുള്ള എല്ലാ ഉപയോക്താക്കളെയും സിസ്റ്റത്തിലേക്ക് ബന്ധിപ്പിക്കുന്നതിൽ നിന്നും sshd നിരോധിക്കും;
  • /etc/hosts.allow ഒപ്പം /etc/hosts.deny- തടസ്സപ്പെടുത്തൽ സംവിധാനം (സുരക്ഷയുടെ ഭാഗം). ACL-ന് സമാനമായി പ്രവർത്തിക്കുന്നു;
  • ഡിഫോൾട്ട് SSH പോർട്ട് - 22

ആവശ്യമില്ല - അത് ഓഫ് ചെയ്യുക

നിങ്ങളുടെ സെർവറിന് റിമോട്ട് SSH കണക്ഷനുകൾ ആവശ്യമില്ലെങ്കിൽ, അത് പ്രവർത്തനരഹിതമാക്കുന്നത് ഉറപ്പാക്കുക. CentOS/RHEL പോലുള്ള സിസ്റ്റങ്ങളിൽ ഇത് ഇതുപോലെയാണ് ചെയ്യുന്നത്:

Chkconfig sshd ഓഫ് yum erase openssh-server

SSH പതിപ്പ് 2 ഉപയോഗിക്കുക

SSH പ്രോട്ടോക്കോളിന്റെ ആദ്യ പതിപ്പിന് സുരക്ഷാ പ്രശ്നങ്ങൾ ഉണ്ട്, അത് രണ്ടാമത്തെ പതിപ്പിൽ പരിഹരിക്കപ്പെട്ടിരിക്കുന്നു. അതിനാൽ, രണ്ടാമത്തെ പതിപ്പ് ഉപയോഗിക്കുക. /etc/ssh/sshd_config ഫയലിൽ പ്രോട്ടോക്കോൾ 2 ഓപ്ഷൻ വ്യക്തമാക്കിയിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക.

SSH ആക്സസ് പരിമിതപ്പെടുത്തുക

സ്ഥിരസ്ഥിതിയായി, എല്ലാ സിസ്റ്റം ഉപയോക്താക്കൾക്കും SSH വഴി സിസ്റ്റത്തിലേക്ക് കണക്റ്റുചെയ്യാനുള്ള കഴിവുണ്ട്. സുരക്ഷാ കാരണങ്ങളാൽ SSH ആക്സസ് പരിമിതപ്പെടുത്താൻ ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു. ഉദാഹരണത്തിന്, റൂട്ട്, മെറിയോൺ, നെറ്റ്‌വർക്ക് ഉപയോക്താക്കൾക്കായി SSH അനുവദിക്കുന്നതിന്:

ഉപയോക്താക്കളെ റൂട്ട് മെറിയോൺ നെറ്റ്‌വർക്കുകൾ അനുവദിക്കുക

മറുവശത്ത്, വ്യക്തമാക്കിയിട്ടുള്ളവ ഒഴികെ എല്ലാ ഉപയോക്താക്കൾക്കും നിങ്ങൾക്ക് ആക്സസ് അനുവദിക്കാം:

DenyUsers റൂട്ട് മെറിയോൺ നെറ്റ്‌വർക്കുകൾ

നിഷ്ക്രിയ സമയം

നിഷ്‌ക്രിയ സെഷൻ അവസാനിപ്പിക്കുന്ന (പൂർത്തിയായത്) സമയം സൂചിപ്പിക്കേണ്ടത് പ്രധാനമാണ്. ഇനിപ്പറയുന്ന ഓപ്ഷനുകൾ ഉപയോഗിച്ച് ഇത് ചെയ്യാൻ കഴിയും:

ClientAliveInterval 300 ClientAliveCountMax 0

ഈ ക്രമീകരണത്തിൽ, ഞങ്ങൾ നിഷ്ക്രിയ സമയം 300 സെക്കൻഡ് (5 മിനിറ്റ്) ആയി നിശ്ചയിച്ചു.

.rhosts ഫയലുകളെക്കുറിച്ച്

ഈ ഫയലിൽ ഹോസ്റ്റുകളുടെയും ഉപയോക്താക്കളുടെയും ഒരു ലിസ്റ്റ് അടങ്ങിയിരിക്കുന്നു എന്നതാണ് വസ്തുത. ഈ ഫയലിൽ ഹോസ്റ്റിന്റെയും ഉപയോക്താവിന്റെയും സംയോജനമുണ്ടെങ്കിൽ, ഒരു പാസ്‌വേഡ് ആവശ്യപ്പെടാതെ തന്നെ ഈ ഉപയോക്താവിന് SSH വഴി സിസ്റ്റത്തിലേക്ക് കണക്റ്റുചെയ്യാനാകും. ഈ "അതിശയകരമായ" സവിശേഷത പ്രവർത്തനരഹിതമാക്കാൻ ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു:

IgnoreRhosts അതെ

ഹോസ്റ്റ് അടിസ്ഥാനമാക്കിയുള്ള പ്രാമാണീകരണമില്ല!

വിളിക്കപ്പെടുന്ന ഹോസ്റ്റ് അടിസ്ഥാനമാക്കിയുള്ള പ്രാമാണീകരണംസെർവറിലേക്ക് കണക്റ്റുചെയ്യാൻ ഒരു നിർദ്ദിഷ്‌ട ഹോസ്റ്റിൽ നിന്നുള്ള ഒരു ഉപയോക്താവിനെ അനുവദിക്കുന്നു. പ്രവർത്തനരഹിതമാക്കുക:

ഹോസ്റ്റ് അടിസ്ഥാനമാക്കിയുള്ള പ്രാമാണീകരണ നമ്പർ

റൂട്ട് വഴി നേരിട്ടുള്ള കണക്ഷൻ

PermitRootLogin നമ്പർ

ഒരു ബാനർ ഉണ്ടാക്കുക

ഓരോ കണക്ഷനും, അനധികൃത ആക്സസ് ചെയ്യാൻ ശ്രമിക്കുന്ന ആക്രമണകാരികളെ നിങ്ങൾക്ക് ഭീഷണിപ്പെടുത്താൻ കഴിയുന്ന ഒരു ബാനർ ഉണ്ടാക്കുക. ബാനർ സജ്ജീകരിക്കുന്നതിന് ബാനർ പാരാമീറ്റർ ഉത്തരവാദിയാണ്.

പോർട്ട് 22 ഉള്ളിൽ നിന്ന് മാത്രം!

ഫയർവാൾ നിയമങ്ങളുടെ ഒരു ശൃംഖലയിലൂടെ മാത്രം സിസ്റ്റം പോർട്ട് 22-ലേക്ക് ആക്സസ് ചെയ്യുക. LAN-ൽ നിന്ന് മാത്രം പ്രവേശനം നൽകുന്നതാണ് നല്ലത്. ഉദാഹരണത്തിന്, ഇൻ ഇപ്റ്റബിൾസ്നിങ്ങൾക്ക് 192.168.11.0/24-ലേക്ക് ആക്സസ് നൽകാം:

A RH-Firewall-1-INPUT -s 192.168.11.0/24 -m അവസ്ഥ --state NEW -p tcp --dport 22 -j സ്വീകരിക്കുക

എവിടെ കേൾക്കാൻ

സ്ഥിരസ്ഥിതിയായി, ലഭ്യമായ എല്ലാ ഇന്റർഫേസുകളിലെയും കണക്ഷനുകൾക്കായി SSH ശ്രദ്ധിക്കുന്നു. സ്ഥിരസ്ഥിതി പോർട്ട് മാറ്റാനും കണക്ഷനായി കാത്തിരിക്കേണ്ട IP വിലാസം വ്യക്തമാക്കാനും ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു. ഉദാഹരണത്തിന്, ഞങ്ങൾ പോർട്ട് 962, IP വിലാസം 192.168.11.24 എന്നിവ വ്യക്തമാക്കും.

പോർട്ട് 962 കേൾക്കുക വിലാസം 192.168.11.24

ക്രിപ്‌റ്റോഗ്രാഫിക്കായി ശക്തമായ പാസ്‌വേഡുകൾ

ശക്തമായ പാസ്‌വേഡുകൾ ഉപയോഗിക്കുക. ഇൻറർനെറ്റിൽ ഒരു ക്രിപ്‌റ്റോ-ശക്തമായ പാസ്‌വേഡ് സൃഷ്‌ടിക്കുന്ന നിരവധി ടൂളുകൾ ഉണ്ട്, അത് സൗജന്യമായും SMS ഇല്ലാതെയും :)

ശൂന്യമായ പാസ്‌വേഡുകൾ നിരോധിക്കുക

പാസ്‌വേഡുകൾ ഇല്ലാത്ത ഉപയോക്താക്കളുണ്ട്. ഓപ്‌ഷൻ ഉപയോഗിച്ച് SSH-ലേക്കുള്ള അവരുടെ പ്രവേശനവും നിരസിച്ചിരിക്കണം:

പോർട്ട് 962 പെർമിറ്റ് ശൂന്യമായ പാസ്‌വേഡുകൾ നമ്പർ

ലോഗുകൾ വിശകലനം ചെയ്യുക

ഇവന്റ് ലോഗിംഗ് INFO അല്ലെങ്കിൽ DEBUG മോഡിലേക്ക് സജ്ജമാക്കുക - ഇത് സിസ്റ്റത്തിൽ വിപുലീകരിച്ച നിയന്ത്രണം നിങ്ങളെ അനുവദിക്കും:

ലോഗ് ലെവൽ വിവരം

ഈ ലേഖനം നിങ്ങൾക്ക് ഉപയോഗപ്രദമായിരുന്നോ?

എന്തുകൊണ്ടെന്ന് ദയവായി എന്നോട് പറയൂ?

ലേഖനം നിങ്ങൾക്ക് ഉപയോഗപ്രദമാകാത്തതിൽ ഞങ്ങൾ ഖേദിക്കുന്നു: (ദയവായി, ബുദ്ധിമുട്ടുള്ളതല്ലെങ്കിൽ, എന്തുകൊണ്ടെന്ന് സൂചിപ്പിക്കുക? വിശദമായ ഉത്തരത്തിന് ഞങ്ങൾ വളരെ നന്ദിയുള്ളവരായിരിക്കും. മികച്ചവരാകാൻ ഞങ്ങളെ സഹായിച്ചതിന് നന്ദി!

ഈ ലേഖനത്തിൽ ഞങ്ങൾ എസ്എസ്എച്ച് പരിരക്ഷിക്കുന്നതിനുള്ള അടിസ്ഥാന രീതി നോക്കും പിണ്ഡംബ്രൂട്ട്ഫോഴ്സ് ആക്രമണങ്ങൾ. ഈ സാഹചര്യത്തിൽ, വൻതോതിലുള്ള ബ്രൂട്ട്ഫോഴ്സ് ആക്രമണം എന്നാൽ നിങ്ങളുടെ എസ്എസ്എച്ചിനായി പ്രത്യേകമായി ടാർഗെറ്റുചെയ്‌ത പാസ്‌വേഡ് ഊഹിക്കുന്നതിനെ അർത്ഥമാക്കുന്നില്ല, എന്നാൽ ഊഹിക്കാൻ പ്രതിരോധമില്ലാത്ത ലോഗിൻ-പാസ്‌വേഡ് ജോഡികളെ തുടർന്നുള്ള തിരിച്ചറിയലിനായി സെർവറുകളുടെ ഒരു ശ്രേണിയുടെ വിപുലമായ ക്യാപ്‌ചർ.

ഓപ്പൺ പോർട്ട് 22-ലെ IP ശ്രേണികളുടെ വിപുലമായ സ്കാനിംഗും സാധാരണയായി ഉപയോഗിക്കുന്ന ഉപയോക്തൃനാമവും പാസ്‌വേഡും (ഉദാഹരണത്തിന്, റൂട്ട്:passwd123, അഡ്മിൻ:സെർവർ123, മുതലായവ) ഒരു വലിയ SSH ബ്രൂട്ട്ഫോഴ്സ് ആക്രമണത്തിന്റെ പ്രധാന സവിശേഷതകൾ.

നിങ്ങളുടെ സെർവറിലെ വിജയിക്കാത്ത SSH അംഗീകാര ശ്രമങ്ങളുടെ ലോഗ് ഫയലുകളിൽ നിന്നുള്ള സ്ഥിതിവിവരക്കണക്കുകൾ കാണുന്നതിന്, കമാൻഡ് നൽകുക:

പൂച്ച /var/log/secure* | grep "പരാജയപ്പെട്ട രഹസ്യവാക്ക്" | grep sshd | awk "($1,$2 അച്ചടിക്കുക)" | അടുക്കുക -k 1,1M -k 2n | uniq -c

ഈ സ്ക്രീൻഷോട്ട് ദിവസംതോറും പരാജയപ്പെട്ട അംഗീകാരങ്ങളുടെ എണ്ണത്തെക്കുറിച്ചുള്ള സ്ഥിതിവിവരക്കണക്കുകൾ നൽകുന്നു. നിങ്ങൾ സമാനമായ ഡാറ്റ മോഷ്ടിക്കുകയാണെങ്കിൽ, നിങ്ങളുടെ SSH വൻതോതിലുള്ള ക്രൂരതയിൽ നിന്ന് സംരക്ഷിക്കാൻ നിങ്ങൾ നടപടികൾ കൈക്കൊള്ളണം.

1. നിങ്ങൾ എങ്കിൽ ഉപയോഗിക്കരുത്അംഗീകാരത്തിനായി, റൂട്ട്, അഡ്മിൻ, അഡ്‌മിനിസ്‌ട്രേറ്റർ, യൂസർ മുതലായവ പോലെ പതിവായി ഉപയോഗിക്കുന്ന ഉപയോക്തൃനാമങ്ങൾ. അംഗീകാരത്തിനായി സങ്കീർണ്ണമായ ഒരു പാസ്‌വേഡ് ഉപയോഗിക്കുക, തുടർന്ന് നിങ്ങൾക്ക് ഉടൻ തന്നെ രണ്ടാമത്തെ പോയിന്റിലേക്ക് പോകാം. പാസ്‌വേഡ് കൂടുതൽ സങ്കീർണ്ണമായ ഒന്നിലേക്ക് മാറ്റുന്നതിന്, കമാൻഡ് നൽകുക:

പാസ്‌വേഡ് #നിങ്ങളുടെ_ലോഗിൻ#

എവിടെ #നിങ്ങളുടെ_ലോഗിൻ#— നിങ്ങളുടെ ഉപയോക്തൃനാമം.
ഒരു പുതിയ പാസ്‌വേഡ് നൽകുമ്പോൾ, പാസ്‌വേഡ് ദൃശ്യമാകില്ല, കഴ്‌സർ ഒരിടത്ത് തന്നെ തുടരും.

നമുക്ക് SSH വഴി സെർവറിലേക്ക് ലോഗിൻ ചെയ്യാം, ഒരു പുതിയ ഉപയോക്താവിനെ സൃഷ്ടിച്ച് അദ്ദേഹത്തിന് ഒരു പാസ്‌വേഡ് നൽകുക, ഇത് ചെയ്യുന്നതിന് ഞങ്ങൾ കമാൻഡുകൾ നൽകുക:

Adduser #പുതിയ ഉപയോക്താവ്# passwd #newuser#

എവിടെ #പുതിയ ഉപയോക്താവ്#— നിങ്ങളുടെ പുതിയ ഉപയോക്തൃനാമം, പതിവായി ഉപയോഗിക്കുന്നവ ഒരു ഉപയോക്തൃനാമമായി ഉപയോഗിക്കരുത്, ഒരു നല്ല ഓപ്ഷൻ your_nameadmin(ഉദാഹരണത്തിന്, foxadmin, useralex, rootidler).

2. അതിനുശേഷം, ഒരു പുതിയ ഉപയോക്തൃനാമവും പാസ്‌വേഡും ഉപയോഗിച്ച് SSH വഴി ലോഗിൻ ചെയ്യുക. കമാൻഡ് ഉപയോഗിച്ച് SSH ഡെമൺ കോൺഫിഗറേഷൻ (sshd_config) തുറക്കുക:

Vi /etc/ssh/sshd_config

അതിനുശേഷം നിങ്ങൾ ഇതുപോലുള്ള ഒന്ന് കാണണം:

എന്ന് തുടങ്ങുന്ന വരികൾ # അഭിപ്രായപ്പെടുന്നു.

ലേക്ക് വമ്പിച്ച ബ്രൂട്ട്ഫോഴ്സിൽ നിന്ന് SSH-നെ സംരക്ഷിക്കുക, അഭിപ്രായമിടാതെ താഴെ പറയുന്ന പരാമീറ്ററുകൾ മാറ്റുക അല്ലെങ്കിൽ ചേർക്കുക ഫയൽ:
a) തുറമുഖം- ഏത് തുറമുഖം എസ്.എസ്.എച്ച്.ഡികണക്ഷനുകൾ സ്വീകരിക്കുകയും സേവനങ്ങൾ നൽകുകയും ചെയ്യുന്നു. അഭിപ്രായമിടാതിരിക്കുക (ലൈൻ ആരംഭിക്കുന്നതിന് മുമ്പ് ഇല്ലാതാക്കുക # ) കൂടാതെ ഡിഫോൾട്ട് മൂല്യം മാറ്റുക 22 , റിസർവ് ചെയ്തവ ഒഴികെ 1024 മുതൽ 65536 വരെയുള്ള മറ്റെന്തെങ്കിലും - റിസർവ് ചെയ്ത പോർട്ടുകളുടെ ഒരു ലിസ്റ്റ്, ഉദാഹരണത്തിന്:

പോർട്ട് 2022

ഇല്ലാതാക്കാൻ # മൂല്യം മാറ്റുകയും ചെയ്യുക തുറമുഖം 22, നിങ്ങളുടെ കീബോർഡിൽ ആദ്യം അമർത്തുക , ആവശ്യമായ ലൈൻ എഡിറ്റ് ചെയ്ത ശേഷം, കീ അമർത്തുക ഇഎസ്സി

b) LoginGraceTime— സിസ്റ്റത്തിൽ ഉപയോക്തൃ രജിസ്ട്രേഷനായി കാത്തിരിക്കുന്ന സമയം. ഈ നിർദ്ദേശം അനുവദിച്ച സമയത്തിനുള്ളിൽ ഉപയോക്താവ് ലോഗിൻ ചെയ്യുന്നതിൽ പരാജയപ്പെട്ടാൽ, സെഷൻ അവസാനിപ്പിക്കും. നമുക്ക് ഈ മൂല്യം കുറയ്ക്കാം:

LoginGraceTime 1m

സി) PermitRootLogin- ഉപയോക്താവിനെ അനുവദിക്കുക റൂട്ട് SSH പ്രോട്ടോക്കോൾ വഴി ലോഗിൻ ചെയ്യുക. നമുക്ക് മാറാം ഇല്ല.

PermitRootLogin നമ്പർ

d) ഉപയോക്താക്കളെ അനുവദിക്കുക— SSH പ്രോട്ടോക്കോൾ വഴി ലോഗിൻ ചെയ്യാൻ അനുവദിച്ചിരിക്കുന്ന ഉപയോക്തൃനാമങ്ങൾ, ഒരു സ്പേസ് കൊണ്ട് വേർതിരിച്ചിരിക്കുന്നു. ഇവിടെ, #your_login# എന്നതിനുപകരം, ഞങ്ങൾ പുതിയതായി സൃഷ്ടിച്ച ഉപയോക്തൃനാമം സൂചിപ്പിക്കുന്നു.

ഉപയോക്താക്കളെ അനുവദിക്കുക #നിങ്ങളുടെ_ലോഗിൻ#

ഇ) MaxAuthTries- ഓരോ സെഷനിലും ലോഗിൻ ശ്രമങ്ങളുടെ എണ്ണം. അനുവദനീയമായ പരമാവധി ശ്രമങ്ങൾ എത്തുമ്പോൾ, സെഷൻ അവസാനിപ്പിക്കും.

MaxAuthTries 2

ഫലമായി നമുക്ക് ലഭിക്കുന്നത്:

പോർട്ട് 2022 ലോഗിൻഗ്രേസ്ടൈം 1മി പെർമിറ്റ്റൂട്ട്ലോഗിൻ ഉപയോക്താക്കളെ അനുവദിക്കില്ല #your_login# MaxAuthTries 2

ഈ ലേഖനത്തിൽ ഞങ്ങൾ സജ്ജീകരണം പൂർത്തിയാക്കും എസ്.എസ്.എച്ച്പിണ്ഡത്തിനെതിരായ സംരക്ഷണത്തിനായി മൃഗീയ ശക്തി. എഡിറ്റ് ചെയ്ത ശേഷം , കീബോർഡിൽ അമർത്തുക : , താഴെ ഒരു വരി പ്രത്യക്ഷപ്പെടുകയും അതിൽ നൽകുക wqകീ അമർത്തുക നൽകുക. ഈ സാഹചര്യത്തിൽ, വരുത്തിയ എല്ലാ മാറ്റങ്ങളും സംരക്ഷിക്കപ്പെടും.

നിങ്ങൾ എന്തെങ്കിലും തെറ്റ് ചെയ്തിട്ടുണ്ടെങ്കിൽ (ഉദാഹരണത്തിന്, അബദ്ധത്തിൽ എന്തെങ്കിലും ഇല്ലാതാക്കി), സംരക്ഷിക്കാതെ പുറത്തുകടക്കാൻകീബോർഡ് കുറുക്കുവഴിക്ക് പകരം ഉപയോഗിക്കുക wq, കീകൾ q!

SSH സജ്ജീകരണം പൂർത്തിയാക്കിയ ശേഷം, കമാൻഡ് ഉപയോഗിച്ച് ഡെമൺ പുനരാരംഭിക്കുക:

സേവനം sshd പുനരാരംഭിക്കുക

ഇപ്പോൾ SSH വഴി ബന്ധിപ്പിക്കുമ്പോൾ, പുതിയ പോർട്ട് ഉപയോഗിക്കുക 2022 (അല്ലെങ്കിൽ നിങ്ങൾ ക്രമീകരണങ്ങളിൽ വ്യക്തമാക്കിയ ഒന്ന്) പകരം സ്റ്റാൻഡേർഡ് പോർട്ട് 22.

എസ്എസ്എച്ച് സജ്ജീകരിക്കുന്നതിനെക്കുറിച്ചുള്ള അടുത്ത ലേഖനത്തിൽ, ഞങ്ങൾ പാസ്‌വേഡ് പ്രാമാണീകരണം നിരോധിക്കുമെന്നും ഒരു സ്വകാര്യ എസ്എസ്എച്ച് കീ ഉപയോഗിച്ച് മാത്രമേ അംഗീകാരം അനുവദിക്കൂവെന്നും അതുവഴി പാസ്‌വേഡ് ഊഹത്തിൽ നിന്ന് കഴിയുന്നത്ര സ്വയം പരിരക്ഷിക്കുമെന്നും നിങ്ങളോട് പറയാൻ ഞാൻ ആഗ്രഹിക്കുന്നു.

എന്നിവരുമായി ബന്ധപ്പെട്ടു

ഈ ചെറിയ കുറിപ്പിൽ, ഒരു ssh സെർവറിന്റെ സുരക്ഷ വർദ്ധിപ്പിക്കുന്നതിനുള്ള വഴികൾ ഞാൻ ഒരുമിച്ച് ചേർത്തിട്ടുണ്ട്. ഏറ്റവും അടിസ്ഥാനപരവും ലളിതവുമായ സാങ്കേതിക വിദ്യകൾ വിവരിച്ചിരിക്കുന്നു, കൂടുതൽ സങ്കീർണ്ണമായവ താൽപ്പര്യമുള്ള വായനക്കാർക്ക് മാത്രം സൂചിപ്പിച്ചിരിക്കുന്നു.

അടിസ്ഥാന ടെക്നിക്കുകൾ

എല്ലാ പ്രവർത്തനങ്ങളും sshd ഡെമൺ കോൺഫിഗറേഷൻ ഫയലിൽ നടപ്പിലാക്കുന്നു - /etc/ssh/sshd_config. താഴെ ഞാൻ എന്റെ കോൺഫിഗറേഷൻ ഫയലിന്റെ ഒരു ഭാഗം കമന്റുകൾക്കൊപ്പം നൽകും.

### നെറ്റ്‌വർക്ക് ### # ഞങ്ങൾ ഒരു നിലവാരമില്ലാത്ത പോർട്ട് (>1024) പോർട്ട് 5679 ഉപയോഗിക്കുന്നു # ഞങ്ങൾ IPv4 കണക്ഷനുകൾ മാത്രം ഉപയോഗിക്കുന്നു # inet = IPv4, inet6 = IPv6, ഏതെങ്കിലും = രണ്ടും AddressFamily inet # നിങ്ങൾക്ക് ചില IP-യിൽ നിന്നുള്ള കണക്ഷനുകൾ മാത്രമേ സ്വീകരിക്കാൻ കഴിയൂ. വിലാസങ്ങൾ #ListenAddress 0.0. 0.0 # ഞങ്ങൾ പ്രോട്ടോക്കോളിന്റെ രണ്ടാമത്തെ പതിപ്പ് ഉപയോഗിക്കുന്നു, കാരണം ആദ്യത്തേത് # അറിയപ്പെടുന്ന പ്രോട്ടോക്കോൾ 2 കേടുപാടുകൾക്ക് വിധേയമാണ് # നിങ്ങൾക്ക് ഇത് വ്യക്തമായി ആവശ്യമുള്ളത് വരെ ഗ്രാഫിക്സ് റീഡയറക്ഷൻ (X സെർവർ) അപ്രാപ്‌തമാക്കുക 600 സെക്കന്റ്) നിഷ്ക്രിയത്വത്തിന്റെ ClientAliveInterval 600 ClientAliveCountMax 3 ### കീ കോൺഫിഗറേഷൻ ഫയലുകൾ ### # പ്രോട്ടോക്കോൾ പതിപ്പിനുള്ള HostKeys HostKey /etc/ssh/ssh_host_rsa_key ക്ലയന്റ് ട്രാഫിക് # സാൻഡ്‌ബോക്‌സ് - openSSH >= 5.9 ("അതെ" - താഴ്ന്ന പതിപ്പുകൾക്ക്) UsePrivilegeSeparation സാൻഡ്‌ബോക്‌സ് # ഈ മൂല്യങ്ങൾ മാറ്റുമ്പോൾ, പഴയ കീ # /etc/ssh/ssh_host_rsa_key(,.pub) ഇല്ലാതാക്കി പുതിയത് സൃഷ്‌ടിക്കേണ്ടതുണ്ട് # sshd പുനരാരംഭിക്കുന്നതിലൂടെ. # # പ്രധാന ജീവിതകാലം, അതായത്. മുമ്പത്തേത് ഉപയോഗിച്ചിട്ടുണ്ടെങ്കിൽ ഏത് സമയത്തിന് ശേഷം ഒരു പുതിയ കീ # ജനറേറ്റ് ചെയ്യും. KeyRegenerationInterval 1h # key strength ServerKeyBits 2048 # ഒരു പൊതു കീ ഉപയോഗിച്ച് അംഗീകാരം അനുവദിക്കുക LogLevel INFO ### Authentication ### # അനുവദനീയമായ ഉപയോക്താക്കളുടെ ലിസ്റ്റ് AllowUsers ivan # ssh കീ LoginGraceTime 30s എന്നതിനായുള്ള പാസ്‌വേഡ് നൽകുന്നതിനുള്ള സമയം പരിമിതപ്പെടുത്തുക # റൂട്ട് അക്കൗണ്ടിന് കീഴിലുള്ള റിമോട്ട് ലോഗിൻ നിരോധിക്കുക PermitRootLogin no # ഫയലുകളുടെ അവകാശങ്ങളുടെ വ്യക്തമായ പരിശോധന പ്രവർത്തനക്ഷമമാക്കുക കൂടാതെ ssh കീകളുള്ള ഡയറക്‌ടറികളും StrictModes അതെ # നിങ്ങൾ അത് തെറ്റായി നൽകിയാൽ ഒരു പാസ്‌വേഡ് എത്ര തവണ ആവശ്യപ്പെടും MaxAuthTries 3 # ഒരു ശൂന്യമായ പാസ്‌വേഡ് ഉപയോഗിച്ച് ലോഗിൻ ചെയ്യുന്നത് നിരോധിക്കുക PermitEmptyPasswords ഇല്ല # ഒരു പാസ്‌വേഡ് ഉപയോഗിച്ച് ലോഗിൻ ചെയ്യുന്നത് തത്ത്വത്തിൽ നിരോധിക്കുക # (പകരം ഒരു പൊതു/സ്വകാര്യ കീ ഉപയോഗിക്കുക) പാസ്‌വേഡ് പ്രാമാണീകരണം നമ്പർ # "ചലഞ്ച്-റെസ്‌പോൺസ്" അംഗീകാരത്തിന്റെ ഉപയോഗം അപ്രാപ്‌തമാക്കുക, # കാരണം . ChallengeResponseAuthentication കീകൾ ഉപയോഗിക്കുമ്പോൾ അത് ഉപയോഗശൂന്യമാണ് no # ഞങ്ങൾ ഒരു പാസ്‌വേഡ് ഉപയോഗിക്കാത്തതിനാൽ, ഞങ്ങൾക്ക് ആവശ്യമില്ല (PAM, login(1)) UsePAM ഇല്ല UseLogin no # ഒരു നിശ്ചിത പരിസ്ഥിതി വേരിയബിളുകൾ മാത്രം പാസ് ചെയ്യാൻ ക്ലയന്റിനെ അനുവദിക്കുക # RH BZ#CVE-2014-2532 # ShellShock exploit AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES സ്വീകരിക്കുകEnv LC_PAPER LC_NAME LC_ADDRESSMENT LC_ADDRESSMENT LC_ADDRESSMENT LC_ADDRESS അംഗീകൃത എല്ലാം

ഇവയാണ് sshd കോൺഫിഗറേഷൻ ഫയലിൽ ക്രമീകരിച്ചിരിക്കുന്ന പരാമീറ്ററുകൾ. ക്രമീകരണങ്ങൾ മാറ്റിയ ശേഷം, നിങ്ങൾ sshd സേവനം പുനരാരംഭിക്കേണ്ടതുണ്ട്.

അഭിപ്രായങ്ങൾ

  • കീ പ്രാമാണീകരണം ഉപയോഗിക്കുമ്പോൾ, ഒരു കീ ആവശ്യമാണ് മുമ്പ്ക്ലയന്റ് മെഷീനിൽ ജനറേറ്റ് ചെയ്യുകയും പബ്ലിക് കീ സെർവറിലേക്ക് പകർത്തുകയും ചെയ്യുക. ഉദാഹരണം:
ക്ലയന്റ് $ ssh-keygen ക്ലയന്റ് $ cat ~/.ssh/id_rsa.pub | ssh -p 5679 [ഇമെയിൽ പരിരക്ഷിതം]"പൂച്ച >> ~/.ssh/authorized_keys"
  • /var/log/auth.log എന്ന ഫയലിൽ നിന്നുള്ള സന്ദേശങ്ങൾ അടങ്ങിയിരിക്കും sshd. ഈ ഫയൽ നഷ്‌ടമായാൽ, നിങ്ങളുടെ ലോഗിംഗ് സിസ്റ്റം കോൺഫിഗർ ചെയ്യേണ്ടതുണ്ട്. syslog, syslon-ng എന്നിവയ്ക്കുള്ള ഉദാഹരണം. ഞാൻ syslog-ng ഉപയോഗിക്കുന്നു, കൂടാതെ /etc/syslog-ng/syslog-ng.conf ഫയലിലേക്ക് ഇനിപ്പറയുന്ന വരികൾ ചേർക്കേണ്ടതുണ്ട്:
ഡെസ്റ്റിനേഷൻ authlog (ഫയൽ("/var/log/auth.log"); ); ലോഗ് (ഉറവിടം (എസ്ആർസി); ലക്ഷ്യസ്ഥാനം (ഓത്ത്ലോഗ്); );

കൂടാതെ syslog-ng സേവനം പുനരാരംഭിക്കുക.

  • നിങ്ങൾ ഒരു നോൺ-സ്റ്റാൻഡേർഡ് പോർട്ട് ഉപയോഗിക്കുകയാണെങ്കിൽ, നിങ്ങളുടെ ഫയർവാൾ കോൺഫിഗർ ചെയ്യേണ്ടതായി വന്നേക്കാം (iptables, firewalld മുതലായവ).
    ഉദാഹരണം iptables-നുള്ള ക്രമീകരണങ്ങൾ:
root# iptables -A INPUT -p tcp -m state --state NEW, ESTABLISHED --dport 5679 -j accept root# service iptables save root# iptables -L -n ചെയിൻ ഇൻപുട്ട് (നയം സ്വീകരിക്കുക) ടാർഗെറ്റ് പ്രോറ്റ് സോഴ്സ് ഡെസ്റ്റിനേഷൻ icmp സ്വീകരിക്കുക -- 0.0.0.0/0 0.0.0.0/0 tcp സ്വീകരിക്കുക -- 0.0.0.0/0 0.0.0.0/0 നില പുതിയ tcp dpt:22 tcp അംഗീകരിക്കുക -- 0.0.0.0.0/0 നില 0.0.0.0/0 tcp dpt :80 tcp സ്വീകരിക്കുക -- 0.0.0.0/0 0.0.0.0/0 നില പുതിയത്, സ്ഥാപിതമായ tcp dpt:5679 ...

അത് പോരാ

ഇവ അടിസ്ഥാന ക്രമീകരണങ്ങൾ മാത്രമാണ്. കൂടാതെ, നിങ്ങൾക്ക് ക്രമീകരിക്കാൻ കഴിയും

  • ഫയർവാൾ (iptables)