MaxSessions, MaxStartups әлде құрылғыны тіркеу: қай SSH шегін таңдау керек
MaxSessions бір транспорт ішіндегі арналарды санайды, MaxStartups аутентификацияланбаған қол алысуды қорғайды, және екеуі де құрылғыларды санамайды. Алдымен уәдені шешіңіз.
Әр абонентке бір құрылғы уәде ететін туннельдік қызметтер бұл уәдені MaxSessions-тан сирек алады, және бірінші тест әдетте соны дәлелдейді. Абонент екінші ssh процесін ашады, бірінші сессия жұмысын жалғастырады, және екі туннель де трафикті тасымалдайды. Әр конфигурация опциясы әртүрлі нәрсені санайды, және олардың ешқайсысы құрылғыларды санамайды. Уәдені бірінші атау олардың арасындағы таңдауды айқын етеді.
Әр опция шын мәнінде нені санайды
MaxSessions бір аутентификацияланған желілік қосылым тасымалдайтын ашық сессиялардың санын шектейді. Мұндағы сессия — shell, exec сұранысы, SFTP сияқты ішкі жүйе немесе бір SSH транспортының ішінде мультиплекстелген ұқсас арна. Екінші ssh шақыруы екінші транспорт ашады, қайта аутентификацияланады және өз рұқсатын алады. Бірінші қосылымның сессия саны оған қатысы жоқ.
MaxStartups әлі аутентификацияланбаған қатарлас қосылымдарды шектейді, олар бастапқы шек, жылдамдық және толық шек ретінде көрсетіледі. Ол жартылай ашық қол алысулардың жарылысы демонның аутентификацияға дейінгі ресурстарын таусып алмауы үшін бар. Клиент аутентификацияланғаннан кейін бұл қосылым MaxStartups-қа қарсы саналудан қалады және біреудің сессиясына айналады. Ол ешқашан пайдаланушыға шаққандағы квота болған емес, және оны көтеру абонентке көбірек істеуге мүмкіндік бермейді.
Құрылғыны тіркеу ережесі мүлдем sshd опциясы емес. Ол тіркелгі деректерін беретін және қай құрылғы оларды ұстайтынын қадағалайтын жүйеге жатады, бұл санауыштың орнына тіркеу, түгендеу және кері қайтару қажет дегенді білдіреді. Бұл талапты sshd конфигурациясына араластыру — осы жобалардың көпшілігі тұрып қалатын жер.
MaxSessions қай жерде квота болудан қалады
Match User блогы қандай конфигурация мәндерінің сол пайдаланушыға қолданылатынын өзгертеді, сондықтан қызметтік тіркелгі үшін қатаңырақ MaxSessions орнатудың табиғи орны осы. Ол істей алмайтыны — қосылымдар арасында біріктіру, өйткені опция әр транспорт бойынша бағаланады. Екі транспорт әрқайсысы өз шегін алады, және пайдаланушы соңында блок рұқсат еткеннен екі есе көп алады.
Қайта бағыттау — бөлек тосынсый. TCP қайта бағыттау сессия арнасын қажет етпейді, сондықтан MaxSessions 0 shell мен ішкі жүйелерге тыйым сала алады, ал -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-ты төмендетіп, екінші транспорт байқайды деп үміттенумен емес.