Kysy hallintaliittymältä tila kerran, ja se alkaa näyttää tilaportilta. Se ei ole sitä. Kun asiakas on hyväksytty, se voi antaa protokollan hallintakomentoja, ja asiakasta ajava tili perii kaiken, mitä nuo komennot voivat tehdä daemonille. Sen kohteleminen vain luku -virtana on se virhe, joka muuttaa valvontaintegraation todennuksettomaksi konsoliksi.

Uskomus ja sen hinta

Uskomus on, että hallintakuuntelija vastaa mittauspäätepistettä: kiinnitä kerääjä, lue laskurit, jatka matkaa. Todellisuudessa kerääjä avaa istunnon, jolla on hallintakyvyt, ja jokainen muu käyttöönotosta tekemäsi oletus riippuu nyt siitä, että tämä kerääjä käyttäytyy hyvin.

Mikään liittymässä ei mainosta vain luku -tilaa. Valittavana ei ole tarkkailijan roolia, eikä määrityksissä oleva käyttäjänimi luo sellaista.

Mitä hyväksytty asiakas todella pitää

Yhteisön daemon hyväksyy kerrallaan vain yhden aktiivisen hallinta-asiakkaan. Tämä yksi paikka tarkoittaa, että GUI, skripti ja valvonta-agentti eivät voi kaikki liittyä; toinen odottaa tai epäonnistuu, kun ensimmäinen pitää istuntoa. Jos suunnitelmasi olettaa samanaikaisia lukijoita, se on jo väärä.

Kun määräaikainen tilannekuva riittää, tilatiedoston tuloste antaa samat luvut ilman live-istuntoa. Sen tiedoston kirjoittaminen väliajoin ja lukeminen tavallisilla tiedosto-oikeuksilla pitää kerääjän kokonaan ohjaustason ulkopuolella, ja se on järjestely, jonka useimmat valvontaratkaisut itse asiassa tarvitsevat.

Oma soketti, ei avoin

Unix-verkkotunnuksen soketti pitää ohjauspolun pois verkosta, mikä poistaa ongelmasta vaihtuvan tunneliosoitteen. Se ei poista lupakysymystä. Yläkansion on oltava palvelutilin kirjoitettavissa ja ohjaimen tilin saavutettavissa, ja ne ovat kaksi erillistä myönnytystä:

management /run/openvpn/office-management.sock unix /etc/openvpn/management.password
management-client-user vpn-observer
management-client-group vpn-observer

Salasanatiedosto kantaa hallintasalaisuuden ensimmäisellä rivillään. Suojaa tuo tiedosto kuin mikä tahansa muu tunniste, ja pidä sen sisältö poissa lokeista ja tukipyynnöistä. Käyttäjä- ja ryhmärajoitukset ovat vertaistarkistuksia Unix-soketissa, eivät tiedostojärjestelmän oikeuksia, joten tarkoitettu prosessi tarvitsee sekä tiedostopääsyn että vastaavan identiteetin.

Soketin tekeminen kaikkien ulottuville lupavirheen poistamiseksi on se yksi korjaus, jota on vältettävä. Se muuttaa paikallisen ohjauskanavan joksikin, jota mikä tahansa isännän prosessi voi ajaa.

Julkaisu TCP:n yli ei ole sama suunnitelma

Kuuntelijan siirtäminen TCP-porttiin ei tee siitä turvallisempaa tai kätevämpää. Hallintasalasana lähetetään selkokielisenä, joten TCP-kuuntelija paljastaa sekä tunnisteen että istunnon kenelle tahansa, joka voi tarkkailla polkua. Siihen pääseminen toiselta isännältä vaatii valtuutetun hallintakanavan tai pienen paikallisen agentin, joka paljastaa vain tarvitsemasi havainnot.

Salasana selkokielisessä siirrossa on todennus ilman luottamuksellisuutta, ja tuo yhdistelmä on pahempi kuin miltä se näyttää, koska se tuntuu suojatulta.

Käynnistysriippuvuudet, joita et pyytänyt

Useat hallintavaihtoehdot muuttavat daemonin elinkaarta. Käynnistyksen pidättäminen, kunnes ohjain yhdistää, tai lopettaminen, kun ohjain katoaa, muuttaa valinnaisen tarkkailijan kovaksi riippuvuudeksi. Kaatuva valvonta-agentti veisi silloin tunnelin mukanaan.

Käy nuo vaihtoehdot läpi ennen kuin otat käyttöön mitään muuta kuin itse soketin. Valinnaisen tarkkailun pitäisi pysyä valinnaisena, eikä uudelleenkäynnistyskäytäntöä pitäisi kytkeä kerääjään, joka lisättiin kuvaajia varten.

Epäonnistuneen prosessin jälkeen jäänyt sokettitiedosto ei ole todiste kuuntelijan olemassaolosta. Selvitä, mikä instanssi omistaa polun, ennen kuin poistat sen, ja käytä palvelun omaa palautustyönkulkua sen sijaan, että poistaisit tiedostoja käynnissä olevan daemonin alta.

Miltä hyväksyntä näyttää

Neljä tarkistusta kattavat suunnitelman: aiottu ohjaimen identiteetti yhdistää, prosessi ilman tuota identiteettiä hylätään, daemon selviytyy ohjaimesta, joka katkaisee ilman varoitusta, ja tunneli kuljettaa yhä liikennettä hallitun uudelleenkäynnistyksen läpi. Onnistunut hallintayhteys todistaa vain ohjaustason. Se ei kerro mitään siitä, toimiiko yksityisten sovellusten liikenne, joten testaa sitä erikseen. Kirjoita neljä tulosta sinne, mistä seuraava operaattori löytää ne.

Hallintaliittymän dokumentaatio kuvaa yhden asiakkaan mallin ja protokollan etuoikeutetun luonteen, ja se on osa, joka kannattaa lukea ennen kuin osoitat siihen kojelaudan.

Aiheeseen liittyvät artikkelit