Schopnost apt
u instalovat balíky z nejrůznějších zdrojů může vést
k potenciální zranitelnosti. Představte si, že do svého seznamu zdrojů
(sources.list
) přidáte archiv balíků jistého
Franty Záškodníka, protože si chcete nainstalovat jeho balík
tajemstvizivota
. Frantův archiv balíků však
může -- aniž byste to tušili -- obsahovat jeho „upravené“
verze balíků jako libc6
nebo
ssh
. Verze, které z vašeho systému odesílají
důvěrné informace, nebo které otevírají zadní vrátka pro záškodníky!
Pokud mají tyto balíky vyšší číslo verze, než balíky, které máte
instalované v systému, apt
je při příští aktualizaci radostně
nainstaluje, což znamená, že Franta Záškodník pak může s vaším
systémem provádět své nekalé plány. Jiná možnost je, že by se Franta
naboural do vašeho zrcadla s archivy Debianu a nahradil původní
software za své poupravené verze.
Naštěstí mají novější verze apt
u a aptitude zabudovanou ochranu
proti útokům tohoto typu. apt
využívá silné bezpečnostní mechanismy
založené na populárním šifrovacím softwaru GnuPG, díky kterým může ověřit, že
balíky distribuované ze zrcadel Debianu jsou shodné s těmi, které na
hlavní server nahráli vývojáři Debianu. aptitude vás bude varovat
pokaždé, když se pokusíte o instalaci balíku ze zdroje nepocházejícího
z projektu Debian. Varování se dočkáte i v případě, že byste chtěli
aktualizovat stávající balík na verzi, která opět nepochází z Debianu.
Varování | |
---|---|
Bezpečnostní mechanizmus systému Ověření, že instalujete balíky pouze z důvěryhodného zdroje, vám přinese jistý stupeň bezpečí proti zlomyslným balíkům, ale nemůže eliminovat všechna rizika spojená s instalací softwaru. |
apt
umožňuje administrátorovi archivu digitálně
podepsat seznam balíků v archivu. Tento podpis
(jež nemůže být v rozumném čase podvržen) zajišťuje kontrolu, že
soubory balíků uvedené v seznamu jsou stejné s těmi, které správce do
archivu opravdu umístil. Jinými slovy víte, že se obsah archivu od
svého vytvoření nezměnil.[9] Pravost podpisu můžete ověřit vůči
veřejnému klíči administrátora. Tento klíč je
šířen spolu se systémem apt
a obvykle jej naleznete na svých DVD
s Debianem.
Když si aptitude stáhne seznam balíků na daném archivu, zkontroluje, zda je seznam podepsán správným klíčem. Pokud podepsán není, aptitude nebude balíkům z tohoto archivu důvěřovat. (Co to znamená prakticky se dozvíte dále.) Jestliže sice seznam podepsaný je, ale podpis je buď poškozen, nebo se nedá ověřit, bude zobrazeno varování a aptitude opět odmítne těmto balíkům důvěřovat.
Později, až spustíte instalaci nových balíků, se aptitude podívá na jednotlivé balíky podrobněji a zjistí, zda pochází z důvěryhodného zdroje či nikoliv. Jestliže by se měl nainstalovat nedůvěryhodný balík (nebo nedůvěryhodná verze důvěryhodného balíku), tak se zobrazí důrazné varování, kde dostanete poslední příležitost si vše rozmyslet a stahování přerušit:
Někdy se může stát, že byste chtěli, aby apt
nedůvěřoval jen
hlavnímu archivu Debianu, ale i některým dalším archivům. Pro každý
takový archiv si budete muset obstarat veřejnou část klíče, kterým byl
podepsán obsah daného archivu. Obvykle se jedná o textový soubor,
jehož jméno končí na .asc
. Buď jej můžete získat
od administrátora archivu, nebo stáhnout z veřejného serveru
s klíči. O tom, co jsou to veřejné klíče, jak je získat a následně
s nimi pracovat, se dozvíte na stránkách projektu GnuPG.
Seznam klíčů, kterým bude apt
důvěřovat, se nachází na takzvané
klíčence v souboru
/etc/apt/trusted.gpg
. Až získáte příslušný GPG
klíč, můžete jej přidat na klíčenku příkazem
gpg --no-default-keyring --keyring
/etc/apt/trusted.gpg --import
novyklic.asc
. aptitude pak bude
důvěřovat libovolnému archivu, který je podepsán klíčem obsaženým
v souboru novyklic.asc
. (Soubor samotný již není
potřeba, protože se stal součástí klíčenky.)
Varování | |
---|---|
S přidáváním klíčů buďte velmi opatrní, protože po přidání nového klíče na klíčenku APTu mu bude balíčkovací systém důvěřovat stejně, jako důvěřuje samotným archivům Debianu! Klíč byste proto měli přidávat pouze pokud jste si naprosto jisti tím, že přidáváte správný klíč a že osoba, které klíč patří, je důvěryhodná a kompetentní. (Kde slovo kompetentní myslíme hlavně ve vztahu ke správě klíčů.) |
[9] Jak je zmíněno výše, tímto nezjistíte, zda jsou balíky v archivu bezpečné nebo dokonce neškodlivé. Popsaným mechanismem pouze zjistíte, zda jsou pravé nebo ne.