Nëse një laptop, nënshkrimet antivirus të të cilit ndaluan së përditësuari javë më parë, ende mund të hapë aplikacionin tuaj të brendshëm, dokumenti i politikës rrallë është gjëja që nuk shkon. Tre sisteme të ndara duhet të bien dakord përpara se aksesi të refuzohet: diçka mat pikën fundore, diçka e kthen atë matje në një verdikt lejo ose refuzo, dhe diçka vërtet e hedh poshtë trafikun. Kur një pajisje jo në përputhje hyn gjithsesi, pikërisht një prej atyre hallkave mungon ose i beson provave që nuk duhet. Kontrollet më poshtë shkojnë në atë rend, dhe secila ka një pikë ndalimi.

Bllokimi është hapi i fundit, jo i pari

Vërtetimi dhe gjendja e pajisjes përgjigjen pyetjeve të ndryshme. Një hyrje e suksesshme provon se u prezantua një kredencial; nuk thotë asgjë për softuerin që ekzekutohet në makinën që e prezantoi. Pikërisht ky boshllëk lejon që një profil klienti i kopjuar të çojë një sesion me pamje të shëndetshme në një host të pashëndetshëm.

Puna për përputhshmërinë e pikave fundore ka tashmë fjalor për këtë zinxhir. Modeli referues NEA në RFC 5209 e ndan detyrën në kolektor, hap vlerësimi dhe pikë zbatimi, dhe thotë hapur se një klient që gënjen për gjendjen e vet qëndron jashtë modelit. Ky kualifikim ka më shumë rëndësi se diagrami: një modul i besuar platforme nuk e kthen një matje të vetëraportuar në fakt.

Mbajeni kolektorin të sinqertë për shtrirjen. Duhet të raportojë atributet që emërton politika juaj, në pajisjen që kërkon akses, dhe pak gjë tjetër. Një agjent inventari që liston çdo paketë të instaluar është mjet tjetër nga një kolektor gjendjeje, dhe diferenca është njëkohësisht problem ruajtjeje dhe saktësie. Nëse raporti nuk mund të lidhet me një identitet të vetëm pajisjeje, vlerësuesi po hamendëson cilën makinë sapo lejoi.

Një panel që shfaq status të kuq nuk është kontroll. Pyetni ku mund të arrijë ende një përdorues i refuzuar: te wiki-ja, te ndarja e skedarëve, te porta e bazës së të dhënave? Ndreqja kërkon një sipërfaqe të vetme të ngushtë, dhe çdo gjë tjetër i përket pas bllokimit.

Lexoni raportin përpara se të lexoni rregullin

Filloni nga burimi, jo nga shenja e gjelbër e klientit. Në Windows matja lokale vjen nga Defender ose nga produkti që u regjistrua në Security Center, dhe të dyja lexohen pa konsolën e furnizuesit:

Get-MpComputerStatus | Select-Object AMServiceEnabled, RealTimeProtectionEnabled, AntivirusSignatureLastUpdated
Get-CimInstance -Namespace root/SecurityCenter2 -ClassName AntiVirusProduct | Select-Object displayName, productState

Komanda e dytë kthen një numër të plotë të quajtur productState. Bit-et e tij janë dokumentuar dobët dhe furnizuesit i paketojnë ndryshe flamujt e aktivizimit dhe të përditësimit, prandaj verifikoje në vend që ta analizosh. Paketat e palëve të treta lënë gjithashtu zërin në Security Center pas çinstalimit, dhe ai raporton për softuer që nuk është më në disk.

Mosha është fusha që njerëzit e kapërcejnë. Vula kohore e nënshkrimit ka kuptim vetëm kundrejt orës së makinës që kryen vlerësimin, prandaj ktheje në interval në vend që ta vlerësosh me sy:

$sig = (Get-MpComputerStatus).AntivirusSignatureLastUpdated
[int](New-TimeSpan -Start $sig -End (Get-Date)).TotalHours

Tani politika ka një numër për të lexuar. Nëse rregulli juaj thotë 72 orë, ky është numri që përdor, dhe një laptop që fle një javë dështon pa interpretuar askush një etiketë. Shënoni pragun pranë komandës, sepse të dy ndryshojnë kur mjeti i pikës fundore zëvendësohet.

Kthejeni çdo gjendje pajisjeje në verdikt të shkruar

