OpenVPN ootab systemd parooliküsimust: kas vastata?
systemd parooliküsimus on teenuse päring, mitte lüüsi otsus. Otsusta, millist saladust küsitakse ja kes peaks vastama.
Terminalis ilmub teade systemd-tty-ask-password-agent kohta ja tunnel ei ole püsti. Ahvatlev tõlgendus on, et VPN lükkas parooli tagasi ja miski ootab nüüd parandust. Täpsem on öelda, et teenus palus systemdilt interaktiivset sisendit ja päringule ei ole veel vastatud. Milline teenus küsis ja millist saladust see tahab, on kaks küsimust, mille saad lahendada enne, kui midagi trükid.
Kes peaks vastama, otsustavad kaks tingimust
Esimene tingimus on, kas käivitasid selle eksemplari sihilikult. Päring, mis järgneb sinu tegevusele, on sinu vastata, ja see, mis ilmub ilma vastava tegevuseta, kuulub millelegi muule. Teine on, kas saladus on konto autentimine või võtme kaitse, sest need elavad eri kohtades ja liiguvad eri kooditeid pidi. Mõlemad vastused on logis näha, kui vaatad enne tegutsemist.
Kui mõlemad vastused on selged, on otsus lihtne: vasta teenuse enda toetatud päringutee kaudu. Kui kumbki on ebaselge, on õige samm uurida, mitte trükkida parooli päringusse, mida sa ei suuda omistada.
See ongi kogu reegel ja seda tasub öelda enne käske. Kõik alljärgnev tuleneb sellest.
Loetle päring enne, kui midagi trükid
Agent saab loetleda, mis on ootel, ilma millelegi vastamata. sudo systemd-tty-ask-password-agent --list trükib ootel päringud ja see väljund on tõend, mida vajad päringu ja üksuse sidumiseks. Loe see enne mandaadi andmist läbi ja hoia päringute kirjeldused igast avalikust diagnostilisest kleepimisest eemal.
Seo loend alustatud toiminguga ja üksusega, mis seda omab. Kui loendis ei vasta miski sinu tegevusele, kuulub nähtud päring teisele teenusele ega ole sinu lahendada. Loendis olev üksuse nimi on ainus usaldusväärne side päringu ja teenuse vahel.
Ära vasta päringule, mida sa ei suuda omistada. Ootamise hind on viivitus, vale päringu vastamise hind on aga mandaat vales kohas.
Millist saladust eksemplar tegelikult vajab?
auth-user-pass puudutab konto autentimist VPN-teenuse vastu ja ilma mandaadifailita on dokumenteeritud käitumine küsida konsoolil. askpass seevastu hangib paroolifraasi, mis avab kaitstud võtmemeetme, ja teeb seda enne, kui protsess taustale läheb. Need on erinevad saladused erineva elueaga.
Ka failivormingud erinevad. Konto vorm ootab kasutajanime rida ja parooli rida, samas kui võtme paroolifraasi fail loeb esimest rida oma paroolina. Mandaadifaili retsepti kopeerimine teisest rollist annab tavaliselt veel ühe päringu, mitte lahenduse. Vale kujuga fail on hullem kui ükski fail, sest tõrge liigub kohta, mida keegi ei jälgi.
Kontrolli, millist direktiivi eksemplar kasutab, enne kui otsustad, mida trükkida. Direktiivi nimi ütleb sulle, millise saladuse jaoks päring on.
Mida --query teeb ja --list ei tee
--query töötleb iga ootel päringu kutsuvas terminalis, mis on palju laiem toiming kui ühele päringule vastamine. See ei ole OpenVPN-i valija ja hõivatud masinas võib see vastata teistele üksustele kuuluvatele päringutele. Jälgimisrežiim on veelgi laiem, sest see töötleb päringuid nende saabumise järel edasi.
Kasuta kitsaimat mehhanismi, mis töötab. Ühe teenuse jaoks on selle teenuse enda päringuvoog kitsam kui globaalne agent ja see hoiab vastuse seotud üksusega, mis küsis.
Ühekordse päringu muutmine järelevalveta globaalseks agendiks sellepärast, et teade ilmus korra, on viis, kuidas ajutisest tüütusest saab püsiv disain. Sama ettevaatlikkus kehtib parooliteavituse üksuste keelamise kohta kogu hostis.
Otsusta ja siis fikseeri valik
Järelevalveta juurutuse puhul lepi ühenduse omanikuga kokku mandaadi allikas, failiõigused ja uuendamise ajakava. Interaktiivne teine tegur võib vajada inimest või sihtotstarbelist teenuse identiteeti. Päringu maha surumine ei anna seda autentimist ja auth-user-pass eemaldamine rikub ainult teenuse, mis seda vajab.
Pärast suhtlust vaata sama eksemplari selle järgmise sündmuse jaoks ja testi privaatset ressurssi. Kui miski ei ole ootel, pöördu tagasi eksemplari oleku juurde, selle asemel et käivitada hostis iga OpenVPN-i üksus.