OpenVPNek terminaletik irakurtzen du pasahitza, ez stdin-etik
Non irakurtzen duen OpenVPNek pasahitza benetan, zergatik huts egiten duen stdin-en jarritako fitxategi batek, eta Linux eta macOS-en script bidezko saioa hasteko onartutako hiru bideak.
OpenVPN erabiltzaile-izena eta pasahitza kontrol-terminalean eskatzen ditu, eta sarrera estandarrera birbideratutako fitxategi bat ez da terminal hori. Detaile bakar horrek azaltzen du pasahitza hodian bertan egonda zintzilik geratzen den scripta. Bezeroak marrazten du eskaera eta irakurketa terminal-gailutik egiten da, beraz stdin birbideratzeak ez du ezer aldatzen. Elikatu bezeroa bere dokumentatutako sarrera-bideetako batetik eta script berak lehen saioan konektatuko du.
Hiru bidek ia kasu guztiak estaltzen dituzte, eta bakoitzak bere moduan huts egiten du. Aukeratu bezeroak benetan erakusten duen eskaeraren arabera, script bidez errazten den aukeraren arabera baino.
Eskaera ez dator stdin-etik
OpenVPNek kredentzialak behar dituenean kontrol-terminala irekitzen du eta hantxe irakurtzen du. Horregatik proba interaktiboa ondo dagoela dirudi eta cron edo unit fitxategi baten azpian komando bera geldirik dago, inork begiratzen ez duen erregistro batean idatzitako eskaerarekin. Bertsio batzuek sarrera estandarrera egiten dute atzera terminalik ez dagoenean, eta koherentzia-ezak porrot gogor batek baino okerragoa dirudi, arazoa hedapenera arte ezkutatzen duelako.
Egiaztatu ingurunea kode lerro bat idatzi aurretik: exekutatu bezeroa erabiltzaile berarekin, stdin berarekin, planifikatzaileak edo zerbitzu-kudeatzaileak egingo lukeen bezala. Eskaera inoiz erregistroan agertzen ez bada eta prozesuak aurrera egiten ez badu, zerbait existitzen ez den terminal baten zain dago.
Lehen bidea: bi lerroko kredentzial-fitxategia
Autentifikazio-aukera bide bat hartzen du, eta fitxategiak zehazki bi lerro ditu, erabiltzaile-izena eta gero pasahitza, beste ezer gabe. Eman bidea esplizituki, ez fidatu lehenetsitako fitxategi-izen batekin, lantegiko direktorioan galdutako kredentzial-fitxategi bat baita kontu okerra erabilerara iristeko modua. Ezarri modua 0600 eta eman jabetza bezeroa exekutatzen duen kontuari.
Bezeroak fitxategi hori behin irakurtzen du abiaraztean, beraz pasahitza biratzeak prozesua berrabiaraztea esan nahi du. Hori izaten da normalean nahi duzun jokabidea, eta runbook-ean dagokio, biratze-prozeduraren ondoan.
Bigarren bidea: askpass gakoaren pasaesaldirako
Pasaesaldiz babestutako gako pribatu batek bigarren eskaera desberdin bat sortzen du, eta horrek badu bere fitxategi-erantzuna: askpass aukerak pasaesaldia fitxategi baten lehen lerrotik irakurtzen du. SSH-n oinarritutako tuneletarako baliokidea bezeroak exekutatzen duen askpass programa da, eta haren irteera estandarra sekretu bihurtzen da.
Inongo formak ez du sekretua argumentuen zerrendan jartzen, eta biek fitxategi gisa edo inprimatzen duen exekutagarri gisa uzten diote existitzen. Babesa fitxategi-baimenak eta prozesu-jabetza dira, ez iluntasuna. Kodean txertatutako katea oihartzuten duen laguntzailea sekretu bat da urrats gehiagorekin.
Hirugarren bidea: atari-bezeroaren CLI propioa
Enpresako bezeroek komando-lerroko sarrera-puntu bat izaten dute, leihoik gabe izendatutako atari batera konektatzen dena, eta hori da onartutako bidea. Linuxen GlobalProtect bezeroak konexio- eta ziurtagiri-inportazio-eragiketak eskaintzen ditu bere CLIaren bidez, eta ziurtagiri-autentifikazioa erabiltzen duten atariak inportazio-urratsa behar dute konexio automatizatu batek lan egin baino lehen. Hobe ezazu tekla-sakatze sintetikoen aurrean: benetako irteera-egoera lortzen duzu, leihoko fokuarekiko mendekotasunik ez, eta blokeatutako pantaila bat gainditzen du.
Lehen konexioak pertsona bat behar badu ziurtagiri bat onartzeko, automatizazioa ez dago amaituta. Egin inportazioa konfigurazioan eta idatzi aurretiko baldintza gisa.
Fluxuak sasi-terminal bat behar duenean
Pasahitza eta gero erabilera bakarreko kodea eskatzen dituen segidak ez du irakurtzeko fitxategi bakarra. Expect bezalako terminal-gidari bat da tresna egokia, eredu bakoitzaren zain baitago txandaka, eta prozesua abiarazita behar du ezer bat etorri baino lehen.
Bi porrotek menderatzen dute. Bezeroa abiarazi gabe eskaera baten zain geratzen den scripta betiko geratzen da zain, eta Tcl ez da shell bat, beraz expect bloke baten barruan idatzitako shell-aritmetika ez da irakurtzen den bezala ebaluatzen. Mantendu arazketa-bandera piztuta ereduak eraikitzen dituzun bitartean, eta gero itzali.
Ihes egiten duten sekretuak, eta non ezkutatzen diren
Argumentu gisa pasatzen den edozer prozesuen zerrendan ikusgai dago, beraz kredentzialak fitxategi batean edo laguntzaile baten atzean dagozkio, ez inoiz komando-lerroan. Erabilera bakarreko kodeak diseinuz kontsumitzen dira eta saio bakoitzerako sortu behar dira. Porrot-erregistroek erabiltzaile-izena eta batzuetan gehiago eramaten dute, beraz redaktatu itzazu inora bidali aurretik, eta atxiki sekretua profilaren kanpoan, pasahitza txertatuta duen konfigurazio-fitxategi bat ticket eta biltegietan itsasten baita. Kontua biratzeak kopia bakoitzaren ehiza esan nahi du orduan, eta hori da hain zuzen diseinu honek saihesten duen kostua.
Auditatu aukeratu dituzun bideak, eta gero konektatu benetan bezeroa exekutatuko duen unit fitxategi edo planifikatzailera. Tunela prozesu hori bezainbeste bizi da.