De capaciteit van apt
om verschillende pakketbronnen te benaderen, houdt
een potentiële kwetsbaarheid in. Veronderstel dat u aan uw bestand
sources.list
een pakketarchief toevoegt dat door Joe
Random Hacker publiekelijk aangeboden wordt omdat u Joe's pakket
gargleblast
wenst te installeren. Het is evenwel
mogelijk dat zonder dat u het weet, Joe's archief ook een door hem
“aangepaste” versie bevat van pakketten zoals
libc6
en ssh
, ...versies
die vertrouwelijke informatie van u stelen of op uw systeem achterpoorten
openzetten! Indien deze pakketten een hoger versienummer hebben dan de echte
Debian-pakketten, dan zal apt
ze zonder zich zorgen te maken bij de
volgende upgrade op uw systeem installeren en op die manier Joe in staat
stellen om ongemerkt zijn vieze zaakjes op te knappen. Joe zou ook in uw
spiegelserver met Debian-archieven kunnen inbreken en er de geldige software
vervangen door een versie waarmee hij zitten knoeien heeft.
Recente versies van apt
en aptitude, zoals de versie die in deze
handleiding beschreven wordt, hebben gelukkig ingebouwde beveiligingen om
dit soort aanvallen tegen te gaan. apt
maakt gebruik van strikte
veiligheidsmechanismes die steunen op de populaire encryptiesoftware GPG om na te gaan of de pakketten die
door de officiële Debian-spiegelservers verdeeld worden dezelfde zijn als
die welke door de ontwikkelaars van Debian geüpload werden. aptitude zal u
een waarschuwing geven als u een pakket tracht te installeren dat niet
afkomstig is van een Debian-pakketbron, of als u een pakket dat afkomstig is
van een Debian-pakketbron probeert op te waarderen met een versie die niet
van een Debian-pakketbron afkomstig is.
![]() | Waarschuwing |
---|---|
De veiligheidsmechanismes van Als u ervoor zorgt dat u enkel software installeert die van een betrouwbare bron afkomstig is, zal dit een grote mate van bescherming bieden tegen schadelijke pakketten, maar het kan niet elk risico uitschakelen dat inherent is aan het installeren van software. |
apt
laat de beheerder van een archief toe om de index van het archief van
een ondertekening te voorzien. Deze ondertekening die
(bij gewoon gebruik in de praktijk) niet vervalst kan worden, geeft aan dat
de pakketbestanden die in de index opgenomen zijn, dezelfde zijn als die
welke de beheerder effectief in het archief wilde hebben, m.a.w. dat er niet
werd geknoeid met de inhoud van het archief nadat het aangemaakt
werd.[9] De ondertekening kan gevalideerd
worden door na te gaan of ze overeenkomt met de publieke
sleutel van de beheerder. De publieke sleutel van het
Debian-archief wordt samen met apt
verdeeld, gewoonlijk op uw Debian CD.
Als aptitude een archiefindex ophaalt, zal het controleren of die index behoorlijk ondertekend is. Indien er geen ondertekening is, zal aptitude pakketbestanden die van dat archief afkomstig zijn, niet vertrouwen (zie verder voor informatie over wat dat precies betekent). Indien het indexbestand wel een handtekening bevat, maar een die niet correct is of niet gecontroleerd kan worden, dan zal een waarschuwing gegeven worden en zal aptitude weigeren de pakketten uit dat archief te vertrouwen.
Later, als u een installatieoperatie zult uitvoeren, zal aptitude nagaan of de pakketten afkomstig zijn van betrouwbare bronnen. Indien een onbetrouwbaar pakket geïnstalleerd wordt of een pakket opgewaardeerd wordt van een betrouwbare naar een onbetrouwbare versie, zal een waarschuwing getoond worden en zult u de mogelijkheid hebben de download af te breken:
![]() |
U kunt het nuttig vinden om apt
ook andere archieven naast het
Debian-hoofdarchief te laten vertrouwen. Voor elk archief dat u wenst te
vertrouwen, moet u de publieke sleutel verkrijgen waarmee de pakketindex van
het archief ondertekend wordt. Dit is gewoonlijk een tekstbestand waarvan de
naam eindigt op .asc
. De beheerder van de site kan hem
u ter beschikking stellen of hij kan af te halen zijn van een server voor
publieke sleutels. Zie de GPG
webpagina voor meer informatie over wat een publieke sleutel is en
hoe u eraan kunt geraken.
De lijst met sleutels die apt vertrouwt, wordt opgeslagen in het
sleutelbosbestand
/etc/apt/trusted.gpg
. Als u de GPG-sleutel in uw bezit
gekregen heeft, kunt u hem aan deze lijst toevoegen met het commando
gpg --no-default-keyring --keyring /etc/apt/trusted.gpg --import
nieuwe-sleutel.asc
. Elk archief dat
ondertekend is met de sleutel uit nieuwe-sleutel.asc
zal dan door aptitude vertrouwd worden.
![]() | Waarschuwing |
---|---|
Als de sleutel van een archief toegevoegd werd aan de sleutelbos van APT, zal dat archief evenveel vertrouwd worden als de spiegelservers van het hoofdarchief van Debian zelf. U zou dit enkel mogen doen als u er erg zeker van bent dat de sleutel die u toevoegt correct is en dat de persoon aan wie de sleutel toebehoort betrouwbaar en competent is. |
[9] Zoals eerder reeds aangegeven, is dit geen indicatie voor het feit dat de pakketten in het archief veilig of zelfs niet kwaadaardig zijn, maar het is eerder een aanwijzing dat ze echt zijn.