De betrouwbaarheid van pakketten begrijpen en ermee omgaan

Betrouwbaarheid begrijpen
Extra sleutels vertrouwen

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]Waarschuwing

De veiligheidsmechanismes van apt bieden een haast perfecte garantie dat de inhoud van uw archiefspiegelserver identiek is aan de inhoud van het hoofdarchief van Debian. Toch is dit geen wondermiddel: er zijn bijvoorbeeld meerdere manieren denkbaar waarop in theorie een vervalst pakket het hoofdarchief van Debian zou kunnen binnendringen.

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.

Betrouwbaarheid begrijpen

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:

[waarschuwing onbetrouwbare pakketten/versies]

Extra sleutels vertrouwen

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]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.