MaxSessions, MaxStartups അല്ലെങ്കിൽ ഉപകരണ രജിസ്ട്രേഷൻ: ഏത് SSH പരിധി തിരഞ്ഞെടുക്കണം
MaxSessions ഒരു ട്രാൻസ്പോർട്ടിലെ ചാനലുകൾ എണ്ണുന്നു, MaxStartups സാക്ഷ്യപ്പെടുത്താത്ത ഹാൻഡ്ഷേക്കുകൾ സംരക്ഷിക്കുന്നു, രണ്ടും ഉപകരണങ്ങൾ എണ്ണുന്നില്ല. ആദ്യം വാഗ്ദാനം തീരുമാനിക്കുക.
ഓരോ വരിക്കനും ഒരു ഉപകരണം വാഗ്ദാനം ചെയ്യുന്ന ടണൽ സേവനങ്ങൾക്ക് ആ വാഗ്ദാനം MaxSessions-ൽ നിന്ന് അപൂർവ്വമായി മാത്രമേ ലഭിക്കൂ, ആദ്യ പരിശോധന അത് സാധാരണയായി തെളിയിക്കുന്നു. വരിക്കൻ രണ്ടാമതൊരു ssh പ്രക്രിയ തുറക്കുന്നു, ആദ്യ സെഷൻ പ്രവർത്തനം തുടരുന്നു, രണ്ട് ടണലുകളും ട്രാഫിക് വഹിക്കുന്നു. ഓരോ കോൺഫിഗറേഷൻ ഓപ്ഷനും വ്യത്യസ്ത കാര്യം എണ്ണുന്നു, അവയൊന്നും ഉപകരണങ്ങൾ എണ്ണുന്നില്ല. വാഗ്ദാനത്തിന് ആദ്യം പേര് നൽകുന്നതാണ് അവയ്ക്കിടയിലുള്ള തിരഞ്ഞെടുപ്പ് വ്യക്തമാക്കുന്നത്.
ഓരോ ഓപ്ഷനും യഥാർത്ഥത്തിൽ എന്താണ് എണ്ണുന്നത്
MaxSessions ഒരു സാക്ഷ്യപ്പെടുത്തിയ നെറ്റ്വർക്ക് കണക്ഷൻ വഹിക്കുന്ന തുറന്ന സെഷനുകളുടെ എണ്ണം പരിമിതപ്പെടുത്തുന്നു. ഇവിടെ സെഷൻ എന്നാൽ ഷെൽ, exec അഭ്യർത്ഥന, SFTP പോലുള്ള സബ്സിസ്റ്റം, അല്ലെങ്കിൽ ഒരു SSH ട്രാൻസ്പോർട്ടിനുള്ളിൽ മൾട്ടിപ്ലക്സ് ചെയ്ത സമാന ചാനൽ. രണ്ടാമത്തെ ssh വിളി രണ്ടാമതൊരു ട്രാൻസ്പോർട്ട് തുറക്കുന്നു, വീണ്ടും സാക്ഷ്യപ്പെടുത്തുന്നു, സ്വന്തം അനുമതി നേടുന്നു. ആദ്യ കണക്ഷന്റെ സെഷൻ എണ്ണം അതിന് അപ്രസക്തമാണ്.
MaxStartups ഇതുവരെ സാക്ഷ്യപ്പെടുത്താത്ത ഏകകാലിക കണക്ഷനുകളെ ആരംഭ പരിധി, നിരക്ക്, പൂർണ്ണ പരിധി എന്നിവയായി പരിമിതപ്പെടുത്തുന്നു. പകുതി തുറന്ന ഹാൻഡ്ഷേക്കുകളുടെ സ്ഫോടനം സാക്ഷ്യപ്പെടുത്തലിന് മുമ്പ് ഡീമണിന്റെ വിഭവങ്ങൾ തീർത്തുകളയാതിരിക്കാനാണ് ഇത്. ഒരു ക്ലയന്റ് സാക്ഷ്യപ്പെടുത്തിയാൽ ആ കണക്ഷൻ MaxStartups-നെതിരെ എണ്ണുന്നത് നിർത്തി ആരുടെയോ സെഷനാകുന്നു. ഇത് ഒരിക്കലും ഓരോ ഉപയോക്താവിനുമുള്ള കോട്ട ആയിരുന്നില്ല, അത് ഉയർത്തുന്നത് വരിക്കന് കൂടുതൽ ചെയ്യാൻ അനുവദിക്കുന്നുമില്ല.
ഉപകരണ രജിസ്ട്രേഷൻ നിയമം sshd ഓപ്ഷനേ അല്ല. അത് ക്രെഡൻഷ്യലുകൾ നൽകുകയും ഏത് ഉപകരണം അവ കൈവശം വയ്ക്കുന്നു എന്ന് ട്രാക്ക് ചെയ്യുകയും ചെയ്യുന്ന ഏതൊരു സിസ്റ്റത്തിനും സ്വന്തമാണ്, അതായത് എണ്ണലിനു പകരം രജിസ്ട്രേഷൻ, ഇൻവെന്ററി, റദ്ദാക്കൽ ആവശ്യമാണ്. ഈ ആവശ്യകത sshd കോൺഫിഗറേഷനിൽ കലർത്തുന്നതാണ് ഈ ഡിസൈനുകളിൽ മിക്കതും കുടുങ്ങുന്ന സ്ഥലം.
MaxSessions എവിടെവെച്ച് കോട്ടയല്ലാതാകുന്നു
Match User ബ്ലോക്ക് ആ ഉപയോക്താവിന് ഏത് കോൺഫിഗറേഷൻ മൂല്യങ്ങൾ ബാധകമെന്ന് മാറ്റുന്നു, അതിനാൽ സേവന അക്കൗണ്ടിന് കർശനമായ MaxSessions സജ്ജീകരിക്കാനുള്ള സ്വാഭാവിക സ്ഥലമാണിത്. ചെയ്യാൻ കഴിയാത്തത് കണക്ഷനുകൾക്കിടയിൽ സമാഹരിക്കലാണ്, കാരണം ഓപ്ഷൻ ഓരോ ട്രാൻസ്പോർട്ടിനും വിലയിരുത്തുന്നു. രണ്ട് ട്രാൻസ്പോർട്ടുകൾക്ക് അവരവരുടെ പരിധി ലഭിക്കുന്നു, ബ്ലോക്ക് അനുവദിക്കുന്നതിന്റെ ഇരട്ടി ഉപയോക്താവിന് അവസാനം ലഭിക്കുന്നു.
ഫോർവേഡിംഗ് ഒരു പ്രത്യേക അത്ഭുതമാണ്. TCP ഫോർവേഡിംഗിന് സെഷൻ ചാനൽ ആവശ്യമില്ല, അതിനാൽ MaxSessions 0 ഷെല്ലുകളും സബ്സിസ്റ്റങ്ങളും വിലക്കുമ്പോൾ -L, -R ടണലുകൾ അനുവദിക്കാം. ഫോർവേഡിംഗ് മാത്രം ചെയ്യുകയും സെഷൻ എണ്ണം തന്റെ ടണൽ കോട്ടയായി കണക്കാക്കുകയും ചെയ്യുന്ന സേവനം ഒന്നും അളക്കുന്നില്ല. ആ സ്വഭാവം OpenSSH സെർവർ കോൺഫിഗറേഷൻ റഫറൻസിൽ രേഖപ്പെടുത്തിയിട്ടുണ്ട്, ഓപ്ഷൻ നാമത്തെ ചുറ്റിപ്പറ്റി രൂപകൽപ്പന ചെയ്യുന്നതിന് മുമ്പ് അത് വായിക്കേണ്ടതാണ്.
ലോഡ് ചെയ്തതായി നിങ്ങൾ കരുതുന്ന ഫയലിനുപകരം ഫലപ്രദമായ കോൺഫിഗറേഷൻ ഡംപ് ചെയ്യുക. ഉൾപ്പെടുത്തലുകളും drop-in ഡയറക്ടറികളും പലപ്പോഴും അർത്ഥമാക്കുന്നത് പ്രാബല്യത്തിലുള്ള മൂല്യം നിങ്ങൾ തിരുത്തിയ മൂല്യമല്ല എന്നാണ്.
MaxStartups വരിക്കനെയല്ല, ഡീമണിനെ സംരക്ഷിക്കുന്നു
MaxStartups-ന്റെ മൂന്ന് ഭാഗ രൂപം, ഡീമൺ പുതിയവയുടെ ഒരു ശതമാനം ഉപേക്ഷിക്കാൻ തുടങ്ങുന്നതിന് മുമ്പ് എത്ര സാക്ഷ്യപ്പെടുത്താത്ത കണക്ഷനുകൾ ഉണ്ടാകാമെന്ന് വിവരിക്കുന്നു. അതിന്റെ സ്ഥിര രൂപം ഉള്ളത് സാക്ഷ്യപ്പെടുത്താത്ത SSH കണക്ഷൻ തുറക്കാൻ വിലകുറഞ്ഞതും നിലനിർത്താൻ ചെലവേറിയതുമായതിനാലാണ്. ഇത് സെർവറിനുള്ള വിഭവ സംരക്ഷണ നിയന്ത്രണമാണ്, എല്ലാവർക്കും ഒരേ സമയം ബാധകമാണ്.
ലോഗിൻ കൊടുങ്കാറ്റിനിടയിൽ അത് ഉയർത്തുന്നത് ഡീമണിന്റെ സംരക്ഷണം പ്രവേശനത്തിന് കൈമാറുന്നു, അത് ചിലപ്പോൾ ശരിയായ കൈമാറ്റവും എപ്പോഴും ബോധപൂർവ്വവുമാണ്. രണ്ടാമതൊരു ടണൽ ആഗ്രഹിക്കുന്ന വരിക്കന് അത് ഒന്നും ചെയ്യുന്നില്ല, ആദ്യ ടണൽ ഇതിനകം സാക്ഷ്യപ്പെടുത്തിയതാണ്. രണ്ടും കൂട്ടിക്കലർത്തുന്നത് തെറ്റായ ലക്ഷണം ശരിയാക്കുകയും അതേ സമയം സെർവർ ദുർബലമാക്കുകയും ചെയ്യുന്ന മാറ്റത്തിലേക്ക് നയിക്കുന്നു.
ലോഗിനുകൾ കൂട്ടമായി നിരസിക്കപ്പെടുമ്പോൾ, ഏതെങ്കിലും ഓപ്ഷനിൽ സ്പർശിക്കുന്നതിന് മുമ്പ് ഡീമൺ ലോഗിൽ സാക്ഷ്യപ്പെടുത്തലിന് മുമ്പുള്ള സന്ദേശം നോക്കുക. സന്ദേശം ഏത് കാവൽക്കാരൻ പ്രവർത്തിച്ചു എന്ന് പേരിടുന്നു, കാവൽക്കാർ പരസ്പരം മാറ്റിവയ്ക്കാവുന്നവരല്ല.
ഓരോ ഉപയോക്താവിനുമുള്ള സ്ലോട്ടിന് പങ്കിട്ട അവസ്ഥ വേണം
യഥാർത്ഥ ഒരു സജീവ ട്രാൻസ്പോർട്ട് നയത്തിന് sshd-ന് പുറത്ത് എവിടെയോ സൂക്ഷിക്കുന്ന ഒരു റിസർവേഷൻ ആവശ്യമാണ്. പ്രവേശന ഘട്ടം അക്കൗണ്ടിന്റെ സ്ലോട്ട് ആറ്റോമികമായി ക്ലെയിം ചെയ്യണം, കണക്ഷൻ അടയ്ക്കുമ്പോൾ അത് വിടണം, ക്ലയന്റ് അടയ്ക്കാതെ അപ്രത്യക്ഷമാകുമ്പോൾ കാലഹരണപ്പെടുത്തണം, പുതിയ ശ്രമം നിരസിക്കണോ പഴയതിനെ മാറ്റിസ്ഥാപിക്കണോ എന്ന് തീരുമാനിക്കണം. ആ അവസാന തീരുമാനം ഒരു ഉൽപ്പന്ന തീരുമാനമാണ്, സാങ്കേതിക വിശദാംശമല്ല, കാരണം സജീവ ടണൽ മാറ്റിസ്ഥാപിക്കുന്നത് ആരെയോ വിച്ഛേദിക്കുന്നു.
അക്കൗണ്ട് സ്വീകരിക്കുന്ന ഓരോ സെർവറും റിസർവേഷൻ പങ്കിടണം. സ്വതന്ത്ര പ്രാദേശിക കൗണ്ടറുകളുള്ള രണ്ട് ഹോസ്റ്റുകൾ രണ്ട് വേറിട്ട പരിധികൾ നടപ്പാക്കുന്നു, മറ്റേ ഗേറ്റ്വേ വഴി വീണ്ടും ബന്ധിപ്പിക്കുന്ന വരിക്കന് സൗജന്യമായി രണ്ടാമതൊരു സ്ലോട്ട് ലഭിക്കുന്നു. അവസ്ഥ സൂക്ഷിക്കുന്ന ഏതിനും സ്വന്തം പരാജയ സ്വഭാവം ആവശ്യമാണ്, എത്തിച്ചേരാനാകാത്ത സ്റ്റോർ എല്ലാ വരിക്കരെയും പുറത്താക്കരുത്.
ഒരു ഉപകരണ വാഗ്ദാനത്തിന്, രജിസ്റ്റർ ചെയ്ത ഓരോ ഉപകരണത്തിനും പ്രത്യേക ക്രെഡൻഷ്യൽ നൽകി ആ പാളിയിൽ രജിസ്ട്രേഷനും റദ്ദാക്കലും നിയന്ത്രിക്കുക. പകർത്തിയ സ്വകാര്യ കീ ഇപ്പോഴും എവിടെനിന്നും സാക്ഷ്യപ്പെടുത്തുന്നു, അതിനാൽ ഓരോ ഉപയോക്താവിനും ഒരു കീ നൽകുന്നത് അത് എത്ര യന്ത്രങ്ങൾ കൈവശം വയ്ക്കുന്നു എന്നതിന് തെളിവല്ല.
രണ്ട് യഥാർത്ഥ കണക്ഷനുകളുമായി നയം പരിശോധിക്കുക
നയം എഴുതുന്നതിന് മുമ്പ് സ്വീകാര്യതാ പരിശോധനകൾ കമാൻഡുകളായി എഴുതുക. അഞ്ച് സന്ദർഭങ്ങൾ: ആദ്യത്തേത് സജീവമായിരിക്കെ തുറക്കുന്ന രണ്ടാമത്തെ ട്രാൻസ്പോർട്ട്, ഒരു ട്രാൻസ്പോർട്ടിനുള്ളിൽ ഒന്നിലധികം ചാനലുകൾ, പോർട്ടുകൾ മാത്രം ഫോർവേഡ് ചെയ്യുന്ന ക്ലയന്റ്, ലിങ്ക് വീണതിന് ശേഷമുള്ള പുനർബന്ധനം, അതേ അക്കൗണ്ട് മറ്റൊരു ഗേറ്റ്വേയിൽ എത്തുന്നത്.
ആദ്യം ഫലപ്രദമായ പരിധികൾ വായിക്കുക, പിന്നീട് നയം നിരസിക്കേണ്ട കണക്ഷനുകൾ തുറക്കുക. ആ പരിശോധനയുടെ രണ്ട് പകുതികളും പ്രധാനമാണ്, ഒന്നും മറ്റൊന്നിന് പകരമല്ല.
sshd -T | grep -iE "maxsessions|maxstartups|allowtcpforwarding|permitopen"
ss -tn state established '( sport = :22 )' | head
ssh -N -L 8080:127.0.0.1:80 [email protected]രണ്ട് ടെർമിനലുകളിൽ ടണൽ കമാൻഡ് രണ്ടുതവണ പ്രവർത്തിപ്പിച്ച് പോർട്ട് 22-ൽ സ്ഥാപിതമായ കണക്ഷനുകൾ എണ്ണുക. നിങ്ങളുടെ നയം ഒരു സജീവ ട്രാൻസ്പോർട്ട് അവകാശപ്പെടുമ്പോൾ രണ്ടും ട്രാഫിക് വഹിക്കുന്നുവെങ്കിൽ, നയം നിർവ്വഹണമല്ല, രേഖയാണ്. ആ വിടവ് പ്രവേശന പാളിയിൽ പരിഹരിക്കുക, MaxSessions കുറച്ച് രണ്ടാമത്തെ ട്രാൻസ്പോർട്ട് ശ്രദ്ധിക്കുമെന്ന് പ്രതീക്ഷിച്ചുകൊണ്ടല്ല.