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

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

Две контроле које одговарају на различита питања

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

Ова питања се преклапају само на ивицама. Исправан сертификат на огледалу доказује да је огледало огледало; не доказује да огледало држи неизмењен садржај издавача. Потписан пакет доказује да га је издавач потписао; не говори вам да је мрежа доставила најновију верзију или да је складиште на које сте указали оно које је ваша организација одобрила.

Режим отказа који људи стварају искључивањем провера је трајан губитак друге гаранције у замену за једно успешно преузимање. Та размена је невидљива до дана када је важна.

Шта apt заиста проверава

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

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

apt-get update
apt-cache policy
apt-config dump | grep -iE 'AllowInsecure|AllowDowngrade'

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

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

Шта dnf5 проверава одвојено

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

dnf5 config-manager --dump 2>/dev/null | grep -iE 'gpgcheck|repo_gpgcheck'
rpm -q --qf '%{NAME} %{SIGPGP:pgpsig}\n' bash

Упит о пакету показује како изгледају метаподаци потписа инсталиране копије, што је корисна провера стварности према конфигурацијској датотеци која тврди строгост. Оно што не каже је подржана политика дистрибуције, и њу треба следити уместо општег упутства «укључите GPG» са форума.

Где се два менаџера разликују, разлика је архитектонска, а не знак да је један слабији. Оба проверавају аутентичност садржаја издавача; потпис стављају на различита места у ланцу.

Шта тунел додаје, а шта не

VPN може да обезбеди потребну руту, држи саобраћај ажурирања изван неповерљиве приступне мреже и смањи оно што локални посматрач види. То су стварне оперативне предности, и ниједна од њих није провера аутентичности издавача.

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

Ниједна контрола не обећава доступност. Мрежа може да одбије испоруку, а оверени објекат није аутоматски најновији. Користите сопствену политику свежине менаџера пакета, уместо да је изводите из присуства иконе катанаца.

Дијагностикујте границу која није прошла

Именујте фазу пре него што било шта промените: DNS резолуција, прокси или рута, идентитет TLS крајње тачке, провера архиве, провере потписа пакета или инсталација. Свака има свој облик грешке и свог власника.

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

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

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