Certifikat koji se validira prema dijeljenom autoritetu prošao je test povjerenja, a ne test članstva. Te dvije odluke se često stapaju jer se obje događaju u trenutku povezivanja, a stapanje ostaje nevidljivo dok u uslugu ne bude primljen neko ko tamo ne bi trebao biti. Rješenje nije drugi autoritet; to je druga odluka, donesena po usluzi i zapisana tamo gdje je demon čita. Držite ih odvojeno i većina zabune u ovom području nestaje.

Pouzdan lanac ne govori ništa o članstvu u usluzi

Dvije usluge mogu prihvatati istu izdavačku hijerarhiju i ipak imati različite populacije. Jedan laptop pripada prvoj i ne smije dosegnuti drugu, dok drugi klijenti iste hijerarhije zaista pripadaju tamo. Uklanjanje autoriteta iz te usluge zaključalo bi sve koji je legitimno koriste, pa je posao odobrenje, a ne povjerenje.

Pomaže zamisliti dvije brave na jednim vratima. Certifikat otvara vanjsku bravu, a odluka po usluzi otvara unutrašnju; nijedna ne zamjenjuje drugu. Usluga sa samo vanjskom bravom uopće ne provodi članstvo, ona samo provjerava identitet. Zapišite obje odluke prije bilo kakve izmjene, jer politika koja postoji samo u obliku radne veze ne može se revidirati. Ono što slijedi tiče se unutrašnje brave.

Pretvorite neobavezna preklapanja u kapiju odobrenja

Direktorij klijentske konfiguracije obično je pogodnost: datoteke u njemu preklapaju postavke za klijente koje imenuju, a klijent bez datoteke jednostavno radi s poslužiteljskim zadanim vrijednostima. Jedna direktiva pretvara tu pogodnost u kapiju, tako da nedostajuća datoteka znači odbijenu vezu.

client-config-dir /etc/openvpn/service-a/clients
ccd-exclusive

Zajedničko izdanje OpenVPN 2.6 ccd-exclusive u svojoj stranici priručnika dokumentira upravo taj uvjet i traženje imenovane datoteke ovisi o efektivnom identitetu klijenta. Druge gradnje i poslužitelji kojima upravljaju proizvodi mogu se razlikovati, pa potvrdite instaliranu verziju prije nego se oslonite na istu semantiku drugdje.

Tretirajte gornju putanju kao primjer i provjerite raspoređeni izgled umjesto da stvarate direktorij koji je izmislio neki vodič. Ostavite postojeće provjere certifikata, provjere identiteta poslužitelja i autentifikaciju računa točno onakvima kakve su bile, jer fragment dodaje uvjet i ništa ne uklanja. Pripremite promjenu prije produkcije, jer odbijanje podignuto na pogrešnom mjestu izgleda kao kvar certifikata i šalje istragu prema autoritetu. Zatim potvrdite da linija zapisa za odbijenog klijenta imenuje nedostajuću konfiguracijsku datoteku, a ne lanac.

Jedan direktorij po usluzi, a ne jedan dijeljeni popis

Članstvo pripada usluzi koja ga provodi, pa svaka usluga drži vlastiti direktorij i vlastite datoteke. Usmjeravanje dviju usluga na jedan popis čini da dijele članstvo bez obzira je li to iko namjeravao, a nastalu promjenu teško je pratiti do odluke. Dijeljeni autoritet može ostati dijeljen; datoteke odobrenja ne mogu. Njihovo razdvajanje također znači da greška u jednoj usluzi ne može tiho proširiti drugu.

DEFAULT unos je slučaj koji zavodi ljude. On daje rezervne postavke kada imenovana datoteka nije nađena, ali to nije imenovana datoteka koju kapija zahtijeva, pa ne može sam primiti klijenta. Testirajte klijenta koji uopće nema unos i potvrdite odbijanje; ako je taj klijent primljen, primjenjuje se rezerva i ccd-exclusive nije na snazi u toj instanci.

Efektivni identitet odlučuje koja se datoteka čita

Pretraga koristi identitet s kojim se klijent stvarno autentificirao, što je obično uobičajeno ime certifikata. Kada poslužitelj također provjerava korisničko ime i lozinku i preslikava to ime u uobičajeno ime, datoteka mora umjesto toga odgovarati autentificiranom korisničkom imenu. Neusklađenost ostavlja direktorij pun vjerojatnih naziva datoteka koji se nikad ne odabiru.

Čitanje je druga polovina. Demon obično spusti privilegije nakon pokretanja, pa smanjeni račun treba pristup čitanju direktorija i svakog unosa u njemu. Klijenti ne smiju moći stvoriti vlastiti unos kroz bilo koju putanju koja se može pisati, jer samoposlužno odobrenje u potpunosti poništava mehanizam. Provjerite dozvole montiranja i dijeljenja, a ne samo način datoteke, jer direktorij koji izgleda zatvoren za jedan račun može biti otvoren za drugi. Zatim potvrdite koji račun pokrenuti proces stvarno koristi, a ne koji račun spominje unit datoteka. To dvoje je isto samo kada ih ništa drugo nije promijenilo.

Posmatrajte odbijanje, odobrenje i opoziv odvojeno

Isprobajte identitet koji pripada usluzi i potvrdite da se povezuje. Isprobajte valjani certifikat bez unosa i potvrdite da je odbijen. Isprobajte identitet odobren drugoj usluzi i potvrdite da ovdje nije odobren. Zapišite instancu usluge i efektivni identitet uz svaki rezultat, jer rezultat bez tog konteksta nitko drugi ne može reproducirati.

Povlačenje je odvojena operacija od opoziva. Uređivanje datoteke odobrenja uklanja pravo na jednu uslugu dok identitet ostaje valjan svugdje drugdje, dok kompromitirani ključ zahtijeva odgovor organizacije na opoziv. Unaprijed odlučite što se događa sa sesijama koje su već uspostavljene, jer ni uređivanje direktorija ni popis opoziva ne završava ih same po sebi.

Odobrenje je također samo prva kapija. Pridruživanje usluzi ne govori ništa o podmrežama, bazama podataka ili upravljačkim sučeljima iza nje, a ta politika resursa mora se napisati i testirati zasebno.

Povezani članci