Verder Terug Inhoud

7. Beveiliging van de kernel

Dit is een beschrijving van de opties voor het configureren van de kernel die met beveiliging te maken hebben, een beschrijving van wat ze doen en hoe je ze moet gebruiken.

Omdat de kernel het gebruik van je computer op het netwerk beheert, is het belangrijk dat deze erg veilig is en niet in gevaar gebracht kan worden. Om enkele van de meest recente netwerkaanvallen te voorkomen, moet je proberen om je kernelversie actueel te houden. Je kunt nieuwe kernels vinden op ftp://ftp.kernel.org of bij de leverancier van je distributie.

Er is ook een internationale groep die een afzonderlijke uniforme coderingspatch verschaft voor de conventionele Linux kernel. Deze patch verschaft ondersteuning voor een aantal cryptografische subsystemen en zaken die niet kunnen worden toegevoegd aan de conventionele kernel vanwege exportbeperkingen. Voor meer informatie kun je hun webpagina bezoeken op: http://www.kerneli.org

7.1 Opties om 2.0 kernels te compileren

De volgende opties zijn voor 2.0.x kernels van toepassing. Je zou deze opties moeten kunnen zien tijdens het configuratieproces van de kernel. Veel van de opmerkingen hier komen uit ./linux/Documentation/Configure.help. Dit is hetzelfde document als waarnaar verwezen wordt wanneer de Help faciliteit aangeroepen wordt tijdens de make config fase van het compileren van de kernel.

7.2 Opties om 2.2 kernels te compileren

Voor 2.2.x kernels zijn veel van de opties hetzelfde, maar er zijn ook een paar nieuwe ontwikkeld. Veel van de opmerkingen hier komen van ./linux/Documentation/Configure.help, wat hetzelfde document is waarnaar verwezen wordt als je de Help faciliteit gebruikt tijdens de make config fase bij het compileren van de kernel. Alleen de nieuw toegevoegde opties worden hieronder opgesomd. Raadpleeg de 2.0 beschrijving voor een lijst met andere noodzakelijke opties. De meest opmerkelijke verandering in de 2.2 kernel series is de IP firewalling code. Het ipchains programma wordt nu gebruikt om IP firewalling te installeren, in plaats van het ipfwadm programma dat gebruikt werd in de 2.0 kernel.

7.3 Kernel Devices

Er zijn een paar block en character devices beschikbaar onder Linux die je ook behulpzaam kunnen zijn met de beveiliging.

De twee devices /dev/random en /dev/urandom worden verschaft door de kernel om op elk tijdstip te kunnen voorzien in willekeurige gegevens.

Zowel /dev/random als /dev/urandom zouden veilig genoeg moeten zijn om te gebruiken voor het genereren van PGP sleutels, het aanroepen van ssh en andere applicaties waar veilige, willekeurige nummers vereist zijn. Voor aanvallers moet het onmogelijk zijn het volgende nummer te voorspellen gezien elke aanvangsvolgorde van nummers van deze bronnen. Er is een hoop moeite voor gedaan om zeker te stellen dat de nummers die je van deze bronnen krijgt, willekeurig in elke betekenis van het woord zijn.

Het enige verschil tussen de twee devices, is dat /dev/random door zijn voorraad willekeurige bytes heen raakt en je laat wachten tot er weer een voorraad is aangemaakt. Merk op dat het op sommige systemen een blokkade voor lange tijd kan opwerpen doordat er gewacht wordt op het invoegen van nieuwe door de gebruiker gegenereerde entropie in het systeem. Je moet voorzichtigheid betrachten voordat je /dev/random gebruikt. (Wellicht is het beste wat je kunt doen, het te gebruiken wanneer je gevoelige sleutelinformatie aan het genereren bent en je de gebruiker vertelt herhaaldelijk op het toetsenbord te slaan totdat je de melding "OK, genoeg" geeft).

/dev/random is hoge kwaliteit entropy, gegenereerd door het meten van de interrupt tijden etc. Het blokkeert totdat er voldoende bits met willekeurige gegevens beschikbaar zijn.

/dev/urandom is vergelijkbaar, maar wanneer de opslag van entropie op een laag pitje staat, zal het een cryptografisch sterk mengelmoesje van wat er is terugsturen. Dit is niet zo veilig, maar het is voldoende voor de meeste applicaties.

Je kunt de devices raadplegen door iets dergelijks te gebruiken:

   root#  head -c 6 /dev/urandom | mimencode
Dit zal acht regels willekeurige karakters op de console afdrukken, geschikt voor wachtwoordgeneratie. Je kunt mimencode in het metamail package vinden.

Zie /usr/src/linux/drivers/char/random.c voor een beschrijving van het algoritme.

Met dank aan Theodore Y. Ts'o, Jon Lewis en anderen van Linux-kernel die mij (Dave) hiermee geholpen hebben.


Verder Terug Inhoud