OpenVPN paleidimo metu išspausdina įspėjimą, siūlantį auth-nocache, ir gundantis atsakymas yra pridėti parinktį ir stebėti, kaip eilutė dingsta. Šis patarimas daro prielaidą, kad prisijungiama interaktyviai. Kai vartotojo vardas ir slaptažodis gyvena faile, palyginimas pasikeičia: parinktis nustoja saugoti ilgalaikę kopiją, o kliente, kuris atsisako privilegijų, ji vėliau gali sugadinti pakartotines derybas. Du saugojimo modelius verta laikyti atskirai prieš redaguojant profilį.

Du būdai atsakyti į prisijungimo duomenų prašymą

Pirmasis modelis – žmogus, įvedantis duomenis terminale, arba valdymo sąsaja, laikanti juos sesijos metu. OpenVPN laiko tą kopiją, kad galėtų atsakyti į kitas pakartotines derybas neprašydamas dar kartą, ir įspėjimas būtent apie tai. Diske nieko nėra, todėl vienintelis saugotinas dalykas yra procesas, laikantis reikšmę. Uždarykite klientą, ir kopija dingsta kartu su juo.

Antrasis modelis yra auth-user-pass , nurodantis failą, kuriame failas yra saugykla, o klientas jį skaito, kai reikia reikšmės. Čia svarbi apsaugos spraga yra ne proceso atmintis, o to failo teisės ir savininkas. Paleidimo įspėjimas kyla iš konfigūracijos direktyvų, o ne iš patikros, kaip pateikiate slaptažodį, todėl jis pasirodo abiejuose modeliuose ir nenurodo nė vieno.

Likusi šio palyginimo dalis kyla iš to skilimo: atminties tvarkymas vienam modeliui, failo tvarkymas ir proceso tapatybė kitam.

Ką auth-nocache iš tikrųjų išmeta

Interaktyviai prisijungus --auth-nocache pašalina saugomą kopiją iš atminties ją panaudojus. Kaina – naujas prašymas kiekvienu pakartotinių derybų intervalu, nes kitas ratas negali pakartotinai panaudoti to, kas buvo išmesta.

Prisijungus naudojant failą klientas gali dar kartą perskaityti failą, todėl išmetimas dažniausiai nematomas. Jis tampa matomas vienoje vietoje, kurioje žmonės to nesitiki: po to, kai tarnyba atsisako privilegijų, jei prisijungimo duomenų failo negali perskaityti paskyra, kurios vardu ji dabar veikia.

Pridėkite parinktį todėl, kad suprantate šį mainą, o ne todėl, kad pasirodė įspėjimas. Parinktis, pridėta tam, kad žurnalas būtų tylesnis, yra parinktis, kurios poveikio niekas neišmatavo.

Kur lūžta failu pagrįstas kelias

Klientas, kuris paleidžiamas kaip root, kad atidarytų tunelio įrenginį, o paskui persijungia į user ir group , skaito prisijungimo duomenų failą du kartus: vieną kartą prieš persijungimą, vieną kartą per kitas pakartotines derybas. Jei failo režimas 600 ir jis priklauso root, antrasis skaitymas nepavyksta, o gedimas pasirodo po valandos kaip autentifikavimo klaida, kuri atrodo kaip serverio problema. Patikrinkite kliento žurnalą apie pakartotinių derybų intervalą, tada patikrinkite paskyrą ir failą kartu.

stat -c '%a %U:%G' /etc/openvpn/client.creds
ps -o user:12,args -C openvpn | head

Abi eilutės svarbios. Pirmoji pasako, kas gali skaityti failą, antroji – kas iš tikrųjų yra veikianti tarnyba, o neatitikimas tarp jų paaiškina gedimą, kurio joks slaptažodžio perrašymas nepataisys.

Praktiniai pataisymai neįspūdingi: perkelkite failą į katalogą ir pas savininką, kurį gali skaityti tarnybos paskyra, arba palikite privilegijuotą skaitymą ir patvirtinkite, kad jūsų klientas skaito tik vieną kartą. Nespręskite to darydami failą skaitomą visiems.

Atvejis, kuriam parinktis tikrai reikalinga

Prisijungimas su vienkartiniu kodu nori auth-nocache dėl kitos priežasties. Vienkartinis kodas išnaudojamas per pirmą autentifikavimą, todėl podėlyje saugoma kopija nenaudinga per kitas pakartotines derybas, o pasenusi reikšmė netgi galėtų būti pakartota.

Tai klausimas apie prisijungimo duomenų tipą, o ne apie tai, kur jie saugomi. Statinis slaptažodis apsaugotame faile turi priešingą profilį: jis turi būti skaitomas per kiekvienas pakartotines derybas, o reikalinga apsauga yra faile.

Laikykite šias dvi priežastis atskirai profilio komentaruose, antraip kitas administratorius manys, kad parinktis yra dėl priežasties, kurią jis būtų pasirinkęs.

Palyginimas viename sprendime

Rinkitės interaktyvų modelį, kai žmogus yra šalia ir šviežumas svarbus, ir priimkite pasikartojantį prašymą kaip jo kainą. Rinkitės failo modelį, kai klientas veikia be priežiūros, ir skirkite pastangas savininkui, režimui ir privilegijų atsisakymui.

Nė vienas modelis savarankiškai nepadaro saugomo slaptažodžio saugaus, ir nė vienas nepadaro paleidimo įspėjimo prasmingo.

Jei įspėjimas buvo vienintelė priežastis, kodėl atidarėte profilį, užrašykite sprendimą, o ne nepaaiškintą parinktį: duomenys ateina iš failo, kurį gali skaityti tarnybos paskyra, pakartotinės derybos buvo matytos sėkmingos, ir OpenVPN 2.6 vadovo skyrius apie pakartotines derybas buvo perskaitytas prieš keičiant jo intervalą. Ta pastaba pergyvena bet kokį atskirą požymį.

Susiję straipsniai