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.
Detta val bör vara påslaget. Källroutade ramar innehåller hela vägen till sin destination inuti paketet. Detta betyder att routrar som paketet passerar inte behöver inspektera paketet utan bara skickar det vidare. Detta kan leda till att data som utgör ett potentiellt hot tar sig in i ditt system.
Detta val är nödvändigt om du skall konfigurera din maskin som en brandvägg, använda IP-förklädnad (masquerading) ellr vill skydda din arbetsstation från intrång via din uppringda PPP-länk.
Om du slår på IP forwarding, så blir din Linuxbox i princip en router. Om din maskin är på ett nätverk så kan du skicka vidare data från ett nätverk till ett annat, och kanske motarbeta en brandvägg som installerades just för att förhindra detta från att hända. Vanliga användare med uppringd förbindelse skall slå av detta val, och andra användare skall koncentrera sig på säkerhetsriskerna av att använda detta. Brandväggar skall ha detta påslaget och använda det tillsammans med mjukvara för brandväggar.
Du kan slå på IP-forwarding dynamiskt med följande kommando:
root# echo 1 > /proc/sys/net/ipv4/ip_forward
och slå av det med:
root# echo 0 > /proc/sys/net/ipv4/ip_forward
Denna filen (och många andra i /proc) ser alltid ut att ha längden noll, men det har den egentligen inte. Detta är en nyintrodiucerad egenskap i kärnan, så se till att använda en kärna med version 2.0.33 eller senare.
Detta val ger dig information om paket som din brandvägg tar emot, som sändare, mottagare, port, osv.
Generellt så är detta val avslaget, men om du bygger en brandvägg eller förklädd värd, så bör du slå på det. När data sänds från en dator till en annan, så sänds det inte alltid som ett enda paket med data, utan det fragmenteras till flera delar. Problemet med detta är att portnumret lagras endast i det första fragmentet. Detta innebär att någon kan lägga till information som inte skall vara där i de andra paketen för din ansluting.
SYN attack är en nekande-av-tjäns-attack (DoS) som konsumerar alla resurser på din maskin och tvingar dig att starta om. Vi kan inte komma på någon anledning för att du inte skulle slå på detta valet.
Detta valet finns i kärnor i serien 2.1 och det signerar NCP-paket för att öka säkerheten. Normalt kan du lämna det avslaget, men det finns att tillgå om du behöver det.
Detta är ett väldigt trevlig val som låter dig analysera de första 128 byten av paketen i ett användar-program, för att avgöra om du vill acceptera eller neka paketet, baserat på dess validitet.
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.