Nästa Föregående Innehållsförteckning

7. Kärnans säkerhet

Detta är en beskrivning av de konfigurationsval i kärnan som relaterar till säkerhet, och en förklaring till vad de gör, och man använder dem.

Eftersom kärnan kontrollerar hur din dator agerar på nätverket, så är det viktigt att kärnan är väldigt säker och att des säkerhet inte äventyras. För att förhindra några av de senaste nätverksattackerna så skall du försöka hålla din kärna uppdaterad. Du hittar nya kärnor på ftp://ftp.kernel.org.

7.1 Kompileringsval för kärnan

7.2 Enheter i kärnan

Det finns några block- och teckenenheter tillgängliga i Linux som kan hjälpa dig med säkerheten.

De två enheterna /dev/random och /dev/urandom tillhandahålls av kärnan för att kunna hämta slumpartad data när som helst.

Både /dev/random och /dev/urandom bör vara tillräckligt säkra för att generera PGP-nycklar, SSH-utmaningar och andra applikationer där säker slumpartade tal behövs. Attackerare bör vara oförmögna att förutsäga nästa tal som kommer från dessa källor oavsett vilken sekvens som har varit innan. Det har lagts ned mycken möda för att talen som du får från dessa källor verkligen är slumpvisa i alla bemärkelser.

Den enda skillnaden är att /dev/random får slut på slumpvisa bytes och låter dig vänta på att fler ackumuleras. Observera att på vissa system kan den blockera en lång tid i väntan på att en ny användargenererad post skall komma in i systemet. Så du måste vara försiktig innan du använder /dev/random. (Kanske är det bästa att använda detta när du genererar känslig nyckelinformation, och du säger till användaren att slå på tangentbordet upprepade gånger tills du skriver ut "OK, det räcker".)

/dev/random ger mycket bra slumpmässighet, genererad från att mäta tider mellan avbrott osv. Den blockerar tills tillräckligt många bitar med slumvis data finns tillgänglig.

/dev/urandom är liknande, men när dess lager med bra slumpvis data börjar ta slut, så returnerar den en kryptografiskt stark hash av det som finns. Detta är inte lika säkert men det duger för de flesta applikationer.

Du kan läsa från dessa enheter med något sånt här:

        root#  head -c 6 /dev/urandom | uuencode -

Detta skriver ut sex slumvisa tecken på konsollen, lämpliga för lösenordsgenerering.

Titta i /usr/src/linux/drivers/char/random.c för en beskrivning av algoritmen.

Tack till Theodore Y. Ts'o, John Lewis och andra från Linux-kärnan för att ni hjälpte mig (Dave) med detta.


Nästa Föregående Innehållsförteckning