Provjera stanja uređaja kroz VPN ne blokira? Prvo pratite izvještaj
Vaš agent na krajnjoj točki prijavljuje zdravo stanje, a interna se aplikacija ipak otvara. Prođite kroz sakupljač, presudu i blok, pa dokažite odbijanje jednim zahtjevom.
Ako prijenosno računalo čiji su antivirusni potpisi prestali ažurirati prije nekoliko tjedana još uvijek može otvoriti vašu internu aplikaciju, dokument politike rijetko je ono što nije u redu. Tri odvojena sustava moraju se složiti prije nego pristup bude odbijen: nešto mjeri krajnju točku, nešto pretvara to mjerenje u prosudbu dopusti ili odbij, a nešto doista odbacuje promet. Kada neusklađeni uređaj ipak uđe, točno jedna od tih karika nedostaje ili vjeruje dokazima kojima ne bi smjela. Provjere u nastavku idu tim redom i svaka ima toč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 vjerodajnica predočena; ona ne govori ništa o softveru koji radi na računalu koje ju je predočilo. Upravo taj jaz omogućuje kopiranom klijentskom profilu da na nezdravo računalo 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 točku provedbe te otvoreno kaže da je klijent koji laže o vlastitom stanju izvan modela. Ta je napomena važnija od dijagrama: pouzdan modul platforme ne pretvara samoprijavljeno mjerenje u činjenicu.
Držite prikupljač iskrenim glede opsega. Treba prijaviti atribute koje vaša politika imenuje, na uređaju koji traži pristup, i malo što drugo. Agent za inventar koji navodi svaki instalirani paket drukčiji je alat od prikupljača stanja uređaja, a razlika je istodobno problem zadržavanja i problem točnosti. Ako izvještaj ne može biti vezan uz jedan identitet uređaja, procjenitelj nagađa koje je računalo upravo pustio.
Nadzorna ploča s crvenim statusom nije kontrola. Pitajte do čega odbijeni korisnik još može doći: wiki, mrežni folder, port baze podataka? Ispravak 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 naredba vraća cijeli broj pod nazivom productState. Njegovi su bitovi labavo dokumentirani i dobavljači različito pakiraju 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 računala koje 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 prijenosno računalo koje spava tjedan dana pada bez toga da itko tumači oznaku. Zapišite prag uz naredbu, jer se njih dvoje razilaze kada se alat krajnje točke zamijeni.
Pretvorite svako stanje uređaja u pisanu prosudbu
Većina sporova o stanju uređaja zapravo su sporovi o nepoznatom retku. Odlučite ga prije prvog incidenta, u tablici koja imenuje dokaz, prosudbu i vlasnika, da nitko ne improvizira za konzolom pristupnika.
| 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 redak je mjesto gdje se proizvodi razlikuju. Neki pristupnici 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 obranjiva i vrijedi isprobati koji vaš radi.
Držite identitet i dopuštenje u vlastitim trakama. Prijenosno računalo koje 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 sustava. Sabijanje troje u jedan boolean način je na koji račun helpdeska dobije stalni pristup produkciji.
Provjerite put provedbe zahtjevom, a ne nadzornom pločom
Provedba je svojstvo zahtjeva, pa je izmjerite jednim. Stavite neusklađeno računalo 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 uz 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. Usporedite tu adresu s rutom koju pristupnik gura. Na OpenVPN politika po klijentu živi u datotekama ključanima po zajedničkom imenu, pa ju je lako pregledati:
ls /etc/openvpn/ccd/
cat /etc/openvpn/ccd/laptop-17
Datoteka koja sadrži disable posve isključuje tog klijenta, dok linija push "route ..." sužava do čega može doći. Oboje je provedba i oboje je vidljivo svakome ko otklanja pogreške na izvještaju.
Testirajte četiri slučaja na jednom probnom računu
Završna provjera mala je 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 prosudbu u dnevnik procjene, HTTP status koji aplikacija vraća i je li se učitala stranica za ispravak.
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 računalo bilo zdravo 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 tablicom, predajte tri stavke onome tko sljedeći upravlja pristupnikom: naredbe, prag i četiri očekivana ishoda. Upravo je to predavanje pravi rezultat, jer dizajn stanja koji živi samo u dokumentu politike sklizne prvi put kada alat krajnje točke promijeni svoje polje izvještavanja.