Provjera stanja uređaja kroz VPN ne blokira? Prvo ispratite izvještaj
Agent na krajnjoj točki prijavljuje zdravo stanje, ali interna se aplikacija ipak otvara. Prođite kroz prikupljač, presudu i blok, pa dokažite odbijanje jednim zahtjevom.
Ako laptop čije su antivirusne potpise prestale da se ažuriraju prije nekoliko sedmica i dalje može da otvori vašu internu aplikaciju, politički dokument je rijetko ono što nije u redu. Tri odvojena sistema moraju da se slože prije nego pristup bude odbijen: nešto mjeri krajnju točku, nešto pretvara to mjerenje u presudu dozvoli ili odbij, a nešto zaista odbacuje saobraćaj. Kada neusklađeni uređaj ipak uđe, tačno jedna od tih veza nedostaje ili vjeruje dokazima kojima ne bi trebalo. Provjere ispod idu tim redom i svaka ima tačku zaustavljanja.
Blok je posljednji korak, a ne prvi
Autentifikacija i stanje uređaja odgovaraju na različita pitanja. Uspješna prijava dokazuje da je pristupnica predočena; ona ne govori ništa o softveru koji radi na mašini koja ju je predočila. Upravo taj jaz omogućava kopiranom klijentskom profilu da na nezdravi host prenese sesiju koja izgleda zdravo.
Rad na usklađenosti krajnjih točaka već ima rječnik za taj lanac. Referentni model NEA u RFC 5209 dijeli posao na prikupljač, korak procjene i tačku sprovođenja i otvoreno kaže da je klijent koji laže o vlastitom stanju izvan modela. Ta napomena je važnija od dijagrama: pouzdan modul platforme ne pretvara samoprijavljeno mjerenje u činjenicu.
Držite prikupljač iskrenim u pogledu obima. Treba da prijavi atribute koje vaša politika imenuje, na uređaju koji traži pristup, i malo šta drugo. Agent za inventar koji navodi svaki instalirani paket drugačiji je alat od prikupljača stanja uređaja, a razlika je istovremeno problem zadržavanja i problem tačnosti. Ako izvještaj ne može biti vezan za jedan identitet uređaja, procjenjivač nagađa koju je mašinu upravo pustio.
Nadzorna tabla sa crvenim statusom nije kontrola. Pitajte do čega odbijeni korisnik još može doći: wiki, mrežni folder, port baze podataka? Ispravka traži jednu usku površinu, a sve ostalo pripada iza bloka.
Pročitajte izvještaj prije nego pročitate pravilo
Krenite od izvora, a ne od zelene kvačice klijenta. Na Windowsu lokalno mjerenje dolazi od Defendera ili od proizvoda koji se registrirao u Security Center, i oboje se može čitati bez konzole dobavljača:
Get-MpComputerStatus | Select-Object AMServiceEnabled, RealTimeProtectionEnabled, AntivirusSignatureLastUpdated
Get-CimInstance -Namespace root/SecurityCenter2 -ClassName AntiVirusProduct | Select-Object displayName, productState
Druga komanda vraća cijeli broj pod nazivom productState. Njegovi bitovi su labavo dokumentirani i dobavljači različito pakuju zastavice uključenosti i ažurnosti, pa ga potvrdite umjesto da ga raščlanjujete. Paketi trećih strana također ostavljaju unos u Security Center nakon deinstalacije, a on izvještava o softveru kojeg više nema na disku.
Starost je polje koje ljudi preskaču. Vremenska oznaka potpisa ima smisla samo prema satu mašine koja provodi procjenu, pa je pretvorite u interval umjesto da je procjenjujete okom:
$sig = (Get-MpComputerStatus).AntivirusSignatureLastUpdated
[int](New-TimeSpan -Start $sig -End (Get-Date)).TotalHours
Sada politika ima jedan broj za čitanje. Ako vaše pravilo kaže 72 sata, to je broj koji koristi, a laptop koji spava sedmicu pada bez toga da iko tumači oznaku. Zapišite prag uz komandu, jer se njih dvoje razilaze kada se alat krajnje točke zamijeni.
Pretvorite svako stanje uređaja u pisanu presudu
Većina sporova o stanju uređaja zapravo su sporovi o nepoznatom redu. Odlučite ga prije prvog incidenta, u tabeli koja imenuje dokaz, presudu i vlasnika, da niko ne improvizuje za konzolom mrežnog prolaza.
| 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 |
Donji red je mjesto gdje se proizvodi razlikuju. Neki prolazi odbijaju vezu i objašnjavaju zašto; drugi puštaju tunel i primjenjuju ograničenu politiku; rijetki se vraćaju na posljednji poznati dobar izvještaj. Samo su prva dva odbranjiva i vrijedi isprobati koji vaš radi.
Držite identitet i dozvolu u vlastitim trakama. Laptop koji prođe svaki test stanja ipak treba ispravnu ljudsku autorizaciju za aplikaciju, a certifikat uređaja dokazuje posjedovanje ključa, a ne stanje datotečnog sistema. Sabijanje troje u jedan boolean način je na koji račun helpdeska dobije stalni pristup produkciji.
Provjerite put sprovođenja zahtjevom, a ne nadzornom tablom
Sprovođenje je svojstvo zahtjeva, pa ga izmjerite jednim. Stavite neusklađenu mašinu na tunel i uputite poziv kakav bi uputio stvarni korisnik:
curl -sS -o /dev/null -w '%{http_code}
' --max-time 5 https://app.internal.example/health
Odgovor 200 s uređaja koji bi trebao biti blokiran znači da odluka nikada nije stigla na putanju podataka. Dva uobičajena uzroka: politika je vezana za grupu kojoj se testni račun nikada nije pridružio, ili je aplikacija dostupna preko rute koju VPN ne posjeduje.
Prvo provjerite pretpostavku usmjeravanja. Ako se interno ime razrješava na adresu do koje klijent već dolazi preko lokalne LAN mreže, tunel je nebitan i nikakva se politika neće primijeniti. Uporedite tu adresu s rutom koju prolaz gura. Na OpenVPN politika po klijentu živi u datotekama ključanim po zajedničkom imenu, pa ju je lako pregledati:
ls /etc/openvpn/ccd/
cat /etc/openvpn/ccd/laptop-17
Datoteka koja sadrži disable potpuno isključuje tog klijenta, dok linija push "route ..." sužava do čega može doći. Oboje je sprovođenje i oboje je vidljivo svakome ko otklanja greške na izvještaju.
Testirajte četiri slučaja na jednom probnom računu
Završna provjera je mala matrica, a ne sretna staza. Provedite jedan testni račun kroz četiri stanja: aktualno, istekao potpis, zaštita onemogućena, agent nije instaliran. Za svako zapišite presudu u dnevnik procjene, HTTP status koji aplikacija vraća i da li se učitala stranica za ispravku.
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 detalja lako se propuste. Najprije ponavljanje: izvještaj zabilježen dok je mašina bila zdrava ne smije se prihvatiti za kasniju sesiju na istom uređaju, pa tražite vremensku oznaku vezanu uz trenutnu vezu. Zatim uklanjanje: deinstalacija agenta treba proizvesti isto odbijanje kao zastario izvještaj, a ne čist prolaz, i to je slučaj koji se najčešće nikada ne testira.
Kada se matrica poklopi s tabelom, predajte tri stavke onome ko sljedeći upravlja prolazom: komande, prag i četiri očekivana ishoda. Upravo je to predavanje pravi rezultat, jer dizajn stanja koji živi samo u političkom dokumentu sklizne prvi put kada alat krajnje točke promijeni svoje polje izvještavanja.