VPN piekļuve ar servisa kontu: sertifikāts vai kopīga pieteikšanās
Salīdziniet mašīnas sertifikātu ar saglabātu paroli neuzraudzītai VPN piekļuvei un ievietojiet reālo atļauju robežu politikā, kas darbojas pēc pieteikšanās.
Divi risinājumi aptver gandrīz katru neuzraudzītu VPN iestatījumu: kopīga cilvēka pieteikšanās, kas glabājas skriptā, vai mašīnas sertifikāts, kas piesaistīts saimniekam. Tie sabrūk dažādās vietās, un tas ir svarīgāk par iestatīšanas ātrumu. Saglabātā parole salūzt, kad tās īpašnieks to maina vai aiziet; sertifikāts salūzt, kad beidzas tā derīgums vai kad saimnieks tiek pārbūvēts bez atslēgas. Trīs nosacījumi izšķir, kurus izdevumus varat segt, un neviens risinājums neko neierobežo, kamēr to neizdara autorizācijas politika.
Sāciet ar uzdevumu, nevis ar kontu
Uzdevums definē robežu: kuri galamērķi, kuri pakalpojumi, kuras stundas, cik ilgi sesija var darboties. Tuneles maršruts ir tikai puse no šīs robežas. Vārteja izlemj, vai sesija ir atļauta; resursi aiz tās izlemj, ko sesija var darīt. Vispirms uzrakstiet sarakstu ar nosauktu īpašnieku, jo abiem identitātes risinājumiem tas ir jāizpilda.
Rakstot to, turiet autentifikāciju un autorizāciju atsevišķi. Autentifikācija atbild, kas pieslēdzas; autorizācija atbild, ko sesija pēc tam var sasniegt. RADIUS otro daļu pārnēsā kā atribūtus, piemēram, Filter-Id, Framed-IP-Address, Session-Timeout un Class, un vārteja tos pievieno, tiklīdz pieteikšanās izdodas. Risinājums, kas nomaina pieteikšanos un atstāj autorizāciju neskartu, neko nav ierobežojis.
Kopīga cilvēka pieteikšanās: parole kļūst par robežu
Cilvēka konta atkārtota izmantošana ir ātrākais ceļš un tas, kas vis sliktāk noveco. Akreditācijas dati ir parole, tāpēc tā nonāk skriptā, vides failā un plānotāja konfigurācijā, un katrai kopijai nepieciešama rotācija. Kad īpašnieks to maina piektdien, uzdevums nākamajā palaišanā sabrūk, un neviens neskatās.
MFA ir vieta, kur šis risinājums parasti sabrūk. Skripts nevar atbildēt uz push pieprasījumu, tāpēc konts tiek izslēgts no politikas, un tas ir tieši tas konts, kuru izvēlētos uzbrucējs. Izņēmumi, uzticamas atrašanās vietas apiešana un izņēmumi katram kontam vairojas, un neviens no tiem nav redzams nākamajam cilvēkam, kurš lasa nomnieka iestatījumus.
Piedēvēšana ir otrs izdevums. Katra sesija vārtejas žurnālā nes to pašu lietotājvārdu, tāpēc nakts sinhronizāciju nevar atšķirt no tā cilvēka darba, kurš to uzrakstīja, un uzdevuma atsaukšana nozīmē tā cilvēka atsaukšanu.
Mašīnas sertifikāts: saimniekam piesaistīta identitāte
Sertifikāts maina jautājumu no tā, ko zina konts, uz to, kas ir saimnieks. Ar EAP-TLS klients uzrāda sertifikātu un pierāda atbilstošās privātās atslēgas piederību; politikas serveris kartē subjektu vai datora kontu uz grupu un piemēro šīs grupas politiku. Nekāda uzvedne, nekāds kopīgs noslēpums teksta failā.
Izveidotā robeža ir šaurāka, nekā cilvēki sagaida. Sertifikāts autentificē saimnieku, nevis uzdevumu, un ikviens ar root vai vietējā administratora tiesībām var izmantot šo atslēgu šajā saimniekā. Glabājiet atslēgu tur, kur platforma to aizsargā: neeksportējamu Windows sertifikātu krātuvē, TPM atbalstītu tur, kur profils atļauj, vai root piederošu 0600 failu Linux. Saimnieka kompromitēšana ir akreditācijas datu kompromitēšana.
Derīguma beigas ir atkārtota kļūme. Sertifikāts, kura derīgums beidzas svētdien, aptur uzdevumu svētdien, un vārteja parasti ziņo vispārīgu autentifikācijas kļūdu, nevis nosauc datumu. Pārbaudiet datumus no uzdevuma saimnieka kā runbook daļu:
openssl x509 -in client.pem -noout -subject -issuer -dates
ipsec listcerts
Atsaukšanai nepieciešams ceļš, ko vārteja pārbauda. OpenVPN lasa CRL ar opciju crl-verify, un strongSwan ir atkarīgs no CRL vai OCSP atkarībā no tā, kā veidots savienojuma profils. Ja neviens nav pievienots, saimnieka noņemšana nozīmē gaidīt sertifikāta derīguma beigas.
Trīs nosacījumi, kas izšķir starp tiem
Salīdziniet ar platformu, kas jums ir, nevis ar atsauces risinājumu.
Pirmais nosacījums: vai vārteja var autorizēt mašīnas identitāti? Ja tā tikai kartē RADIUS lietotājvārdu uz direktorija lietotāju, sertifikāts autentificē saimnieku un pēc tam apstājas autorizācijā. Otrais nosacījums: vai uzdevumam nepieciešama piekļuve resursam, ko nes tikai lietotāja konts, piemēram, piesaistīts koplietojums vai licence uz vietu? Tad mašīnas identitāte nevar aizstāt, un godīgā atbilde ir atsevišķs lietotāja konts ar ierobežotu politiku. Trešais nosacījums: kas var rotēt akreditācijas datus bez cilvēka ciklā? Automātiska reģistrācija padara sertifikātus lētus uzturēt; parole, ko zina viens cilvēks, ne.
| Constraint | Machine certificate | Dedicated user account with stored secret |
|---|---|---|
| Unattended login | Private key proof, no prompt | Only if the account is exempted from MFA |
| Resource expects a user identity | Works only when the resource accepts computer accounts | Matches the access a person would have |
| Rotation | Re-enrollment, often automated | Secret change plus redeploy of every copy |
| Revocation speed | Tied to CRL or OCSP refresh | Disable the account, immediate |
Lasiet tabulu kā izdevumu sarakstu, nevis kā reitingu. Saglabātā noslēpuma kolonna uzvar atsaukšanas ātrumā un saderībā ar resursiem, kas saprot tikai lietotāju kontus; sertifikāta kolonna uzvar rotācijā un tajā, ka netiek vājināts MFA, lai skripts strādātu.
Ievietojiet robežu politikā, pēc autentifikācijas
Lai kādu identitāti izvēlētos, atļauju robeža pieder politikai, kas darbojas pēc autentifikācijas. NPS tīkla politikas tiek vērtētas secībā, un pirmā politika, kas atbilst katram nosacījumam, piemēro savus iestatījumus, tāpēc plaša politika, kas novietota virs šauras, nosaka rezultātu neatkarīgi no tā, ko klients uzrāda. Microsoft dokumentē nosacījumu un iestatījumu modeli savā NPS politikas pārskatā.
Dodiet uzdevumam savu grupu vai politikas nosacījumu, pamatojoties uz kaut ko, ko nes mašīnas identitāte: sertifikāta veidne, zvanītājas stacijas identifikators vai adrese no atsevišķa pūla. Pēc tam ierobežojiet sesiju ar atribūtiem: Filter-Id lomai, kurā jūsu vārteja to kartē, īss Session-Timeout, lai iesprūdis uzdevums atkārtoti autentificētos, nevis turētu sesiju dienām, un Framed-IP-Address no pūla, kuram otrā pusē lietojat ugunsmūri. Lietojumprogrammu autorizācija paliek atsevišķi: tunelis uz datu bāzes serveri nav atļauja lasīt tabulu tajā.
Pārbaudiet atteikumus, pēc tam plānojiet noņemšanu
Strādājoša piekļuve neko nepierāda par mazākajām tiesībām. Pārbaudiet atteikumus: pieslēdzieties ar uzdevuma identitāti un mēģiniet sasniegt galamērķi ārpus saraksta, atveriet otru vienlaicīgu sesiju, ja vārtejai jāatļauj tikai viena, un atkārtojiet pieteikšanos pēc akreditācijas datu atsaukšanas.
Pēc tam apstipriniet to pašu sesiju divās vietās. Vārtejas žurnāls rāda autentificēto identitāti; politikas servera žurnāls rāda, kura politika atbilda un kādus atribūtus tā atgrieza. OpenVPN serveris ieraksta sertifikāta vispārējo nosaukumu, un strongSwan ipsec statusall izdrukā izveidoto tuneli ar izmantoto identitāti. Ja divi žurnāli nepiekrīt par identitāti, politika atbilst kaut kam citam, nevis tam, ko pieņemat.
Noņemšana pieder risinājumam, nevis uzkopšanas sprintam. Pierakstiet visu, kas jādzēš (sertifikāts vai konts, dalība grupā, tīkla politika, pūla ieraksts, ugunsmūra noteikums mērķī), un izpildiet to vienreiz, kamēr uzdevumu ir viegli pārbūvēt.
Ja sākat šodien, strādājiet šādā secībā: uzrakstiet resursu sarakstu, izvēlieties identitāti ar trim nosacījumiem, ievietojiet robežu politikā un pirms uzdevuma nodošanas ekspluatācijā izmēģiniet vienu atteikumu.