Shumica e mosmarrëveshjeve për gjendjen janë në fakt mosmarrëveshje për rreshtin e panjohur. Vendoseni përpara incidentit të parë, në një tabelë që emërton provën, verdiktin dhe pronarin, që askush të mos improvizojë në konsolën e portës.

Evidence the assessor hasVerdictWhat it protects against
Timestamp inside the policy window, protective service runningAdmit to normal applicationsNothing yet; the other checks still apply
Timestamp older than the windowDeny, admit remediation page onlySignature rollback and dormant laptops
Service disabled or reporting offDeny, escalate to the endpoint ownerAn agent reporting stale success
No report at all for this sessionTreat as deny, never as healthyAgents that fail open under load

Rreshti i poshtëm është vendi ku produktet ndryshojnë. Disa porta e refuzojnë lidhjen dhe shpjegojnë pse; të tjerat e lënë tunelin të ngrihet dhe zbatojnë një politikë të kufizuar; pak kthehen te raporti i fundit i mirë i njohur. Vetëm dy të parët janë të mbrojtshëm, dhe ia vlen të provohet cilin bën i juaji.

Mbajeni identitetin dhe lejen në binarët e tyre. Një laptop që kalon çdo provë gjendjeje ende ka nevojë për autorizimin e duhur njerëzor për aplikacionin, dhe një certifikatë pajisjeje provon zotërimin e një çelësi, jo gjendjen e sistemit të skedarëve. Shtypja e të treve në një boolean të vetëm është mënyra se si një llogari ndihmëse përfundon me akses të përhershëm në prodhim.

Kontrolloni rrugën e zbatimit me një kërkesë, jo me një panel

Zbatimi është veti e një kërkese, prandaj mateni me një të tillë. Vendosni një makinë jo në përputhje në tunel dhe bëni thirrjen që do të bënte një përdorues i vërtetë:

curl -sS -o /dev/null -w '%{http_code}
' --max-time 5 https://app.internal.example/health

Një 200 nga një pajisje që duhet të ishte bllokuar do të thotë se vendimi nuk arriti kurrë në rrugën e të dhënave. Dy shkaqe të zakonshme: politika është e lidhur me një grup ku llogaria e provës nuk u bashkua kurrë, ose aplikacioni është i arritshëm përmes një rruge që VPN nuk e zotëron.

Kontrolloni fillimisht supozimin e rrugëtimit. Nëse emri i brendshëm zgjidhet në një adresë që klienti e arrin tashmë përmes LAN-it lokal, tuneli është i parëndësishëm dhe asnjë politikë nuk do të zbatohet. Krahasojeni atë adresë me rrugën që shtyn porta. Në OpenVPN politika për klient jeton në skedarë të çelësuar me emrin e përbashkët, prandaj është e lehtë të inspektohet:

ls /etc/openvpn/ccd/
cat /etc/openvpn/ccd/laptop-17

Një skedar që përmban disable e shkëput plotësisht atë klient, ndërsa një rresht push "route ..." ngushton atë që mund të arrijë. Të dyja janë zbatim, dhe të dyja janë të dukshme për këdo që korrigjon raportin.

Provoni katër rastet në një llogari të vetme prove

Kontrolli përfundimtar është një matricë e vogël, jo një rrugë e lumtur. Kaloni një llogari prove nëpër katër gjendje: aktuale, nënshkrim i skaduar, mbrojtje e çaktivizuar, agjent i pa instaluar. Për secilën, shënoni verdiktin në regjistrin e vlerësimit, statusin HTTP që kthen aplikacioni, dhe nëse faqja e ndreqjes u ngarkua.

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
}

Dy detaje humbasin lehtë. Së pari ripërsëritja: një raport i kapur kur makina ishte e shëndetshme nuk duhet të pranohet për një sesion të mëvonshëm në të njëjtën pajisje, prandaj kërkoni një vulë kohore të lidhur me lidhjen aktuale. Pastaj heqja: çinstalimi i agjentit duhet të prodhojë të njëjtin refuzim si një raport i vjetër, jo një kalim të pastër, dhe pikërisht ky rast më shpesh nuk provohet kurrë.

Kur matrica përputhet me tabelën, dorëzoni tre gjëra atij që do të drejtojë portën më pas: komandat, pragun dhe katër rezultatet e pritura. Pikërisht kjo dorëzim është produkti i vërtetë, sepse një dizajn gjendjeje që jeton vetëm në një dokument politike rrëshqet herën e parë kur mjeti i pikës fundore ndryshon fushën e raportimit.

Artikuj të ngjashëm