Kontrola stavu zariadenia cez VPN neblokuje? Najprv prejdite správu
Agent koncového bodu hlási zdravý stav, no interná aplikácia sa stále otvára. Prejdite zberač, verdikt aj blokovanie a potom odmietnutie dokážte jednou požiadavkou.
Ak notebook, ktorého antivírusové podpisy sa prestali aktualizovať pred týždňami, stále dokáže otvoriť vašu internú aplikáciu, dokument s politikou je zriedka to, čo je zle. Skôr než je prístup zamietnutý, musia sa zhodnúť tri oddelené systémy: niečo meria koncový bod, niečo premieňa toto meranie na verdikt povoliť alebo zamietnuť a niečo prevádzku skutočne zahodí. Keď sa nevyhovujúce zariadenie napriek tomu dostane dnu, chýba práve jeden z tých článkov alebo dôveruje dôkazom, ktorým by nemalo. Kontroly nižšie idú v tomto poradí a každá má svoj bod zastavenia.
Blokovanie je posledný krok, nie prvý
Autentifikácia a stav zariadenia odpovedajú na rozdielne otázky. Úspešné prihlásenie dokazuje, že boli predložené prihlasovacie údaje; nehovorí nič o softvéri, ktorý beží na stroji, ktorý ich predložil. Práve touto medzerou môže skopírovaný klientsky profil preniesť zdravo vyzerajúcu reláciu na nezdravý hostiteľ.
Práca na zhode koncových bodov už má pre tento reťazec slovník. Referenčný model NEA v RFC 5209 delí úlohu na zberač, krok vyhodnotenia a miesto presadenia a hovorí otvorene, že klient, ktorý klame o svojom vlastnom stave, stojí mimo modelu. Táto výhrada je dôležitejšia ako diagram: dôveryhodný platformový modul nepremení samostatne hlásené meranie na fakt.
Udržujte zberač čestný, čo sa týka rozsahu. Má hlásiť atribúty, ktoré pomenúva vaša politika, na zariadení, ktoré žiada o prístup, a málo iného. Inventarizačný agent, ktorý vypisuje každý nainštalovaný balík, je iný nástroj než zberač stavu a rozdiel je zároveň problém uchovávania aj presnosti. Ak sa správa nedá zviazať s jednou identitou zariadenia, hodnotiteľ háda, ktorý stroj práve pustil.
Panel s červeným stavom nie je kontrola. Pýtajte sa, kam sa odmietnutý používateľ ešte dostane: na wiki, do zdieľaného priečinka, na port databázy? Náprava potrebuje jednu úzku plochu a všetko ostatné patrí za blokovanie.
Prečítajte správu skôr, než prečítate pravidlo
Začnite pri zdroji, nie pri zelenej fajfke klienta. Vo Windows lokálne meranie pochádza z Defendera alebo z produktu, ktorý sa zaregistroval v Security Center, a oboje sa dá čítať bez konzoly dodávateľa:
Get-MpComputerStatus | Select-Object AMServiceEnabled, RealTimeProtectionEnabled, AntivirusSignatureLastUpdated
Get-CimInstance -Namespace root/SecurityCenter2 -ClassName AntiVirusProduct | Select-Object displayName, productState
Druhý príkaz vracia celé číslo s názvom productState. Jeho bity sú popísané voľne a dodávatelia balia príznaky zapnutia a aktuálnosti rozdielne, preto ho overujte, a nie analyzujte. Balíky tretích strán tiež po odinštalovaní nechávajú záznam v Security Center a ten hlási softvér, ktorý už na disku nie je.
Vek je pole, ktoré ľudia preskakujú. Časová pečiatka podpisu znamená niečo len voči hodinám stroja, ktorý vyhodnotenie vykonáva, preto ju preveďte na interval, a nie ju odhadujte od oka:
$sig = (Get-MpComputerStatus).AntivirusSignatureLastUpdated
[int](New-TimeSpan -Start $sig -End (Get-Date)).TotalHours
Teraz má politika jedno číslo na čítanie. Ak vaše pravidlo hovorí 72 hodín, je to číslo, ktoré používa, a notebook spíaci týždeň zlyhá bez toho, aby niekto interpretoval štítok. Zapíšte prah vedľa príkazu, pretože oba sa rozídu, keď sa nástroj koncového bodu vymení.
Premeňte každý stav zariadenia na písomný verdikt
Väčšina sporov o stav je v skutočnosti sporom o neznámy riadok. Rozhodnite ho pred prvým incidentom v tabuľke, ktorá pomenúva dôkaz, verdikt a vlastníka, aby nikto neimprovizoval pri konzole brány.
| Evidence the assessor has | Verdict | What it protects against |
|---|---|---|
| Timestamp inside the policy window, protective service running | Admit to normal applications | Nothing yet; the other checks still apply |
| Timestamp older than the window | Deny, admit remediation page only | Signature rollback and dormant laptops |
| Service disabled or reporting off | Deny, escalate to the endpoint owner | An agent reporting stale success |
| No report at all for this session | Treat as deny, never as healthy | Agents that fail open under load |
Práve v spodnom riadku sa produkty líšia. Niektoré brány spojenie odmietnu a vysvetlia prečo; iné nechajú tunel vstať a použijú obmedzenú politiku; zopár sa vráti k poslednej známej dobrej správe. Obhájiteľné sú len prvé dve a stojí za to vyskúšať, ktoré robí to vaše.
Udržujte identitu a povolenie vo vlastných koľajach. Notebook, ktorý prejde každým testom stavu, stále potrebuje správne ľudské povolenie pre aplikáciu, a certifikát zariadenia dokazuje držanie kľúča, nie stav súborového systému. Zbaliť tri do jedného booleanu je cesta, ktorou si účet helpdesku zaistí trvalý prístup do produkcie.
Overte cestu presadenia požiadavkou, nie panelom
Presadenie je vlastnosť požiadavky, preto ho zmerajte jednou. Postavte nevyhovujúci stroj do tunela a urobte volanie, aké by urobil skutočný používateľ:
curl -sS -o /dev/null -w '%{http_code}
' --max-time 5 https://app.internal.example/health
Odpoveď 200 od zariadenia, ktoré by malo byť zablokované, znamená, že rozhodnutie sa nikdy nedostalo na cestu údajov. Dve obvyklé príčiny: politika je pripojená ku skupine, do ktorej sa testovací účet nikdy nepridal, alebo je aplikácia dostupná cez trasu, ktorú VPN nevlastní.
Najprv overte predpoklad smerovania. Ak sa interné meno preloží na adresu, na ktorú sa klient už dostane cez miestnu LAN, tunel je nepodstatný a žiadna politika sa neuplatní. Porovnajte tú adresu s trasou, ktorú brána pretláča. Na OpenVPN politika pre jednotlivých klientov žije v súboroch kľúčovaných podľa spoločného mena, takže je ľahké ju prezrieť:
ls /etc/openvpn/ccd/
cat /etc/openvpn/ccd/laptop-17
Súbor obsahujúci disable toho klienta úplne odpojí, kým riadok push "route ..." zužuje, kam sa dostane. Oboje je presadenie a oboje je viditeľné pre každého, kto správu ladí.
Otestujte štyri prípady na jednom skúšobnom účte
Záverečná kontrola je malá matica, nie šťastná cesta. Preveďte jeden testovací účet štyrmi stavmi: aktuálny, prepadnutý podpis, ochrana vypnutá, agent nenainštalovaný. Pri každom zapíšte verdikt do protokolu hodnotenia, stav HTTP, ktorý aplikácia vráti, a či sa načítala stránka nápravy.
foreach ($case in 'current', 'stale', 'disabled', 'absent') {
Get-MpComputerStatus | Select-Object AMServiceEnabled, AntivirusSignatureLastUpdated
curl.exe -sS -o NUL -w "%{http_code}
" --max-time 5 https://app.internal.example/health
}
Dva detaily sa ľahko prehliadnu. Najprv prehratie: správa zachytená, keď bol stroj zdravý, sa nesmie prijať pre neskoršiu reláciu na tom istom zariadení, preto hľadajte časovú pečiatku viazanú na aktuálne spojenie. Potom odstránenie: odinštalovanie agenta má vyvolať rovnaké odmietnutie ako zastaraná správa, nie čistý prechod, a práve tento prípad sa najčastejšie nikdy netestuje.
Keď matica sedí s tabuľkou, odovzdajte tri veci tomu, kto bude bránu spravovať po vás: príkazy, prah a štyri očakávané výsledky. Práve toto odovzdanie je skutočný výstup, pretože návrh stavu, ktorý žije len v dokumente s politikou, sa rozíde pri prvej zmene poľa výkazníctva v nástroji koncového bodu.