Зашто су кључеви сервера и корисничке акредитиве потребни одвојени власници
Идентитет пролаза и корисничка дозвола су различите тајне са различитим последицама. Три питања одлучују како ћете сваку чувати, издавати и опозивати.
Кључ који доказује да је ваш пролаз он сам и акредитив који каже да особа сме да се придружи обоје су тајне, и ту сличност престаје. Један представља услугу сваком клијенту; други представља једног корисника тој услузи. Њихово мешање штеди један корак при подешавању и кошта једно поподне током инцидента, јер опоравак за сваки није иста операција. Раздвајање је досадно подесити и памти се кад се прескочи.
Две тајне, два различита власника
Пролаз држи приватни кључ или сертификат чији је једини задатак да докаже његов идентитет током руковања. Клијентима је потребан одговарајући јавни материјал да би га проверили и приватна половина им никада не треба. Управо та асиметрија омогућује проверу аутентичности сервера без давања сваком кориснику могућности да се представља као сервер.
Кориснички материјал иде у другом смеру. Приватни кључ клијента, клијентски сертификат или лозинка показују да је управо тој особи или уређају додељен приступ. Очекује се да ће се делити, копирати међу уређајима и на крају опозвати.
WireGuard чини раздвајање очигледним јер сваки учесник има пар кључева: приватни кључ сервера остаје на серверу, а конфигурациона датотека коју дате кориснику садржи његов сопствени приватни кључ плус јавни кључ сервера. Профил који садржи приватни кључ сервера није пречица, то је компромитација која чека дељење датотеке.
Три питања која одлучују раздвајање
Питајте ко мора моћи да чита тајну, шта би откривање омогућило нападачу и да ли је поправка једно опозив или поновна изградња услуге.
Ако корисник може то да чита и то доказује идентитет пролаза, одговор на друго питање је да нападач може да се представља као ваш сервер сваком клијенту — најгори исход, јер су клијенти створени да верују том идентитету. Ако доказује само једног корисника, откривање даје приступ тог корисника једном партнеру и опозив је рутинска операција. Ако је то кључ сертификационог тела, откривање је горе од оба, јер нападач може да ствара идентитете којима верује свака крајња тачка.
Та три одговора дају правило чувања: CA кључ живи ван мреже или у сефу, кључ пролаза живи на пролазу, а кориснички кључеви живе код корисника. Сваки распоред који све троје ставља у један директоријум ради удобности претворио је одлуку у случајност.
Шта клијенту заиста треба
Клијенту требају јавни сертификат или јавни кључ партнера, CA материјал или отисак коме треба веровати, његов сопствени приватни кључ и подаци о крајњој тачки. Тај списак не садржи ништа што припада приватном идентитету пролаза.
Документација је место где то цури. Водич који каже копирајте директоријум сервера и избришите оно што вам не треба већ је научио погрешан модел, јер датотеку која остаје после корака брисања ретко ко провери.
Опозовите једног корисника без дирања пролаза
Пошто се кориснички идентитети издају одвојено, могу се и повући одвојено. Поставка заснована на сертификатима опозива клијентски сертификат и објављује ажурирани списак опозива; WireGuard поставка уклања унос партнера из конфигурације сервера. Ниједна од тих операција не мења сопствени кључ пролаза.
Чувајте евиденцију издавања, иначе нећете знати који идентитет повући. Табела је довољна, под условом да именује особу, уређај, серијски број или јавни кључ и датум, и под условом да је неко одржава након што особа која ју је направила оде.
Команде испод прегледају клијентски сертификат, а затим га опозивају преко тела у стилу OpenSSL, што је ток који easy-rsa обавија:
openssl x509 -in client.crt -noout -subject -serial
openssl ca -config openssl.cnf -revoke client.crt
openssl ca -config openssl.cnf -gencrl -out crl.pemОбјавите нови списак где га клијенти проверавају, иначе је опозив белешка у датотеци која ништа не мења. Ако ваш пролаз прихвата клијентске сертификате без провере списка опозива, реците то изричито уместо да имплицирате да опозив ради.
Држите резервне копије одвојено као и тајне
Архива за поновну изградњу легитимно садржи кључ пролаза и CA материјал, јер без њих опоравак не може да репродукује услугу. Пакет за подешавање клијента не сме их да садржи и оба не смеју да се чувају заједно. Означите сваку архиву по томе коме је дозвољено да је држи, а не по датуму израде. Та ознака је оно што уморан администратор чита у два сата ујутру.
Та разлика такође одређује коме је дозвољено да дохвати сваку од њих. Управљање пролазом, издавање корисничких идентитета и читање резервних копија три су различите овласти, а особи којој треба једна нису аутоматски потребне друге. Запишите те дозволе, а затим их проверите према ономе што ваша похрана стварно дозвољава, јер наслеђивање директоријума тихо даје више него што политика намерава.