Harpidedun bakoitzeko gailu bat agintzen duten tunel zerbitzuek gutxitan lortzen dute promesa hori MaxSessions-etik, eta lehen probak normalean frogatzen du. Harpidedunak bigarren ssh prozesu bat irekitzen du, lehen saioa martxan jarraitzen du, eta bi tunelak trafikoa daramate. Konfigurazio aukera bakoitzak zerbait desberdina zenbatzen du, eta batek ere ez ditu gailuak zenbatzen. Promesa lehenengo izendatzeak haien arteko aukera begi-bistakoa egiten du.

Zer zenbatzen duen aukera bakoitzak benetan

MaxSessions-ek konexio sare autentifikatu batek daraman saio irekien kopurua mugatzen du. Hemen saioa shell bat, exec eskaera bat, SFTP bezalako azpisistema bat edo SSH transport bakarraren barruan multiplexatutako antzeko kanal bat da. Bigarren ssh dei batek bigarren transport bat irekitzen du, berriro autentifikatzen da eta bere baimena jasotzen du. Lehen konexioaren saio kopurua ez zaio beharrezkoa.

MaxStartups-ek oraindik autentifikatu gabeko konexio aldi berean mugatzen ditu, hasierako atalase, tasa eta atalase oso gisa adierazita. Badago, erdi irekitako esku-keinuen bolada batek daemonaren autentifikazio aurreko baliabideak agortu ezin ditzan. Bezero bat autentifikatzen denean, konexio hori MaxStartups-en aurka zenbatzen uzten du eta norbaiten saio bihurtzen da. Inoiz ez zen erabiltzaile bakoitzeko kuota bat, eta igotzeak ez dio harpidedunari gehiago egiten uzten.

Gailuen erregistro araua ez da inola ere sshd aukera bat. Kredentzialak igortzen dituen eta zein gailuk dituen jarraitzen duen sistema horri dagokio, hau da, erregistroa, inbentarioa eta errebokazioa behar ditu, kontagailu bat ez. Baldintza hori sshd konfigurazioan nahastea da diseinu hauetako gehienak trabatzen diren tokia.

Non uzten dion MaxSessions-ek kuota izateari

Match User bloke batek erabiltzaile horri zein konfigurazio balio aplikatzen zaizkion aldatzen du, beraz leku naturala da zerbitzu kontu baterako MaxSessions zorrotzagoa ezartzeko. Ezin duena konexioen artean agregatzea da, aukera transport bakoitzeko ebaluatzen delako. Bi transporteek bakoitzak bere muga jasotzen du, eta erabiltzaileak blokeak uzten duenaren bikoitza izaten du.

Birbidalketa aparteko sorpresa da. TCP birbidalketak ez du saio kanalik behar, beraz MaxSessions 0-k shellak eta azpisistemak debeka ditzake -L eta -R tunelak oraindik baimenduz. Bakarrik birbidaltzen duen eta saio kopurua bere tunel kuota gisa hartzen duen zerbitzu batek ez du ezer neurtzen. Portaera hori OpenSSH zerbitzariaren konfigurazio erreferentzian dokumentatuta dago, eta merezi du irakurtzea aukera izen baten inguruan diseinatu aurretik.

Bota konfigurazio eraginkorra, kargatuta dagoela uste duzun fitxategia beharrean. Sartzeek eta drop-in direktorioek sarritan esan nahi dute indarrean dagoen balioa ez dela editatu duzun balioa.

MaxStartups-ek daemona babesten du, ez harpideduna

MaxStartups-en hiru zatiko formak azaltzen du zenbat autentifikatu gabeko konexio egon daitezkeen daemona berrien ehuneko bat botatzen hasi aurretik. Bere forma lehenetsia badago autentifikatu gabeko SSH konexio bat irekitzea merkea delako eta mantentzea garestia delako. Zerbitzariarentzako baliabide babeserako kontrol bat da, eta guztiei aldi berean aplikatzen zaie.

Saio hasiera ekaitz batean igotzeak daemonaren babesa onarpenarekin trukatzen du, batzuetan truke egokia eta beti nahitakoa. Ez du ezer egiten bigarren tunel bat nahi duen harpidedunarentzat, lehen tunela jada autentifikatuta dagoelako. Biak nahasteak sintoma okerra konpontzen duen eta aldi berean zerbitzaria ahultzen duen aldaketa dakar.

Saio hasierak boladetan ukatzen direnean, begiratu daemonaren erregistroan autentifikazio aurreko mezua bi aukera horietako edozein ukitu aurretik. Mezuak zein zaindari aktibatu zen izendatzen du, eta zaindariak ez dira trukagarriak.

Erabiltzaile bakoitzeko postu batek egoera partekatua behar du

Benetako transport aktibo bakarreko politikak sshd-tik kanpo nonbait gordetzen den erreserba bat behar du. Onarpen urratsak kontuaren postua atomikoki erreklamatu behar du, konexioa ixten denean askatu, bezero bat itxi gabe desagertzen denean iraungi, eta saiakera berri bat baztertu edo zaharra ordezkatzen duen erabaki. Azken erabaki hori produktu erabaki bat da, ez xehetasun teknikoa, tunel aktibo bat ordezkatzeak norbait deskonektatzen duelako.

Erreserba kontua onartzen duen zerbitzari bakoitzak partekatu behar du. Tokiko kontagailu independenteak dituzten bi hostek bi muga bereizi aplikatzen dituzte, eta beste ate batetik berriro konektatzen den harpidedunak bigarren postua doan lortzen du. Egoera gordetzen duen edozein gauzak bere hutsegite portaera behar du, eskuragarri ez dagoen biltegi batek harpidedun guztiak blokeatu behar ez dituelako.

Gailu bakarreko promesa baterako, jaulki kredentzial bereizi bat erregistratutako gailu bakoitzeko eta kontrola ezazu erregistroa eta errebokazioa geruza horretan. Kopiatutako gako pribatu bat oraindik edonondik autentifikatzen da, beraz erabiltzaile bakoitzeko gako bat jaulkitzea ez da zenbat makinak daukaten froga.

Egiaztatu politika bi konexio errealekin

Idatzi onarpen probak komando gisa politika idatzi aurretik. Bost kasuak hauek dira: lehenengoa aktibo dagoela irekitako bigarren transport bat, transport bakarrean hainbat kanal, portuak soilik birbidaltzen dituen bezero bat, esteka erori ondorengo berrikonexioa, eta kontu bera beste ate batera iristea.

Irakurri lehenengo muga eraginkorrak, gero ireki politikak baztertu beharko lituzkeen konexioak. Probaren bi erdiak garrantzitsuak dira, eta batek ez du bestea ordezkatzen.

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]

Exekutatu tunel komandoa bi aldiz bi terminaletan eta zenbatu 22 portuan ezarritako konexioak. Biek trafikoa daramatenean zure politikak transport aktibo bat baieztatzen duen bitartean, politika dokumentazioa da, ez betearazpena. Konpondu hutsune hori onarpen geruzan, ez MaxSessions jaitsiz eta bigarren transportak nabarituko duen espero izanez.

Erlazionatutako artikuluak