Niekto sa pýta, či VPN beží, a traja rôzni ľudia tým myslia tri rôzne veci. Operátor tým myslí, že profil Office dokončil overovanie. Plánovač tým myslí, že súkromné API odpovie. Bezpečnostná revízia tým myslí, že táto konkrétna požiadavka vyšla chránenou cestou. Skript, ktorý grepom hľadá v tabuľke trás názov rozhrania, spoľahlivo neodpovedá na žiadnu z nich.

Kontrolný zoznam sa preto začína skôr, než sa spustí akýkoľvek príkaz: pomenujte subjekt kontroly. Všetko po tom je výber rozhrania, ktoré to skutočne dokáže hlásiť.

Pomenujte subjekt pred príkazom

Napíšte otázku ako predikát so subjektom. „Je profil Office pripojený“ je testovateľné a má vlastníka, ktorý na to dokáže odpovedať. „Dokáže táto úloha dosiahnuť interné API“ je druhý predikát s iným režimom zlyhania. „Používa táto požiadavka chránenú cestu“ je tretí a jediný, ktorý hovorí o jednom toku, nie o celom stroji.

Ich miešanie vytvára automatizáciu, ktorá sebavedomo klame. Úloha, ktorá skontroluje stav profilu a potom predpokladá, že API je pripravené, zavolá niekoho na nesprávnej vrstve, a úloha, ktorá pingne API a vydá to za dôkaz tunela, nedokáže rozlíšiť fungujúcu VPN od notebooku, ktorý náhodou visí v kancelárskej sieti.

Jeden profil: pýtajte sa toho, kto ho vlastní

Pre natívnu službu Macu presne toto hlásia ovládacie prvky sieťového pripojenia v scutil. Čítajú stav pomenovanej konfigurácie namiesto toho, aby niečo odvodzovali z rozhrania.

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

Názov profilu v tomto príkaze musí byť skutočný z výstupu zoznamu, nie odhad. Je to cesta len na čítanie pre natívne služby a nie je zárukou, že sa tam klient tretej strany vôbec objaví; poskytovateľ, ktorý si spravuje vlastný tunel, potrebuje vlastné podporované stavové rozhranie. Skontrolujte zoznam, kým napíšete stavové volanie, aby chýbajúci názov viditeľne zlyhal, a nie aby sa potichu s ničím nezhodoval.

V aplikácii Network Extension čítajte stav z objektov správcu a pripojenia, nie zo systému. Pozor na rozsah: načítanie uložených konfigurácií vráti len tie, ktoré vytvorila volajúca aplikácia, takže prázdny výsledok znamená „žiadna moja“, nie „na tomto Macu nie je žiadne VPN“. Rozlišujte neúspešnú požiadavku od potvrdeného odpojeného stavu a prechodové stavy berte ako vlastné výsledky namiesto toho, aby ste znova skúšali pripojenie, ktoré sa už nadväzuje.

Jedna úloha: pripravenosť je samostatný predikát

Ak je otázkou, či úloha môže pokračovať, otestujte skutočnú závislosť úlohy po tom, čo vlastník pripojenia ohlási zamýšľaný stav. Obmedzená kontrola pripravenosti voči súkromnému prostriedku je správny tvar: dokazuje, čo úloha potrebuje, a nič viac.

Stále nedokáže dokázať, že každá požiadavka na stroji používa tunel, a nemala by sa hlásiť, ako keby to dokázala. Rovnako prostriedok, ktorý odpovedá cez bežnú sieť, nie je dôkazom VPN, a preto obe kontroly zostávajú oddelené, aj keď obe uspejú.

Keď úloha naozaj vyžaduje chránenú cestu, táto požiadavka potrebuje vlastný dizajn presadzovania v nasadení: smerovanie, výnimky rozdeleného tunela, pravidlo firewallu alebo požiadavku na úrovni aplikácie. Dostupnosť koncového bodu je fakt o serveri. Presadzovanie je fakt o konfigurácii klienta a jedno nedokazuje druhé.

Jeden tok: prezrite zvolenú trasu

Pri jedinom toku sa pozerajte na cieľ, rodinu adries a kontext zdroja pomocou diagnostiky smerovania, ktorá hlási zvolenú cestu pre tento konkrétny cieľ. Tento výstup pomenúva skutočne použité rozhranie a zdrojovú adresu, čo je oveľa silnejšie tvrdenie ako záznam predvolenej trasy.

Široké kontroly v prehliadači odpovedajú na úplne inú otázku. Výsledok verejnej IP opisuje, ako jedna požiadavka vyzerala z pohľadu jedného servera, a nehovorí nič o súkromnom DNS, vylúčených aplikáciách ani o druhom sieťovom kontexte, ktorý používa iný proces.

Vráťte výsledok, ktorý volajúci dokáže použiť

Zvoľte tvar návratu, ktorý zodpovedá predikátu: pomenovaný stav profilu, verdikt o pripravenosti prostriedku alebo výslovné neznámo s dôkazmi, ktoré ho vytvorili. Vedľa verdiktu zachovajte identitu konfigurácie a dôvod zlyhania.

Práve ten posledný zvyk robí rozdiel medzi automatizáciou, ktorá pomáha, a automatizáciou, ktorá skrýva problémy. „Office VPN: odpojené, posledný pokus zlyhal pri overovaní“ povie operátorovi, kam sa pozrieť. „VPN je dole“ zve na preinštalovanie a „rozhranie nájdené“ zve na falošné všetko v poriadku.

Referenčná dokumentácia Network Extension k načítavaniu uložených konfigurácií tunela je miesto, kde si potvrdíte rozsah volajúcej aplikácie, kým na tom niečo postavíte.

Súvisiace články