Neko pita je li VPN aktivan, a tri različite osobe pod tim podrazumijevaju tri različite stvari. Operater pod tim podrazumijeva da je Office profil završio autentifikaciju. Zakazivač pod tim podrazumijeva da će privatni API odgovoriti. Sigurnosna provjera pod tim podrazumijeva da je taj konkretni zahtjev izašao kroz zaštićenu putanju. Skripta koja grepom pretražuje tablicu ruta tražeći naziv sučelja ne odgovara pouzdano ni na jedno od toga.

Zato kontrolna lista počinje prije nego što se pokrene ijedna naredba: imenujte subjekt provjere. Sve poslije toga je odabir sučelja koje to zaista može prijaviti.

Imenujte subjekt prije naredbe

Napišite pitanje kao predikat sa subjektom. „Je li Office profil povezan“ provjerljivo je i ima vlasnika koji može odgovoriti. „Može li ovaj posao dosegnuti interni API“ drugi je predikat s drukčijim načinom neuspjeha. „Upotrebljava li ovaj zahtjev zaštićenu putanju“ treći je i jedini govori o jednom toku, a ne o cijelom stroju.

Njihovo miješanje stvara automatizaciju koja samouvjereno laže. Posao koji provjeri stanje profila i zatim pretpostavi da je API spreman alarmirat će nekoga na pogrešnom sloju, a posao koji pinguje API i naziva to dokazom tunela ne može razlikovati ispravan VPN od prijenosnika koji se slučajno nalazi na uredskoj mreži.

Jedan profil: pitajte ono što njime upravlja

Za izvornu Mac uslugu, kontrole mrežne veze u scutil prijavljuju upravo to. One čitaju stanje imenovane konfiguracije umjesto da bilo što zaključuju iz sučelja.

scutil --nc list
scutil --nc status "Office VPN"

Naziv profila u toj naredbi mora biti stvarni iz izlaza popisa, a ne pretpostavka. To je putanja samo za čitanje za izvorne usluge i nije jamstvo da će se klijent treće strane uopće pojaviti; pružatelj koji sam upravlja svojim tunelom treba vlastito podržano sučelje za status. Provjerite popis prije nego što napišete poziv za status, kako bi naziv koji nedostaje vidljivo pao, a ne tiho promašio sve.

Unutar Network Extension aplikacije čitajte status iz objekata upravitelja i veze, a ne iz sustava. Pazite na opseg: učitavanje spremljenih konfiguracija vraća samo one koje je stvorila aplikacija koja poziva, pa prazan rezultat znači „nijedna moja“, a ne „nema VPN-a na ovom Macu“. Razlikujte neuspjeli upit od potvrđenog nepovezanog stanja i tretirajte prijelazna stanja kao zasebne ishode umjesto da ponavljate vezu koja se već uspostavlja.

Jedan posao: spremnost je zaseban predikat

Ako je pitanje može li posao nastaviti, testirajte stvarnu ovisnost posla nakon što vlasnik veze prijavi željeno stanje. Ograničena provjera spremnosti prema privatnom resursu pravi je oblik: dokazuje što poslu treba i ništa više.

Ona i dalje ne može dokazati da svaki zahtjev na stroju koristi tunel i ne bi se smjela prijavljivati kao da može. Jednako tako, resurs koji odgovara preko obične mreže nije dokaz VPN-a, zbog čega dvije provjere ostaju odvojene čak i kad obje uspiju.

Kada posao doista zahtijeva zaštićenu putanju, taj zahtjev treba vlastiti dizajn provedbe u okruženju: usmjeravanje, izuzetke podijeljenog tunela, pravilo vatrozida ili zahtjev na razini aplikacije. Dostupnost krajnje točke činjenica je o poslužitelju. Provedba je činjenica o konfiguraciji klijenta i jedno ne dokazuje drugo.

Jedan tok: pregledajte odabranu rutu

Za pojedinačni tok promatrajte odredište, obitelj adresa i izvorni kontekst pomoću dijagnostike usmjeravanja koja prijavljuje odabranu putanju za to konkretno odredište. Taj izlaz navodi sučelje i izvornu adresu koja se doista koristi, što je mnogo jača tvrdnja od unosa zadane rute.

Široke provjere u pregledniku odgovaraju na posve drugo pitanje. Rezultat javne IP adrese opisuje kako je jedan zahtjev izgledao iz perspektive jednog poslužitelja i ne govori ništa o privatnom DNS-u, isključenim aplikacijama ni drugom mrežnom kontekstu koji upotrebljava neki drugi proces.

Vratite rezultat koji pozivatelj može upotrijebiti

Odaberite oblik povrata koji odgovara predikatu: imenovano stanje profila, presudu o spremnosti resursa ili izričito nepoznato s dokazima koji su do toga doveli. Uz presudu zadržite identitet konfiguracije i razlog neuspjeha.

Ta posljednja navika pravi razliku između automatizacije koja pomaže i automatizacije koja skriva probleme. „Office VPN: nepovezan, posljednji pokušaj neuspješan pri autentifikaciji“ kaže operateru gdje pogledati. „VPN je pao“ poziva na ponovnu instalaciju, a „sučelje pronađeno“ poziva na lažno sve je u redu.

Referenca za Network Extension o učitavanju spremljenih konfiguracija tunela pravo je mjesto za potvrdu opsega aplikacije koja poziva prije nego što na tome nešto gradite.

Povezani članci