Ажурирањето не успева, а предлогот во нишката следи позната линија: сообраќајот минува низ 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 крајната точка, автентикацијата на архивата, проверките на потписот на пакетот или инсталацијата. Секоја има различна форма на грешка и различен сопственик.

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

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

Поврзани статии