APT извор за VPN: шта даје и како га ограничити
APT извор за VPN је стална дозвола, а не преузимање. Ограничите кључ на тај извор, прочитајте трансакцију и запишите корак уклањања пре него што га додате.
Преузимање VPN клијента је једнократна одлука; додавање његовог APT спремишта није. Друго каже менаџеру пакета одакле може да дође будући софтвер, а то је стални пренос овлашћења, а не преузимање. То може бити исправан аранжман када добављач исправно одржава спремиште. Ипак заслужује свесну одлуку, а већина упутстава за инсталацију то прескаче.
Потпис потврђује архиву, а не њен код
APT проверава потписане метаподатке спремишта, а затим верује контролним сумама унутар тих метаподатака за пакете које преузима. То доказује да архива одговара ономе што је власник кључа објавио, и ништа о коду унутра. Исправно потписан пакет ипак може да носи небезбедне скрипте одржаваоца, и те скрипте се извршавају као root током инсталације пакета. Упутство apt-secure повлачи управо ту границу између потврде архиве и прегледа софтвера.
Дакле, корисно питање није да ли је потпис важећи, јер покварен потпис ионако зауставља инсталацију. Питање је чијем потпису бирате да верујете од сада. Украдени кључ за потписивање гори је од украденог пакета, јер нападач наставља да производи важеће метаподатке дуго након првог лошег издања. Ротација је једини поправак, и она зависи од тога да ли ће добављач објавити нови кључ каналом који можете самостално да проверите.
Зато идентитет кључа заслужује исто пажње колико и URL спремишта. Кључ узет са адресе у старом одговору на форуму не доказује ништа о издавачу, док HTTPS штити пренос до онога који је одговорио на телефон. Безбедност преноса и идентитет издавача су одвојена питања, и само прво се решава сертификатом.
Ограничите кључ на извор, а не на систем
Савремени APT прихвата референцу Signed-By специфичну за извор. Кључ којим управља оператер може да живи под /etc/apt/keyrings/, а запис извора именује кључ који сме да потврди ту архиву. То је уже од бацања истог кључа у глобално поуздан скуп, где може да гарантује за изворе које никада нисте хтели да дозволите. Пратите инсталирану верзију APT-а и тренутна упутства добављача уместо да мешате фрагменте из различитих генерација упутстава.
curl -fsSL https://repo.example.com/vpn-key.gpg -o /etc/apt/keyrings/vpn.gpg
echo "deb [signed-by=/etc/apt/keyrings/vpn.gpg] https://repo.example.com/debian stable main" > /etc/apt/sources.list.d/vpn.listНикада не поправљајте неуспех потписа искључивањем провере или означавањем непознате архиве као поуздане. То мења видљиву грешку невидљивом, а невидљива траје док неко не провери листу извора. Ако се кључ не поклапа, исправан поправак је пронаћи исправан кључ, а не уклонити проверу.
Набавите детаље о спремишту и идентитет кључа од пројекта или управљаног администратора. Кључ копиран са блог поста је тврдња о ауторству, а не доказ о њему. Када добављач објави канал ротације, запишите га заједно са кључем, јер тај канал омогућава следећу ротацију.
Причвршћивање извора није листа дозвољених пакета
Ограничавање кључа на један извор ограничава коју архиву може да потврди, а не које пакете та архива сме да објави. Спремиште може да испоручи много више од жељеног VPN клијента, а избор кандидата и приоритети APT-а одлучују која подобна верзија побеђује. Прегледајте предложену трансакцију пре потврде, укључујући листу зависности, јер зависности долазе из исте архиве. Обухват кључа не може да изрази „само овај пакет“.
Ако вам је потребна строжа контрола, изразите је као политику о именима или верзијама пакета и држите ту политику под управљањем конфигурацијом. Читање трансакције траје минут; откривање неочекиваног пакета пола године касније траје преглед.
Неочекивани пакети су тренутак да станете, а не да наставите, а питање за власника архиве је зашто су потребни. Спремиште које објављује десетак пакета око једног клијента нормално је за добављача који испоручује десктоп пакет. То је и већа површина него што је упутство за инсталацију наговестило, и управо тај део вреди забележити. Ниједан од два исхода није разлог за неповерење према потпису; оба су разлог да запишете шта сте прихватили.
Забележите овлашћење и како га уклонити
Запишите власника архиве, подржано издање оперативног система, канал ротације кључа и поступак уклањања. Те четири чињенице су оно што је потребно наследнику када се клијент повуче или добављач ротира свој кључ. Без њих следећа особа наслеђује линију извора и датотеку кључа без икакве приче.
Уклањање је корак који се прескаче, зато га запишите при инсталацији. Избришите запис извора и његов посвећени кључ заједно, и проверите да ли се тај кључ помиње негде другде пре него што уклоните датотеку. Дељени кључ избрисан без те провере претвара чишћење у неповезан прекид, што је најгори исход за рутинску промену. Затим потврдите да се уобичајена ажурирања и даље решавају када запис нестане.
Једна ствар остаје након уклањања спремишта: сваки већ инсталиран пакет из њега наставља да ради док га нешто не замени. Искрено питање је какво овлашћење сте додали и колико је уско његова улога изражена.