Проверката на состојбата на уредот преку VPN не блокира? Прво следете го извештајот
Вашиот агент на крајната точка известува за здрава состојба, но внатрешната апликација се уште се отвора. Поминете низ собирачот, пресудата и блокирањето, потоа докажете го одбивањето со едно барање.
Ако лаптоп чии антивирусни потписи престанале да се ажурираат пред недели се уште може да ја отвори вашата внатрешна апликација, тогаш документот со политика ретко е она што не е во ред. Три одделни системи мора да се согласат пред пристапот да биде одбиен: нешто ја мери крајната точка, нешто го претвора тоа мерење во пресуда дозволи или одбиј, и нешто навистина го отфрла сообраќајот. Кога неусогласен уред сепак влегува, точно една од тие алки недостасува или верува на докази на кои не треба. Проверките подолу одат по тој редослед, и секоја има точка на запирање.
Блокирањето е последниот чекор, не првиот
Автентикацијата и состојбата на уредот одговараат на различни прашања. Успешното најавување докажува дека биле претставени акредитиви; тоа не кажува ништо за софтверот што работи на машината што ги претставила. Токму овој јаз овозможува копиран клиентски профил да пренесе здраво изгледна сесија на нездрав домаќин.
Работата на усогласеност на крајните точки веќе има речник за овој синџир. Референтниот модел NEA во RFC 5209 ја дели задачата на собирач, чекор на проценка и точка на спроведување и отворено вели дека клиентот што лаже за сопствената состојба е надвор од моделот. Оваа забелешка е поважна од дијаграмот: доверлив модул на платформата не претвора самопријавено мерење во факт.
Држете го собирачот чесен во однос на опфатот. Треба да ги пријави атрибутите што ги именува вашата политика, на уредот што бара пристап, и малку друго. Агентот за инвентар што го наведува секој инсталиран пакет е различен алат од собирачот на состојба, а разликата е истовремено проблем на задржување и на точност. Ако извештајот не може да се поврзе со еден идентитет на уред, проценувачот претпоставува која машина штотуку ја одобрил.
Таблата со црвен статус не е контрола. Прашајте до што се уште може да стигне одбиен корисник: викито, споделувањето датотеки, портата на базата? Поправката бара една тесна површина, а се друго припаѓа зад блокирањето.
Прочитајте го извештајот пред да го прочитате правилото
Започнете од изворот, а не од зелената ознака на клиентот. На Windows локалното мерење доаѓа од Defender или од производот што се регистрирал во Security Center, и двете се читаат без конзола на добавувачот:
Get-MpComputerStatus | Select-Object AMServiceEnabled, RealTimeProtectionEnabled, AntivirusSignatureLastUpdated
Get-CimInstance -Namespace root/SecurityCenter2 -ClassName AntiVirusProduct | Select-Object displayName, productState
Втората команда враќа цел број наречен productState. Неговите битови се документирани лабаво и добавувачите различно ги пакуваат знаменцата за вклучување и ажурност, па потврдете го наместо да го анализирате. Пакетите од трети страни исто така го оставаат записот во Security Center по деинсталацијата, и тој известува за софтвер што повеќе не е на дискот.
Возраста е полето што луѓето го прескокнуваат. Временскиот печат на потписот значи нешто само во однос на часовникот на машината што ја врши проценката, затоа претворете го во интервал наместо да го проценувате на око:
$sig = (Get-MpComputerStatus).AntivirusSignatureLastUpdated
[int](New-TimeSpan -Start $sig -End (Get-Date)).TotalHours
Сега политиката има еден број за читање. Ако вашето правило вели 72 часа, тоа е бројот што го користи, и лаптоп што спиел една недела не поминува без никој да интерпретира етикета. Запишете го прагот до командата, зашто двете се разидуваат кога алатот на крајната точка се заменува.
Претворете ја секоја состојба на уредот во пишана пресуда
Повеќето спорови за состојбата се всушност спорови за непознатиот ред. Одлучете го пред првиот инцидент, во табела што ги именува доказот, пресудата и сопственикот, за никој да не импровизира кај конзолата на портата.
| 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 |
Производите се разликуваат токму во долниот ред. Некои порти го одбиваат поврзувањето и објаснуваат зошто; други дозволуваат тунелот да се крене и применуваат ограничена политика; неколку се враќаат на последниот познат добар извештај. Само првите две се одбраниви, и вреди да се провери која ја прави вашата.
Држете ги идентитетот и дозволата во свои ленти. Лаптопот што го поминува секој тест на состојба сепак бара правилна човечка авторизација за апликацијата, а сертификатот на уредот докажува поседување клуч, а не состојба на датотечниот систем. Стеснувањето на трите во еден boolean е патот по кој сметката на службата за поддршка добива постојан пристап до продукцијата.
Проверете ја патеката на спроведување со барање, не со табла
Спроведувањето е својство на барањето, затоа измерете го со едно. Ставете неусогласена машина на тунелот и упатете го повикот што би го упатил вистински корисник:
curl -sS -o /dev/null -w '%{http_code}
' --max-time 5 https://app.internal.example/health
Одговор 200 од уред што треба да биде блокиран значи дека одлуката никогаш не стигнала до податочната патека. Два вообичаени причини: политиката е прикачена на група во која тест-сметката никогаш не се приклучила, или апликацијата е достапна преку рута што VPN не ја поседува.
Прво проверете ја претпоставката за рутирање. Ако внатрешното име се резолвира на адреса до која клиентот веќе стигнува преку локалната LAN, тунелот е неважен и ниту една политика нема да се примени. Споредете ја таа адреса со рутата што ја турка портата. На OpenVPN политиката по клиент живее во датотеки клучени по заедничкото име, па лесно се проверува:
ls /etc/openvpn/ccd/
cat /etc/openvpn/ccd/laptop-17
Датотека што содржи disable целосно го исклучува тој клиент, додека линијата push "route ..." го стеснува она до што може да стигне. И двете се спроведување, и двете се видливи за секој што го отстранува проблемот во извештајот.
Тестирајте ги четирите случаи на една тест-сметка
Последната проверка е мала матрица, а не среќна патека. Поминете една тест-сметка низ четири состојби: актуелна, истечен потпис, заштита оневозможена, агент не е инсталиран. За секоја запишете ја пресудата во дневникот за проценка, HTTP статусот што го враќа апликацијата и дали се вчитала страницата за поправка.
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
}
Два детали лесно се пропуштаат. Прво повторувањето: извештај забележан додека машината била здрава не смее да се прифати за подоцнежна сесија на истиот уред, затоа барајте временски печат врзан со тековното поврзување. Потоа отстранувањето: деинсталирањето на агентот треба да го даде истото одбивање како застарен извештај, а не чисто поминување, и токму овој случај најчесто никогаш не се тестира.
Кога матрицата ќе се совпадне со табелата, предајте три работи на тој што следно ќе ја води портата: командите, прагот и четирите очекувани исходи. Токму тоа предавање е вистинскиот резултат, зашто дизајнот на состојба што живее само во документ со политика се лизга првиот пат кога алатот на крајната точка ќе го смени своето поле за известување.