Два решења покривају скоро свако VPN подешавање без надзора: заједничка људска пријава сачувана у скрипти или сертификат машине везан за домаћина. Она падају на различитим местима, а то је важније од брзине подешавања. Сачувана лозинка пуца када је власник промени или оде; сертификат пуца када истекне или када се домаћин поново изгради без кључа. Три услова одлучују који трошак можете да носите, и ниједно решење ништа не ограничава док то не уради политика ауторизације.

Почните од задатка, не од налога

Задатак дефинише границу: која одредишта, које услуге, у којим сатима, колико дуго сесија може да траје. Рута тунела је само половина те границе. Гејтвеј одлучује да ли је сесија дозвољена; ресурс иза њега одлучује шта сесија може да ради. Прво напишите листу, са именованим власником, јер оба решења идентитета морају да је задовоље.

Држите аутентификацију и ауторизацију одвојено док то записујете. Аутентификација одговара ко се повезује; ауторизација одговара до чега сесија може да стигне после тога. RADIUS носи други део као атрибуте као што су Filter-Id, Framed-IP-Address, Session-Timeout и Class, а гејтвеј их прикачи када пријава успе. Решење које замени пријаву и остави ауторизацију нетакнутом није ништа ограничило.

Заједничка људска пријава: лозинка постаје граница

Поновно коришћење људског налога је најбржи пут и онај који најгоре стари. Акредитив је лозинка, па заврши у скрипти, у датотеци окружења и у конфигурацији планера, и свака копија захтева ротацију. Када је власник промени у петак, задатак падне при следећем покретању и нико не гледа.

MFA је место где ово решење обично пада. Скрипта не може да одговори на push захтев, па се налог изузме из политике, а то је тачно налог који би нападач изабрао. Изузеци, заобилажења за поуздане локације и ослобађања по налогу се множе, и ниједно није видљиво следећој особи која чита подешавања закупца.

Приписивање је други трошак. Свака сесија у дневнику гејтвеја носи исто корисничко име, па се ноћна синхронизација не може разликовати од рада особе која ју је написала, а опозивање задатка значи опозивање те особе.

Сертификат машине: идентитет везан за домаћина

Сертификат мења питање са онога што налог зна на оно што домаћин јесте. Са EAP-TLS клијент представља сертификат и доказује поседовање одговарајућег приватног кључа; сервер политике мапира субјекат или рачунар налога на групу и примењује политику те групе. Без упита, без заједничке тајне која стоји у текстуалној датотеци.

Граница коју ствара ужа је него што људи очекују. Сертификат аутентификује домаћина, не задатак, и свако са root или локалним администраторским правима може да користи тај кључ на том домаћину. Држите кључ тамо где га платформа штити: неизвозљив у Windows продавници сертификата, са TPM подршком где профил дозвољава, или датотека 0600 у власништву root-а на Linux-у. Компромитовање домаћина је компромитовање акредитива.

Истицање је повратни отказ. Сертификат који истекне у недељу зауставља задатак у недељу, а гејтвеј обично пријави општу грешку аутентификације уместо да наведе датум. Проверите датуме са домаћина задатка као део runbook-а:

openssl x509 -in client.pem -noout -subject -issuer -dates
ipsec listcerts

Опозив захтева путању коју гејтвеј проверава. OpenVPN чита CRL кроз опцију crl-verify, а strongSwan зависи од CRL или OCSP у зависности од тога како је профил везе изграђен. Ако ниједно није повезано, уклањање домаћина значи чекање да сертификат истекне.

Три услова која одлучују између њих

Упоредите са платформом коју имате, не са референтним решењем.

Први услов: може ли гејтвеј да ауторизује идентитет машине? Ако само мапира RADIUS корисничко име на корисника именика, сертификат аутентификује домаћина и затим се заглави на ауторизацији. Други услов: да ли задатку треба приступ ресурсима који носи само кориснички налог, као што је мапирани дељени ресурс или лиценца по месту? Тада идентитет машине не може да замени, и искрен одговор је наменски кориснички налог са ограниченом политиком. Трећи услов: ко може да ротира акредитив без особе у петљи? Аутоматска регистрација чини сертификате јефтиним за одржавање; лозинка коју зна једна особа не.

ConstraintMachine certificateDedicated user account with stored secret
Unattended loginPrivate key proof, no promptOnly if the account is exempted from MFA
Resource expects a user identityWorks only when the resource accepts computer accountsMatches the access a person would have
RotationRe-enrollment, often automatedSecret change plus redeploy of every copy
Revocation speedTied to CRL or OCSP refreshDisable the account, immediate

Читајте табелу као листу трошкова, не као рангирање. Колона са сачуваном тајном побеђује у брзини опозива и у компатибилности са ресурсима који разумеју само корисничке налоге; колона са сертификатом побеђује у ротацији и у томе што не слаби MFA да би скрипта радила.

Ставите границу у политику, после аутентификације

Какав год идентитет изабрали, граница дозвола припада политици која се извршава после аутентификације. У NPS-у се мрежне политике оцењују по реду, и прва политика која се поклапа са свим условима примењује своја подешавања, па широка политика постављена изнад уске одлучује резултат, без обзира шта клијент представи. Microsoft документује модел услова и подешавања у свом прегледу NPS политика.

Дајте задатку сопствену групу или услов политике, заснован на нечему што носи идентитет машине: шаблон сертификата, идентификатор станице која позива или адреса из наменског пула. Затим ограничите сесију атрибутима: Filter-Id за улогу у коју га гејтвеј мапира, кратак Session-Timeout да се заглављени задатак поново аутентификује уместо да држи сесију данима, и Framed-IP-Address из пула који филтрирате firewall-ом на другој страни. Ауторизација апликације остаје одвојена: тунел до сервера базе података није дозвола да се чита табела у њој.

Проверите одбијања, па планирајте уклањање

Приступ који ради не доказује ништа о најмањим овлашћењима. Уместо тога тестирајте одбијања: повежите се са идентитетом задатка и посегните за одредиштем ван листе, отворите другу истовремену сесију ако гејтвеј треба да дозволи само једну, и поновите пријаву после опозива акредитива.

Затим потврдите исту сесију на два места. Дневник гејтвеја показује идентитет који се аутентификовао; дневник сервера политике показује која се политика поклопила и које атрибуте је вратила. На OpenVPN-у сервер бележи common name сертификата, а ipsec statusall на strongSwan-у исписује успостављени тунел са идентитетом у употреби. Ако се два дневника не слажу о идентитету, политика се поклапа са нечим другим него што претпостављате.

Уклањање припада решењу, не спремању за чишћење. Запишите све што треба обрисати (сертификат или налог, чланство у групи, мрежна политика, унос у пулу, firewall правило на циљу) и прођите кроз то једном док је задатак лако поново изградити.

Ако почињете данас, радите овим редом: напишите листу ресурса, изаберите идентитет са три услова, ставите границу у политику и увежбајте једно одбијање пре него што задатак оде у продукцију.

Повезани чланци