  Linux Skerhets HOWTO
  Kevin Fenzi, kevin@scrye.com & Dave Wreski, dave@nic.com.
  Svensk versttning av Tomas Carlsson
  md5tc@mdstud.chalmers.se
  v0.9.11, 1 May 1998. Svensk version Augusti 1998

  Detta dokument r en allmn versikt av de skerhetsaspekter som en
  administratr av ett Linuxsystem stter p. Det tcker allmn sker
  hetsfilosofi och ett antal specifika  exempel p hur du kan gra ditt
  Linuxsystem skrare mot inkrktare. Det hnvisas ven till annat
  skerhetsrelaterat material och program.  OBS: Detta r en betaversion
  av detta dokument. Frbttringar, konstruktiv kritik, tillgg och
  rttningar tas tacksamt emot. Var vnlig skicka din feedback till bda
  frfattarna per e-post. Se till att ha med "Linux", "security" eller
  "HOWTO" i mnesraden i ditt meddelande fr att undvika spammningsfil
  ter och fr att ditt meddelande skall uppmrksammas snabbt av frfat
  tarna.
  ______________________________________________________________________

  Innehllsfrteckning














































  1. Introduktion

     1.1 Nya versioner av detta dokument
     1.2 Feedback
     1.3 Disclaimer
     1.4 Information om kopieringsrtt
        1.4.1 Svensk versttning
        1.4.2 Engelsk version (denna gller)

  2. versikt

     2.1 Varfr behver vi skerhet?
     2.2 Hur skert r skert?
     2.3 Vad frsker du att skydda?
     2.4 Utveckla en skerhetspolicy
     2.5 Mjligheter att skra din sajt
        2.5.1 Datorskerhet
        2.5.2 Ntverksskerhet
        2.5.3 Skerhet genom mrklggning
     2.6 Organisation av detta dokument

  3. Fysisk skerhet

     3.1 Datorls
     3.2 BIOS-skerhet
     3.3 Boot-laddarskerhet
     3.4 xlock och vlock
     3.5 Upptcka ventyrande av fysisk skerhet

  4. Lokal skerhet

     4.1 Skapa nya anvndarkonton
     4.2 Root-skerhet

  5. Skerhet i filer och filsystem

     5.1 Umask-instllningar
     5.2 Filrttigheter
     5.3 Integritetskontroll med Tripwire
     5.4 Trojanska hstar

  6. Lsenordsskerhet och kryptering

     6.1 PGP och Public Key kryptografi
     6.2 SSL, S-HTTP, HTTPS och S/MIME
     6.3 Linux x-kernel IPSEC implementering
     6.4 SSH (Secure Shell), stelnet
     6.5 PAM - Pluggable Authentication Modules
     6.6 Kryptografisk IP inkapsling (CIPE)
     6.7 Kerberos
     6.8 Skuggade lsenord
     6.9 Crack och John the Ripper
     6.10 CFS - kryptografiskt filsystem och TCFS - transparent kryptografiskt filsystem
     6.11 X11-, SVGA- och displayskerhet
        6.11.1 X11
        6.11.2 SVGA
        6.11.3 GGI (Generella Grafikgrnssnittsprojektet)

  7. Krnans skerhet

     7.1 Kompileringsval fr krnan
     7.2 Enheter i krnan

  8. Ntverksskerhet

     8.1 Paketsniffare
     8.2 Systemtjnster och tcp_wrappers
     8.3 Verifiera din DNS-information
     8.4 identd
     8.5 SATAN, ISS och andra Ntverksscannare
     8.6 Sendmail, qmail och MTAs
     8.7 Nekande-av-tjnst attacker
     8.8 NFS-skerhet (Network File System)
     8.9 NIS (Network Information Service) (tidigare YP).
     8.10 Brandvggar

  9. Skerhetsfrberedelser (innan du kopplar upp dig)

     9.1 Gr en fullstndig skerhetskopia av din maskin
     9.2 Vlj ett bra schema fr skerhetskopiering
     9.3 Skerhetskopiera din RPM eller Debian fildatabas
     9.4 Hll reda p systemloggarna
     9.5 Lgg till alla nya systemuppdateringar

  10. Att gra efter en attack

     10.1 Skerhetsbrott p gng
     10.2 Skerhetsbrott har redan intrffat
        10.2.1 Stnga hlet
        10.2.2 Ta reda p hur mycket skada som har skett
        10.2.3 Skerhetskopior, Skerhetskopior, Skerhetskopior!
        10.2.4 Spra inkrktaren

  11. Skerhetskllor

     11.1 FTP-sajter
     11.2 Webb-sajter
     11.3 E-postlistor
     11.4 Bcker - Tryckt Lsmaterial
     11.5 Terminologi

  12. Ofta frgade frgor (FAQ)

  13. Slutsats

  14. Tack till



  ______________________________________________________________________




  1.  Introduktion

  Detta dokument tcker ngra av de huvudsakliga skerhetsaspekter som
  pverkar skerheten i Linux. Generell filosofi och "ntfdda" resurser
  diskuteras.

  Ett antal andra HOWTO-dokument verlappar med dessa skerhetsaspekter
  och det har hnvisats till dessa dr s r fallet.

  Det r INTE meningen att detta dokument skall vara ett frskt dokument
  om olika attacker som kan frekomma. Ett stort antal nya attacker
  frekommer stndigt. Detta dokument talar om var man kan leta efter
  sdan frsk information, och ngra allmna metoder fr att frebygga
  att sdana attacker ger rum.




  1.1.  Nya versioner av detta dokument

  Nya versioner av detta dokument kommer periodvis att postas till
  diskussionsgruppen comp.os.linux.answers. De kommer ven att finnas p
  de olika anonyma FTP-sajter som arkiverar sdan information,
  inklusive:

  ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO

  Dessutom s br du vanligtvis kunna hitta detta dokument p Linux
  WorldWideWeb hemsidan via:

  http://sunsite.unc.edu/mdw/linux.html

  Till sist, den allra senaste versionen av detta dokument br ocks
  finnas tillgngligt i olika format frn:

  http://scrye.com/~kevin/lsh/



  1.2.  Feedback

  Alla kommentarer, felrapporter, ytterligare information och kritik av
  alla de slag skall skickas till:

  kevin@scrye.com

  och

  dave@nic.com

  OBS: Var vnlig och skicka din feedback till _bda_ frfattarna. Se
  ven till att ha med "Linux", "security" eller "HOWTO" i din mnesrad
  fr att undvika Kevins spammningsfilter.




  1.3.  Disclaimer

  Inget ansvar fr innehllet i detta dokument kan accepteras. Anvnd
  principer, exempel och annat innehll p egen risk. Dessutom, detta r
  en tidig version med mnga mjligheter fr oriktigheter och fel.

  Ett antal av exemplen och beskrivningarna anvnder upplgg och
  systemkonfiguration frn distributionen RedHat(tm). Anvndbarheten kan
  variera.

  S lngt som vi vet s beskrivs endast program som under srskilda
  villkor kan anvndas eller utvrderas i personligt syfte. De flesta av
  programmen r tillgngliga med komplett kllkod under GNU-lika
  villkor.



  1.4.  Information om kopieringsrtt


  1.4.1.  Svensk versttning

  Denna svenska versttning skall inte betraktas som juridiskt
  bindande. Det r originalversionen p engelska som gller, se nsta
  rubrik.


  Detta dokument r kopieringsrttsskyddat (c)1998 Kevin Fenzi och Dave
  Wreski, och distribueras under fljande villkor:


    Linux HOWTO-dokument fr reproduceras och distribueras i sin helhet
     eller i delar, i vilket fysiskt eller elektroniskt medium som
     helst, s lnge som denna kopieringsrtts notis inkluderas
     ofrndrad p alla kopior. Kommersiell distribution r tillten och
     uppmuntras; men, frfattarna vill grna bli informerade om alla
     sdana distributioner.

    Alla versttningar, hrledda arbeten eller frenade arbeten som
     infrlivar ngot Linux HOWTO-dokument mste tckas under denna
     kopieringsrttsnotis. Det vill sga, du fr inte producera ett
     hrlett arbete frn en HOWTO och sedan lgga till ytterligare
     restriktioner fr dess distribution. Undantag fr dessa regler kan
     tilltas under speciella frhllanden; var vnlig kontakta
     koordinatorn fr Linux HOWTOs p adressen som ges nedan.

    Om du har ngra frgor var vnlig kontakta Tim Bynum, koordinatorn
     fr Linux HOWTOs p:

  linux-howto@sunsite.unc.edu


  1.4.2.  Engelsk version (denna gller)

  This document is copyrighted (c)1998 Kevin Fenzi and Dave Wreski, and
  distributed under the following terms:



    Linux HOWTO documents may be reproduced and distributed in whole or
     in part, in any medium physical or electronic, as long as this
     copyright notice is retained on all copies. Commercial
     redistribution is allowed and encouraged; however, the authors
     would like to be notified of any such distributions.

    All translations, derivative works, or aggregate works
     incorporating any Linux HOWTO documents must be covered under this
     copyright notice.  That is, you may not produce a derivative work
     from a HOWTO and impose additional restrictions on its
     distribution. Exceptions to these rules may be granted under
     certain conditions; please contact the Linux HOWTO coordinator at
     the address given below.

    If you have questions, please contact Tim Bynum, the Linux HOWTO
     coordinator, at

  linux-howto@sunsite.unc.edu




  2.  versikt

  Detta dokument frsker frklara ngra tillvgagngsstt och vanligt
  frekommande mjukvara som kan hjlpa ditt Linuxsystem att bli skrare.
  Det r viktigt att diskutera ngra av de grundlggande principerna
  frst, och skapa en stomme fr skerheten innan vi stter igng.






  2.1.  Varfr behver vi skerhet?

  Skerhet blir en allt viktigare aspekt i den stndigt frnyande
  vrlden av global datakommunikation, billiga Internetanslutningar och
  snabb mjukvaruutveckling. Skerhet r numer ett grundlggande krav
  eftersom global dataverfring r osker till sin natur. Nr din data
  gr frn punkt A till punkt B p Internet, till exempel, kan det
  passera genom flera andra punkter p vgen. Detta ger andra anvndare
  mjligheten att snappa upp, och till och med ndra, din data. ven
  andra anvndare p ditt system kan illvilligt frndradin data till
  ngot som du inte alls hade tnkt. Otillten access till ditt system
  kan fs av inkrktare, ven knda som "crackers", som sedan anvnder
  avancerad kunskap fr attimitera dig, stjla information frn dig
  eller till och med neka dig access till dina egna resurser. Om du
  fortfarande undrar vad det r fr skillnad mellan en "Hacker" och en
  "Cracker" s br du lsa Eric Raymonds dokument, "How to Become A
  Hacker", tillgngligt p http://sagan.earthspace.net/~esr/faqs/hacker-
  howto.html. (Det finns ven en svensk version tillgnglig som
  "inofficiell" HOWTO p samma stlle som _detta_ dokument).




  2.2.  Hur skert r skert?

  Frst och frmst, kom ihg att inget datorsystem kan ngonsin vara
  "helt och hllet skert". Allt du kan gra r att gra det svrare fr
  ngon att ventyra skerheten p ditt system. Fr den normale
  hemanvndaren av Linux s krvs det inte mycket fr att hlla en
  planls cracker p avstnd. Fr hgprofilanvndare av Linux (banker,
  telekommunikationsfretag, etc) s krvs mycket mer arbete.

  En annan faktor at ta med i berkningarna r att ju skrare ditt
  system r desto mer strande blir skerheten. Du mste avgra i denna
  balansgng ditt system fortfarande ranvndbart och fortfarande skert
  fr dina syften. Till exempel, du kan krva att alla som ringer in
  till ditt system anvnder ett "callback" modem som ringer upp
  respektive anvndare p deras hemnummer. Detta r skrare, men om
  ngon inte r hemma s blir det svrt fr dem att logga in. Du kan
  ocks konfigurera ditt system utan ntverksanslutningar till Internet,
  men detta gr det svrare att surfa p webben.

  Om du har en stor till medelstor sajt s br du stlla upp en
  "Skerhetspolicy" som sger hur mycket skerhet som krvs av din sajt
  och vilken granskning som behvs fr att kolla den. Du kan hitta ett
  vlknt exempel p en skerhetspolicy p
  http://ds.internic.net/rfc/rfc2196.txt. Den har nyss blivit uppdaterad
  och innehller ett bra ramverk fr en skerhetspolicy t ditt fretag.





  2.3.  Vad frsker du att skydda?

  Innan du frsker skra ditt system s br du sl fast vilken niv av
  hot du mste skydda dig emot, vilka risker du br eller inte br ta
  och hur srbart ditt system r som resultat. Du br analysera ditt
  system fr att veta vad du skyddar, varfr du skyddar det, vilket
  vrde det har och vem som har ansvaret fr din data och andra
  tillgngar.


    Risken finns att en inkrktare kan lyckas med ett frsk att f
     tillgng till din dator. Kan en inkrktare lsa, skriva filer eller
     exekvera program som kan gra skada? Kan de radera kritisk data?
     Kan de hindra dig eller ditt fretag frn att gra viktigt arbete?
     Glm inte att ngon som fr tillgng till ditt anvndarkonto eller
     system kan ocks imitera dig.

     Dessutom, att ha ett oskert anvndarkonto p ditt system kan
     resultera i att hela ditt ntverk kan ventyras. Genom att ge en
     ensam anvndare tilltelse att logga in genom en rhosts-fil, eller
     genom att tillta anvndning av en osker tjnst, som tftp,
     riskerar du att en inkrktare anvnder detta fr "f in en fot
     genom drren". Nr vl inkrktaren har ett anvndarkonto p ditt
     system, eller ngon annans system, s kan det anvndas fr att f
     access till ett annat system eller ett annat anvndarkonto.


    Typiska hot kommer frn ngon med motivation att f otillten
     access till ditt ntverk eller dator. Du mste avgra vem du kan
     lita p som kan ha tillgng till ditt system och vilka hot de kan
     infra.

     Det finns flera sorters inkrktare och det r anvndbart att komma
     ihg de karakteristiken fr de olika nr du skrar ditt system.


    Den Nyfikne - Denna typ av inkrktare r huvudsakligen intresserad
     av att f reda p vilket typ av system och data du har.

    Den Illvillige - Denna typ av inkrktare r antingen ute efter att
     snka ditt system, eller att ndra utseendet p din webbplats,
     eller p ngot annat stt f dig att dsla tid och pengar p att
     terstlla det.

    Hgprofilinkrktaren - Denna typ av inkrktare frsker anvnda
     ditt system fr att bli populr och bermd. Han kan anvnda ditt
     hgprofilsystem fr att annonsera sina kunskaper.

    Tvlingsinkrktaren - Denna typ av inkrktare r intresserad av vad
     du har fr data p ditt system. Det kan vara ngon som tror att du
     har ngot som som kan frmja honom ekonomiskt eller p ngot annat
     stt.


    Srbarhet beskriver hur bra skyddad din dator r frn ett annat
     ntverk, och potentialen fr att ngon skall kunna f otillten
     tillgng.

     Vad r det som str p spel om ngon bryter sig in i ditt system?
     Sjlvklart r intressena hos en dynamisk PPP-hemanvndare
     annorlunda frn dem hos ett fretag som ansluter sin maskin till
     Internet, eller ngot annat stort ntverk.

     Hur mycket tid skulle det ta att terf/terskapa ngon data som
     frsvann? En frsta investering i tid nu kan spara tio gnger mer
     tid senare om du mste terskapa data som frsvann. Har du kollat
     din backupstrategi och verifierat din data p senare tid?




  2.4.  Utveckla en skerhetspolicy

  Skapa en enkel, allmn policy fr ditt system som dina anvndare kan
  frst och flja. Den br skydda den data som du skyddar, svl som
  anvndarnas integritet. Vissa saker som man kan tnka sig att lgga
  till r vem som har access till systemet (Fr min kompis anvnda mitt
  anvndarkonto?), vem fr installera mjukvara p systemet, vem ger
  vilken data, terstllning efter katastrof och korrekt anvndning av
  systemet.

  En allmnt accepterad skerhetspolicy brjar med frasen:


                    "Det som inte r tilltet r frbjudet"


  Detta betyder att om du inte ger en anvndare access till en tjnst s
  skall den anvndaren inte anvnda tjnsten frrn du ger access. Se
  till att policyn fungerar p ditt normala anvndarkonto. Att sga,
  "Ah, jag kan inte lista ut problemen med rttigheterna hr, jag gr
  det som root", kan leda till skerhetslckor som r vldigt sjlvklara
  och till och med sdana som inte har upptckts n.




  2.5.  Mjligheter att skra din sajt

  Detta dokument kommer att diskutera olika mjligheter p vilka du kan
  skra dina tillgngar som du har jobbat hrt fr: din lokala maskin,
  data, anvndare, ntverk och till och med ditt rykte. Vad skulle hnda
  med ditt rykte ifall en inkrktare raderade dina anvndares data?
  Eller gjorde om din webbplats? Eller publicerade ditt fretags interna
  projektplan fr nsta kvartal? Om du planerar en ntverksinstallation
  s finns det mnga faktorer som du mste ta med i berkningarna innan
  du ansluter en enda maskin till ditt ntverk.

  ven om du har en enda uppringd PPP-frbindelse, eller bara en liten
  sajt s betyder inte det att inkrktare inte r intresserade i dina
  system. Det r inte bara stora, hgprofilsajter som r potentiella
  ml, mnga inkrktare vill bara attackera s mnga sajter som mjligt,
  oavsett storlek. Dessutom, s kan de anvnda ett skerhetshl p din
  sajt fr att f access till andra sajter som du r ansluten till.

  Inkrktare har mycket tid att spilla och kan undvika att gissa hur du
  har blottat ditt system genom att helt enkelt testa alla mjligheter.
  Det finns ocks flera anledningar till varfr en inkrktare kan vara
  intresserad av dina system, vilka vi diskuterar senare.




  2.5.1.  Datorskerhet

  Den kanske strsta anstrngningen med skerhet grs p datorbaserad
  skerhet. Detta handlar vanligtvis om att se till att ditt eget system
  r skert, och hoppas p att alla andra p ditt ntverk gr detsammma.
  Att vlja bra lsenord, skra din dators lokala ntverkstjnster, ha
  bra loggningsmjligheter och uppgradera program med knda
  skerhetslckor ingr bland de saker som den lokala
  skerhetsadministratren har ansvar fr att gra. ven att detta r
  absolut ndvndigt s kan det bli en skrmmande uppgift nr ditt
  ntverk av makiner blir strre.




  2.5.2.  Ntverksskerhet

  Ntverksskerhet r lika ndvndigt som lokal datorskerhet. Med ditt
  system, eller ett distribuerat datantverk, Internet eller hundratals,
  om inte tusentals datorer p samma ntverk, s kan du inte lita till
  att alla de systemen r skra. Se till att endast tilltna anvndare
  kan anvnda dina ntverksresurser, bygga brandvggar, anvnda stark
  kryptering och se till att det inte finns ngra "skurkaktiga" eller
  oskra maskiner p ditt ntverk ingr i taganden fr en administratr
  fr ntverksskerhet.

  Detta dokument kommer att diskutera ngra av de tekniker som kan
  anvndas fr att skra din sajt, och frhoppningsvis visa dig ngra av
  de stt som finns fr att frhindra en inkrktare frn att f tillgng
  till det du frsker skydda.




  2.5.3.  Skerhet genom mrklggning

  En typ av skerhet som mste diskuteras r "skerhet genom
  mrklggning". Detta betyder att gra ngot som till exempel byta
  loginnamn frn "root" till "toor" fr att frhindra ngon att bryta
  sig in i ditt system som root r bara en falsk knsla av skerhet, och
  kommer att reslutera i vldigt otrevliga konsekvenser. Lita p att en
  som attackerar ditt system snabbt kommer att se igenom sdana tomma
  skerhetstilltag. Bara fr att du har en liten sajt eller relativt lg
  profil betyder inte att en inkrktare inte r intresserad av vad du
  har. Vi kommer att diskutera vad du skyddar i fljande avsnitt.




  2.6.  Organisation av detta dokument

  Detta dokument har delats in i ett antal avsnitt. De tcker ett
  flertal typer av skerhetsaspekter. Det frsta, fysisk skerhet,
  behandlar hur du behver skydda din fysiska maskin frn manipulation.
  Det andra beskriver hur du skyddar ditt system frn att bli
  manipulerat av lokala anvndare. Det tredje, filer och
  filsystemskerhet, visar hur du br stta upp dina filsystem och
  rttigheter p dina filer. Nsta avsnitt, lsenordskerhet och
  kryptering, behandlar hur du kan anvnda kryptering fr att skra din
  maskin och ditt ntverk. Skerhet i krnan behandlar hur behandlar
  vilka parametrar du br stta eller knna till fr en skrare maskin.
  Ntverksskerhet beskriver hur du skrar ditt Linuxsystem frn
  ntverksattacker. Skerhetsfrberedning behandlar hur du frbereder
  dina maskiner innan du kopplar in dem. Nsta avsnitt behandlar vad man
  kan gra nr man upptcker ett intrng r p gng eller nyss har
  intrffat. Sedan fljer lnkar till andra skerhetsresurser och
  slutligen lite frgor och svar och ngra avslutande ord.

  De tv huvudaspekterna att inse nr du lser detta dokument r:


    Knn till ditt system. Kolla systemloggar som /var/log/messages och
     hll ett ga p ditt system, och

    Hll ditt system uppdaterat genom att se till att du har
     installerat de senaste versionerna av mjukvaran och har uppgraderat
     efter uppgifter om skerhetsrisker. Endast detta hjlper dig att
     hlla ditt system betydligt mer skert.




  3.  Fysisk skerhet

  Det frsta "lagret" av skerhet som du mste ta med i berkningarna r
  den fysiska skerheten fr ditt datorsystem. Vem har direkt fysisk
  access till din maskin? Br de ha det? Kan du skydda din maskin frn
  deras mixtrande? Br du det?
  Hur mycket fysisk skerhet du behver fr ditt system beror vldigt
  mycket p din situation och/eller budget.

  Om du r en hemanvndare s behver du antagligen inte gra s mycket
  (ven om du kanske mste skydda din maskin frn klfingriga barn eller
  slktingar). Om du r i en labmilj s behver du nmnvrt mer, men
  anvndarna mste fortfarande kunna arbeta med maskinerna. Mnga av de
  avsnitt som fljer kommer att hjlpa dig. Om du jobbar p ett kontor
  s mste du kanske eller kanske inte skra din maskin nr du inte r
  dr. P vissa fretag r det ett brott som kan straffas med avsked att
  inte skra sin maskin nr man lmnar den.

  Sjlvklara fysiska skerhetsmetoder som ls p drrar, kablar, lsta
  skp och videovervakning r alla bra, men ligger utanfr rckvidden
  av detta dokument. :)




  3.1.  Datorls

  Mnga moderna pc-ldor inkluderar en lsfunktion. Vanligtvis r detta
  ett ls p framsidan av ldan dr du kan lsa eller lsa upp med en
  medfljande nyckel. Dessa ls kan hjlpa till att frebygga att ngon
  stjl din pc, eller ppnar ldan och manipulerar/stjler din hrdvara.
  De kan ibland ocks hindra att ngon terstartar din dator p sin egen
  diskett eller annan hrdvara.

  Dessa ls gr olika saker beroende p vad som stds av moderkortet och
  hur ldan r konstruerad. P mnga pc's mste du frstra ldan fr
  att kunna ppna den. P vissa andra kan man inte koppla in nya
  tangentbord eller mss. Se i instruktionerna till ditt moderkort eller
  lda fr mer information. Detta kan ofta vara en anvndbar egenskap,
  men lsen r ofta av dlig kvalitet och kan ltt forceras av en attack
  med dyrkar.

  Vissa ldor (mest sparc och mac) har en bygel p baksidan s att om du
  trr en kabel igenom den s mste attackerare klippa av kabeln eller
  frstra ldan fr att komma in i den. Att endast stta ett hngls
  eller kombinationsls igenom dessa kan frhindra att ngon stjl din
  maskin.




  3.2.  BIOS-skerhet

  BIOS r den lgsta nivn av mjukvara som konfigurerar eller
  manipulerar din x86-baserade hrdvara. LILO och andra uppstartsmetoder
  fr Linux anvnder BIOS fr att f reda p hur de skall starta upp din
  Linuxmaskin. Annan hrdvara som Linux krs p har liknande mjukvara
  (OpenFirmware p mac och nya sun, sun boot prom, osv...). Du kan
  anvnda ditt BIOS fr att hindra attackerare att terstarta din maskin
  och manipulera ditt Linuxsystem.

  Under Linux/x86 tillter mnga pc BIOS att du kan anvnda ett
  "boot"-lsenord. Detta tillhandahller inte s vrst mycket skerhet
  (BIOS kan nollstllas, eller tas bort om ngon kan ppna ldan), men
  det kan vara ett bra avskrckningsmedel (dvs det tar tid och lmnar
  spr av mixtring).

  Mnga x86 BIOS tillter ven att du specificerar diverse andra bra
  skerhetsinstllningar. Titta i din manual fr BIOS eller titta i det
  nsta gng du startar upp. Ngra exempel r: tillt inte uppstart frn
  diskett och lsenord fr att f tillgng till vissa BIOS-egenskaper.

  P Linux/Sparc kan ditt SPARC EEPROM stllas in fr att krva ett
  lsenord fr uppstart. Detta kan sakta ner attackerare lite granna.

  OBS: Om du har en servermaskin och du stller in ett lsenord fr
  uppstart s kan din maskin inte startas upp utan att ngon finns dr.
  Kom ihg att du mste g dit och skriva in lsenordet ven om det har
  varit strmavbrott. ;(




  3.3.  Boot-laddarskerhet

  De olika boot-laddarna som finns fr Linux kan ocks stllas in fr
  att krva ett lsenord. Med lilo kan du titta p instllningarna
  "restricted" och "password". "password" lter dig stlla in ett
  lsenord fr uppstart. Med "restricted" s startas maskinen upp som
  vanligt _om inte_ ngon specificerar ngra parametrar till lilo-
  prompten (som "single").

  Kom ihg att nr du stller in alla dessa lsenord s mste du ven
  komma ihg dem. :) Kom ocks ihg att lsenord saktar endast ner en
  beslutsam attackerare. Detta hindrar ingen frn att starta frn en
  diskett och montera din rootpartition. Om du anvnder skerhet i
  samband med en boot-laddare, s kan du likavl neka uppstart frn
  diskett i ditt BIOS, svl som att lsenordsskydda ditt BIOS.

  Om ngon har skerhetsrelaterad information frn en annan boot-
  laddare, s vill vi grna hra den. (grub, silo, milo, linload, etc).

  OBS: Om du har en servermaskin och du stller in ett lsenord fr
  uppstart s kan din maskin inte startas upp utan att ngon finns dr.
  Kom ihg att du mste g dit och skriva in lsenordet ven om det har
  varit strmavbrott. ;(




  3.4.  xlock och vlock

  Om du gr ivg frn din maskin d och d, s kan det vara trevligt att
  "lsa" din konsoll s att ingen mixtrar eller tittar p ditt arbete.
  Tv program som gr detta r: xlock och vlock.

  Xlock lser din X-skrm. Den br finnas i alla Linux-distributioner
  som stdjer X. Titta p manualbladet fr det fr mer valmjligheter,
  men generellt kan du kra xlock frn en xterm p din konsoll och det
  lser skrmen och krver ditt lsenord fr att lsa upp.

  vlock r ett enkelt litet program som lter dig lsa vissa eller alla
  virtuella konsoller p din Linuxburk. Du kan lsa den du arbetar i
  eller allihopa. Om du bara lser en s kan andra komma och anvnda
  konsollen, de kommer bara inte kunna anvnda din vty frrn du lser
  upp den. Vlock finns i RedHat Linux, men din lycka kan variera.

  Nr du lser din konsoll s hindrar det att ngon mixtrar med ditt
  arbete, men det hindrar inte att ngon startar om din maskin eller p
  annat stt avbryter ditt arbete. Det hindrar inte heller att ngon
  skapar problem genom att mixtra med din maskin via ntverket.







  3.5.  Upptcka ventyrande av fysisk skerhet

  Den frsta saken att alltid kolla upp r nr din maskin blev
  terstartad. Eftersom Linux r ett robust och stabilt operativsystem,
  s r de enda gnger din maskin skall terstartas nr DU tar ner den
  fr uppgradering av operativsystem, utbyte av hrdvara eller liknande.
  Om din maskin har terstartats utan att du har gjort det, s skall
  varningslampan tndas. Mnga av de stt p vilka din maskins skerhet
  kan ventyras krver att inkrktaren startar om eller stnger av din
  maskin.

  Titta efter tecken p att ngon mixtrat med ldan och datoromrdet.
  ven om mnga inkrktare stdar undan alla spr av deras nrvaro frn
  systemloggar, s r det en bra ide att titta igenom allihop och notera
  alla avvikelser.

  Ngra saker att titta efter i dina loggar:

    Korta eller inkompletta loggar.

    Loggar som innehller konstiga tidmarkeringar.

    Loggar med inkorrekta rttigheter eller gare.

    Meddelanden om terstart av system eller tjnster.

    Saknade loggar.

    Rader med su eller inloggning frn konstiga platser.

  Vi behandlar data frn systemloggar senare i denna HOWTO.




  4.  Lokal skerhet

  Nsta sak att titta p r skerheten i ditt system mot attacker frn
  lokala anvndare. Sade vi just _lokala_ anvndare? Ja.

  Att f tillgng till en lokal anvndares anvndarkonto r en av de
  frsta saker som en inkrktare frsker med p sin vg fr att komma
  t root-anvndarkontot. Med avsaknad av lokal skerhet s kan de
  "uppgradera" sin normala anvndaracceess till rootaccess genom att
  anvnda sig av en mngd buggar och dligt instllda lokala tjnster.
  Om du ser till att din lokala skerhet r snv, s har inkrktaren
  ytterligare ett hinder att g frbi.

  Lokala anvndare kan ocks skapa mycket trubbel med ditt system ven
  (srskilt) om de verkligen r de de sger att de r. Att ge
  anvndarkonton till personer som du inte knner eller inte har ngon
  information om r en vldigt dlig ide.




  4.1.  Skapa nya anvndarkonton

  Du br se till att endast ge de minimala rttigheter till ett
  anvndarkonto som krvs fr dess uppgifter. Om du vill ge din son
  (lder 10) ett anvndarkonto s kanske du bara vill att han skall ha
  tillgng till en ordbehandlare och ett ritprogram, men inte kunna
  radera data som inte r hans.

  Flera bra tumregler nr du skall ge andra personer tillgng till din
  Linuxmaskin:
    Ge dem minimalt med rttigheter.

    Ha kontroll p nr och var de loggar in ifrn, eller br logga in
     ifrn.

    Se till att ta bort deras anvndarkonto nr de inte lngre behver
     det.

  Mnga lokala anvndarkonton som anvnds i nedbrytning av skerhet r
  sdana som inte har anvnts p flera mnader eller r. Eftersom ingen
  anvnder dem s r de det ideala sttet att gra en attack med.




  4.2.  Root-skerhet

  Det mest efterskta anvndarkontot p din maskin r anvndarkontot fr
  "superuser". Detta anvndarkonto har auktoritet ver hela maskinen,
  vilket ven kan inkludera auktoritet ver andra maskiner p ntverket.
  Kom ihg att du endast skall anvnda root-anvndarkontot fr vldigt
  korta specifika uppgifter och skall mestadels kra som en normal
  anvndare. Att kra som root hela tiden r en vldigt vldigt vldigt
  dlig ide.

  Flera trix fr att undvika att stka till i din egen burk som root:

    Nr du skall gra ett komplext kommando, frsk frst med att kra
     det p ett ickedestruktivt stt...srskilt kommandon med mycket
     utskrifter: dvs, du r p vg att gra en "rm foo*.bak", men
     istllet gr du frst "ls foo*.bak" och ser till att du r p vg
     att radera de filer du har tnkt. Att anvnda echo istllet fr
     destruktiva kommandon kan ocks fungera ibland.

    Vissa personer anvnder "touch /-i" p sina system. Detta gr att
     kommandon som "rm -rf *" frgar om du verkligen vill ta bort alla
     filerna. (Det gr detta genom att ditt shell lser upp "-i" filen
     frst, och behandlar den som -i parametern till rm.) Detta hjlper
     dock inte med rm kommandon utan * i sig. ;(

    Bli endast root fr att gra enstaka specifika uppgifter. Om du
     mrker att du hller p att lista ut hur man gr en viss sak, g
     tillbaka till normal anvndare tills du r sker p vad som behver
     gras som root.

    Skvgen fr kommandon fr root-anvndaren r vldigt viktig.
     Kommandot path, eller omgivningsvariabeln PATH, definierar var
     shellet skall ska efter program. Frsk att minimera skvgen fr
     root-anvndaren s mycket som mjligt, och anvnd aldrig ".",
     vilket betyder "aktuell katalog" i din PATH. Dessutom s skall du
     aldrig ha skrivbara kataloger i skvgen, eftersom detta kan
     tillta attackerare att placera nya binrfiler i din skvg och
     lter dem kra som root nsta gng du kr det kommandot.

    Anvnd aldrig rlogin/rsh/rexec (kallas r-programmen) sviten av
     verktyg som root. De r freml fr mnga typer av attacker, och r
     riktigt farliga om de krs som root. Skapa aldrig en .rhosts-fil
     fr root.

    Filen /etc/securetty innehller en lista p terminaler som root kan
     logga in frn. Som standard (i RedHat Linux) r detta satt endast
     till de lokala virtuella konsollerna (vtys). Var vldigt frsiktig
     med att lgga till ngot annat i denna filen. Du br kunna logga in
     frn ett annat system som en normal anvndare och sedan gra "su"
     om du behver (frhoppningsvis via ssh eller ngon annan krypterad
     kanal), s det finns ingen anlednig att kunna logga in direkt som
     root.

    Var alltid lngsam och genomtnkt nr du kr som root. Ditt
     agerande kan pverka mnga saker. Tnk innan du skriver!

  Om du absolut mste lta ngon (frhoppnigsvis en som du litar p) f
  "superuser" access till din maskin, s finns det ngra verktyg som kan
  hjlpa till. Sudo lter anvndare anvnda sitt lsenord fr att f
  tillgng till ett begrnsat antal kommandon som root. Med detta kan
  du, till exempel, lta en anvndare mata ut och montera flyttningsbar
  media p din Linuxburk, men inte ha ngra andra root-privilegier. Sudo
  loggar alla lyckade och misslyckade sudo-frsk, vilket lter dig
  spra vem som anvnde vilket kommando fr att gra vad. Av denna
  anledningen s fungerar sudo bra ven p platser dr ett antal
  personer har root-access, men anvnd sudo s att du kan hlla reda p
  ndringar som grs.

  ven om sudo kan anvndas fr att ge specifika anvndare specifika
  privilegier fr specifika uppgifter, s har det flera nackdelar. Det
  skall enbart anvndas fr ett begrnsat antal uppgifter, som att
  starta om en server, eller lgga till nya anvndare. Alla program som
  tillhandahller att man kan hoppa ut i shellet kommer att ge
  anvndaren root-access. Detta inkluderar de flesta editorer, till
  exempel. Dessutom, ett s oskyldigt program som /bin/cat kan anvndas
  fr att skriva ver filer, vilket kan gra att root blir attackerat.
  Tnk p sudo som ett hjlpmedel fr att ha kontroll, och frvnta dig
  inte att det skall erstta root-anvndaren och dessutom vara skert.




  5.  Skerhet i filer och filsystem

  Ngra minuters frberedelse och planering innann du kopplar upp ditt
  system kan hjlpa till att skydda ditt system och den data som finns
  lagrad p det.

    Det br aldrig finnas ngon anledning att anvndarnas hemkataloger
     skall tillta att SUID/SGID-program krs ifrn dem. Anvnd
     parametern "nosuid" i /etc/fstab fr partitioner som r skrivbara
     av andra n root. Du kanske ven br anvnda "nodev" och "noexec"
     p anvndarnas hempartitioner, svl som p /var. Detta frbjuder
     exekvering av program, och att man skapar blockenheter, vilket
     aldrig skall vara ndvndigt nd.

    Om du exporterar filsystem via NFS, se till att du konfigurerar
     /etc/exports med de mest restriktiva rttigheterna som gr. Detta
     betyder att inte anvnda jokrar, inte tillta root-skrivaccess, och
     montera "readonly" nr det r mjligt.

    Konfigurera dina anvndares umask fr filskapning till att vara s
     restriktiv som mjligt. Vanliga instllningar r 022, 033 och den
     mest restriktiva 077, och lggs i /etc/profile.

    Stt grnser fr filsystemen istllet fr att tillta "obegrnsad"
     som r standard. Du kan kontrollera begrnsningar per-anvndare
     genom att anvnda PAM-modulen fr resursbegrnsningar och
     /etc/pam.d/imits.conf. Till exempel, grnserna fr gruppen "users"
     kan se ut s hr:



                       @users     hard  core    0
                       @users     hard  nproc   50
                       @users     hard  rss     5000

  Detta sger att det r frbjudet att skapa core-filer, begrnsar
  antalet processer till 50, och begrnsar minnesanvndningen per
  anvndare till 5Mb.


    Filerna /var/log/wtmp och /var/run/utmp innehller logininformation
     om alla anvndare p ditt system. Dess integritet mste bibehllas
     eftersom de kan anvndas fr att avgra nr och varifrn en
     anvndare (eller en potentiell inkrktare) har kommit in i ditt
     system. Dessa filerna br ocks ha rttigheterna 644, utan att
     pverka normal systemoperation.


    Biten fr "icke-ndringsbar" kan anvndas fr att frhindra att
     ngon av misstag raderar eller skriver ver en fil som mste vara
     skyddad. Det frhindrar ven att ngon skapar en symbolisk lnk
     till den filen, vilket har varit grunden till attacker som handlat
     om att radera /etc/passwd eller /etc/shadow. Se manualbladet fr
     chattr(1) fr mer information biten fr "icke-ndringsbar".


    Alla SUID och SGID filer p ditt system r potentiella
     skerhetsrisker, och skall kollas noga. Eftersom dessa program ger
     speciella privilegier till anvndaren som kr dem, s r det
     ndvndigt att vara sker p att inga oskra program installeras.
     Ett favorittrix frcrackers r att attackera SUID "root" program,
     och sedan lmna ett SUID-program som bakdrr fr att komma in nsta
     gng, ven om det ursprungliga hlet r igenpluggat.

     Hitta alla SUID/SGID-program p ditt system, och hll reda p vad
     de gr, s att du r medveten om alla ndringar som tyder p en
     potentiell inkrktare. Anvnd fljande kommando fr att hitta alla
     SUID/SGID-program p ditt system:



                root#  find / -type f \( -perm -04000 -o -perm -02000 \)




  Du kan ta bort SUID eller SGID rttigheterna p ett misstnkt program
  med chmod(1), sedan ndra tillbaka om tycker att det r absolut
  ndvndigt.


    Filer som r skrivbara fr alla, srskilt systemfiler, kan vara en
     skerhetsrisk om en cracker fr access till ditt system och ndrar
     dem. Dessutom r det farligt med kataloger som r skrivbara fr
     alla eftersom de lter en cracker skriva och radera filer som han
     vill. Fr att lokalisera alla filer som r skrivbara fr alla,
     anvnd fljande kommando:



                root# find / -perm -2 -print




  och se till att du varfr de filerna r skrivbara. I normal operation
  s r flera filer  skrivbara, inklusive ngra frn /dev och symboliska
  lnkar.

  

     Filer utan gare kan ocks vara en indikation att en inkrktare har
     haft tillgng till ditt system. Du kan hitta filer som inte har
     ngon gare eller inte tillhr ngon grupp med kommandot:



                root# find / -nouser -o -nogroup -print






    Att hitta .rhosts-filer br vara en del av dina vardagliga
     uppgifter som systemadministratr, eftersom dessa filer inte skall
     f existera p ditt system. Kom ihg att en cracker bara behver
     ett oskert anvndarkonto fr att f access till hela ditt ntverk.
     Du kan hitta alla .rhosts-filer p ditt system med fljande
     kommando:


                root# find /home -name .rhosts -print







    Till sist, innan du ndrar rttigheter p ngra systemfiler, se
     till att du frstr vad du gr. ndra aldrig rttigheterna p en
     fil fr att det verkar vara ett ltt stt att f saker och ting att
     fungera. Kontrollera alltid varfr en fil har vissa rttigheter
     innan du ndrar dem.




  5.1.  Umask-instllningar

  Kommandot umask kan anvndas fr att bestmma/ta reda p vilka
  rttigheter som skapade filer skall f som standard p ditt system.
  Det r det oktala komplementet till filrttigheterna. Om filer skapas
  utan hnsysn till rttigheter s kan en anvndare oavsiktligt ge ls
  eller skrivrttigheter till ngon som inte borde ha det. Typiska
  umask-instllningar r 022, 027 och 077 (vilket r det mest
  restriktiva). Normalt stts umask i /etc/profile s det gller alla
  anvndare p systemet. Du kan till exempel ha en rad som ser ut s
  hr:



                # Set the user's default umask
                umask 033




  Se till att umask fr root r 077, vilket slr av ls-, skriv- och
  exekverarttigheterna fr andra anvndare om det inte explicit ndras
  med chmod(1).

  Om du anvnder RedHat, och anvnder deras stt att skapa anvndare och
  grupper (User Private Groups), s rcker det att anvnda 002 som
  umask. Detta fr att standardkonfigurationen r en anvndare per
  grupp. (tminstonde versionerna 1.3 och 2.0 av Debian gr ocks
  detta!(Sv))




  5.2.  Filrttigheter

  Det r viktigt att du frskrar dig om att dina systemfiler inte r
  ppna fr slapphnt modifiering av anvndare och grupper som inte
  borde utva sdant systemunderhll.

  UNIX delar upp accesskontroll p filer och kataloger i tre kategorier:
  gare, grupp och andra. Det finns alltid exakt en anvndare, hur mnga
  medlemmar av gruppen som helst och alla andra.

  En snabb frklaring av rttigheter i UNIX:


    garskap - Vilken/vilka anvndare och grupper har kontroll ver
     rttigheterna fr noden och nodens frlder.


    Rttigheter - Bitar som antingen r p eller av fr att tillta
     vissa typer av access till noden. Rttigheter fr kataloger kan ha
     annan betydelse n samma rttigheter fr en fil.


    Read


    Att kunna titta p innehllet i en fil.


    Att kunna lsa en katalog




    Write


    Att kunna lgga till eller ndra en fil.


    Att kunna radera eller flytta filer i en katalog.




    Execute


    Att kunna exekvera ett binrprogram eller shellskript.


    Att kunna ska i en katalog, tillsammans med lsrttigheter.




  

     Save Text Attribute (fr kataloger)
        Den "klibbiga" (sticky) biten har ocks olika betydelse nr den
        finns p kataloger. Om den r satt p en katalog s fr en
        anvndare endast radera filer som anvndaren ger eller filer
        dr han har explicit skrivrttighet, ven om han har
        skrivrttighet till katalogen. Detta r gjort fr kataloger som
        /tmp, vilken r skrivbar fr alla, men det kanske inte r
        nskvrt att en anvndare kan ta bort filer som han vill. Denna
        biten ses som ett 't' i en lng kataloglistning.



  

     SUID Attribut (fr filer)
        Detta beskriver stt-anvndar-id rttigheter fr filen. Nr SUID
        r satt i garrttigheterna, och filen r exekverbar, s fr
        processer som kr den tillgng till systemresurser baserat p
        anvndaren som startade processen. Detta r anledningen till
        mnga "buffer overflow"-attacker.



  

     SGID Attribut (fr filer)
        Om detta r satt i grupprttigheterna s kontrollerar denna
        biten stt-grupp-id statusen fr en fil. Detta beter sig p
        samma stt som SUID, frutom att gruppen pverkas istllet.
        Filen mste ven vara exekverbar fr att det skall ha ngon
        effekt.



  

     SGID Attribut (fr kataloger)
        Om du stter SGID biten fr en katalog (med "chmod g+s
        katalognamn"), s kommer filer som skapas i den katalogen att ha
        sin grupp satt till katalogens grupp.

  Du       - garen av filen

  Grupp    - Gruppen du tillhr

  Alla     - Vem som helst p systemet som inte r gare eller medlem i
  gruppen.


  Filexempel:



           -rw-r--r--  1 kevin  users         114 Aug 28  1997 .zlogin
           1st bit - katalog?               (nej)
            2nd bit - lsbar fr garen?     (ja, fr kevin)
             3rd bit - skrivbar fr garen?   (ja, fr kevin)
              4th bit - exekverbar fr garen? (nej)
               5th bit - lsbar fr gruppen?    (ja, fr users)
                6th bit - skrivbar fr gruppen?  (nej)
                 7th bit - exekverbar fr gruppen?(nej)
                  8th bit - lsbar fr alla?       (ja, fr alla)
                   9th bit - skrivbar fr alla?     (nej)
                    10th bit - exekverbar fr alla?  (nej)




  Fljande rader r exempel p de minimala rttigheter som krvs fr att
  kunna utfra den access som beskrivs. Du kanske vill ge mer
  rttigheter n vad som listas, men detta br beskriva vad de minimala
  rttigheterna p filer gr:




       -r--------  Tillt lsacces til filen fr garen.
       --w-------  Tillter garen att ndra eller radera filen.
       ---x------  garen kan exekvera detta program, men inte shellskript
                   dr ven lsrttigheter krvs.
       ---s------  Kommer att exekvera med anvndar-id = gare.
       -------s--  Kommer att exekvera med anvndar-id = grupp.
       -rw------T  Ingen uppdatering av "sista modifieringstid". Vanligtvis
                   fr swapfiler.
       ---t------  Ingen effekt. (fre detta "sticky bit")




  Katalogexempel:


           drwxr-xr-x  3 kevin  users         512 Sep 19 13:47 .public_html/
           1st bit - katalog?              (ja, den kan innehlla filer)
            2nd bit - lsbar fr gare?     (ja, fr kevin)
             3rd bit - skrivbar fr gare?   (ja, fr kevin)
              4th bit - exekverbar fr gare? (ja, fr kevin)
               5th bit - lsbar fr grupp?     (ja, fr users)
                6th bit - skrivbar fr grupp?   (nej)
                 7th bit - exekverbar fr grupp? (ja, fr users)
                  8th bit - lsbar fr alla?      (ja, fr alla)
                   9th bit - skrivbar fr alla?    (nej)
                    10th bit - exekverbar fr alla? (ja, fr alla)




  Fljande rader r exempel p de minimala rttigheter som krvs fr att
  kunna utfra den access som beskrivs. Du kanske vill ge mer
  rttigheter n vad som listas, men detta br beskriva vad de minimala
  rttigheterna p kataloger gr:





       dr--------  Innehllet kan listas men filattributen kan inte lsas.
       d--x------  Man kan g in i katalogen och den kan anvndas i fulla
                   exekveringsskvgar.
       dr-x------  Filattribut kan nu lsas av garen.
       d-wx------  Filer kan nu skapas/raderas, ven om katalogen inte r
                   den aktuella.
       d------x-t  Frhindrar att filer kan raderas av andra med
                   skrivrttigheter. Anvnds p /tmp
       d---s--s--  Ingen effekt.




  Filer fr systemkonfiguration (vanligtvis i /etc) har oftast
  rttigheterna 640 (-rw-r-----) och gs av root. Beroende p
  skerhetskraven p din sajt, s kanske du vill  ndra detta. Lt
  aldrig systemfiler vara skrivbara fr en grupp eller fr alla. Vissa
  konfigurationsfiler, som /etc/shadow, br endast vara lsbara fr
  root. Kataloger i /etc br tminstonde inte vara tillgngliga fr
  alla.
     SUID shellskript
        Shellskript med SUID-biten satt r en allvarlig skerhetsrisk,
        av denna anledningen s tillter inte kerneln sdana. Oavsett
        hur skert du tycker att skriptet r, s kan det attackeras fr
        att ge en cracker ett root-shell.



  5.3.  Integritetskontroll med Tripwire

  Ett annat bra stt att upptcka lokala attacker (och ven frn
  ntverket) mot ditt system, r att kra en integritetskontrollerare
  som Tripwire. Tripwire kr ett antal checksummor p alladina viktiga
  binrfiler och konfigurationsfiler och jmfr dem med en databas med
  tidigare vrden som man vet r korrekta. Vilket betyder att ndringar
  i filer noteras.

  Det r en bra ide att installera Tripwire p en diskett, och sedan
  fysiskt skrivskydda disketten. Nu kan inkrktare inte mixtra med
  sjlva Tripwire eller ndra i databasen. Nr du vl har installerat
  Tripwire s r det en bra ide att kra det som en del av ditt
  normalasystemunderhll fr att se om ngot har ndrats.

  Du kan till och med lgga till en post i crontab fr att kra Tripwire
  frn din diskett varje natt och sedan e-posta dig resultaten p
  morgonen. Ngot som:


                # set mailto
                MAILTO=kevin
                # run tripwire
                15 05 * * * root /usr/local/adm/tcheck/tripwire




  kommer att ge dig en rapport varje morgon klockan 05:15.

  Tripwire kan vara en gudagva fr att upptcka inkrktare tidigare n
  du hade gjort annars. Eftersom det r mnga filer som ndras p ett
  normalt system, s mste du vara frsiktig med vad som r
  crackeraktivitet och vad du sjlv gr.




  5.4.  Trojanska hstar

  Trojanska hstar benmns efter Homeros bra litteratur. Iden r att du
  lgger upp ett program eller binr som verkar jttebra, och fr andra
  personer att ladda ner det och kra det som root. Sedan, kan du
  ventyra deras system medans de inte r uppmrksamma. Medans de tror
  att binren som de laddade ner gr en sak (som den mycket vl kan
  gra), s ventyrar den samtidigt deras skerhet.

  Du skall vara nogrann med vilka program som du installerar p din
  maskin. RedHat tillhandahller MD5-summor och PGP-signaturer fr RPM-
  filer s du kan verifiera att du installerar rtt program. Andra
  distributioner har liknande metoder. Du skall aldrig kra en binrfil
  som du inte har kllkoden till eller som inte r vlknd som root. F
  attackerare r villiga att slppa kllkoden till allmnheten.

  ven om det kan vara komplext, se till att du hmtar kllkoden fr
  program frn dess riktiga distributionssajt. Om programmet skall kra
  som root, se till att antingen du eller ngon du litar p tittar
  igenom kllkoden och verifierar den.
  6.  Lsenordsskerhet och kryptering

  En av de viktigaste skerhetsegenskaperna som anvnds nufrtiden r
  lsenord. Det r viktigt fr bde dig och dina anvndare att ha skra,
  icke gissningsbara lsenord. De flesta nyare Linuxdistributioner
  innehller "passwd"-program som inte tillter fr ltta lsenord. Se
  till att ditt "passwd"-program r uppdaterat och har dessa egenskaper.

  Djup diskussion om kryptering r utanfr rckvidden av detta dokument,
  men en introduktion r p sin plats. Kryptering r vldigt anvndbart
  och till och med ndvndigt nufrtiden. Det finns alla mjliga olika
  metoder fr att kryptera data, var och en med sina egna egenskaper.

  De flesta unixar (och Linux r inget undantag) anvnder i huvudsak en
  envgs krypteringsalgoritm, som heter DES (Data Encryption Standard),
  fr att kryptera lsenorden. Det krypterade lsenordet lagras sedan i
  (vanligtvis) /etc/passwd eller (mer sllan) /etc/shadow. Nr du
  frsker att logga in s krypteras det du skriver in och jmfrs sedan
  med posten i den fil som lagrar lsenorden. Om det stmmer, s mste
  det vara rtt lsenord, och du fr tillgng till systemet. ven om DES
  r en tvvgs krypteringsalgoritm (du kan kryptera och dekryptera ett
  meddelande, givet att du har rtt nycklar.), s r varianten som de
  flesta unixar anvnder envgs. Detta betyder att det inte skall vara
  mjligt att gra krypteringen baklnges fr att f fram lsenord i
  klartext frn /etc/passwd (eller /etc/shadow).

  Rstyrke-attacker (brute force), ssom "Crack" eller "John the Ripper"
  (se nedan) kan ofta gissa lsenord om lsenorden inte r tillrckligt
  slumpartat. PAM-moduler (se nedan) lter dig anvnda en annan
  krypteringsalgoritm till dina lsenord (som MD5 eller liknande).

  Du kan g till http://consult.cern.ch/writeup/security/security_3.html
  fr mer information om hur du vljer ett bra lsenord.




  6.1.  PGP och Public Key kryptografi


  Public key kryptografi, s som den som anvnds fr PGP, handlar om
  kryptografi som anvnder en nyckel fr kryptering och en annan nyckel
  fr dekryptering. Traditionellt s har kryptografi anvnt samma nyckel
  fr kryptering och dekryptering. Denna "privata" nyckel mste vara
  knd av bda parter, och p ngot stt transporteras frn en till en
  annan p ett skert stt.

  Public key kryptering upphver behovet att skert transportera nyckeln
  som behvs fr dekryptering genom att anvnda tv skilda nycklar, en
  publik nyckel och en privat nyckel. Varje persons publika nyckel r
  tillgnglig fr vem som helst och anvnds fr krypteringen, samtidigt
  s har varje person sin privata nyckel som han kan anvnda fr att
  dekryptera meddelanden som har krypterats med den rtta publika
  nyckeln.

  Det finns frdelar bde med Public Key och Private Key kryptering, och
  du kan lsa om dessa skillnader i RSA Cryptography FAQ, vars adress
  listas i slutet av denna sektion.

  PGP (Pretty Good Privacy) stds bra i Linux. Det r knt att
  versionerna 2.6.2 och 5.0 fungerar bra. Fr en bra grund om PGP och
  hur man anvnder det, titta p PGP FAQ.
  http://www.pgp.com/service/export/faq/55faq.cgi Se till att anvnda
  den versionen som passar fr ditt land, eftersom exportrestriktioner
  av den amerikanska regeringen gr att stark kryptering anses vara ett
  militrt vapen och inte fr fras ut ur landet i elektronisk form.
  Det finns ven en steg-fr-steg guide fr att konfigurera PGP p Linux
  p:
  http://mercury.chem.pitt.edu/~angel/LinuxFocus/English/November1997/article7.html
  Den skrevs fr den internationella versionen av PGP, men anpassas ltt
  till den amerikanska versionen. Du kan ocks behva en patch fr vissa
  av de senaste versionerna av Linux, som finns p
  ftp://sunsite.unc.edu/pub/Linux/apps/crypto.

  Mer information om kryptografi hittar du i RSA Cryptography FAQ, som
  finns p http://www.rsa.com/rsalabs/newfaq/. Hr hittar du information
  om termer som "Diffie-Hellman", "public-key cryptography", "Digital
  Certificates", osv.




  6.2.  SSL, S-HTTP, HTTPS och S/MIME

  Ofta frgar anvndare om skillnaden mellan olika skerhets- och
  krypteringsprotokoll, och hur man anvnder dem. ven om detta inte r
  ett dokument om kryptering, s r det en bra ide att ge en kort
  frklaring av varje, och var man hittar ytterligare information.


    SSL - SSL, eller Secure Sockets Layer, r en krypteringsmetod som
     r utvecklad av Netscape fr att tillhadahlla skerhet ver
     Internet. Den stder flera olika krypteringsprotokoll, och
     tillhandahller klient- och serverautentisering. SSL opererar p
     transportlagret, skapar en sker krypterad kanal av data, och kan
     drfr kryptera data av mnga olika slag. Detta visar sig
     vanligtvis nr man gr till en sker sajt fr att titta p ett
     skert dokument med Communicator, det agerar som bas fr sker
     kommunikation med Communicator, svl som fr mnga andra program
     frn Netscape Communications som anvnder kryptering. Mer
     information kan hittas p http://www.consensus.com/security/ssl-
     talk-faq.html.  Information om Netscapes andra
     skerhetsimplementationer, och en bra startpunkt fr dessa
     protokoll hittar du p http://home.netscape.com/info/security-
     doc.html.


    S-HTTP - S-HTTP r ett annat protokoll som tillhandahller
     skerhetstjnster ver Internet. Det designades fr att
     tillhandahlla konfidentialitet, autentisering, integritet och
     icke-imitering [kan inte missuppfattas som ngon annan ] samtidigt
     som det stdjer hantering av multipla nycklar och
     krypteringsalgoritmer via verenskommelse mellan parterna som r
     inblandade i transaktionen. S-HTTP begrnsas av den specifika
     mjukvara som implementerar det, och krypterar varje meddelande
     individuellt. [Frn RSA Cryptography FAQ, sidan 138]


    S/MIME - S/MIME, eller Secure Multipurpose Internet Mail Extension,
     r en krypteringsstandard som anvnds fr att kryptera elektronisk
     post, eller andra typer av meddelanden p Internet. Det r en ppen
     standard som r utvecklad av RSA, s det r frhoppningsvis
     sannolikt att vi kommer att se det i Linux snart. Mer information
     om S/MIME hittar du p
     http://home.netscape.com/assist/security/smime/overview.html.







  6.3.  Linux x-kernel IPSEC implementering

  Tillsammans med CIPE, och andra former av datakryptering, s finns det
  ocks en implementering av IPSEC fr Linux. IPSEC r en anstrngning
  av IETF fr att skapa en kryptografiskt sker kommunikation p IP
  ntverkslagret, som ven tillhandahller autentisering, integritett,
  accesskontroll och konfidentialitet. Information om IPSEC och ett
  Internet utkast hittar du p http://www.ietf.org/html.charters/ipsec-
  charter.html. Du kan ven hitta lnkar till andra protokoll som
  handlar om nyckelhantering, och en e-postlista och arkiv fr IPSEC.

  Linuximplementationen, som utvecklas vid University of Arizona,
  anvnder ett objektbaserat ramverk fr att implementera
  ntverksprotokoll som heter x-kernel, och hittas p
  http://www.cs.arizona.edu/xkernel/hpcc-blue/linux.html. Stort sett s
  r x-kernel en metod att skicka meddelanden p krnnivn, vilket leder
  till en enklare implementering.

  Som med andra former av kryptografi, s distribueras den inte med
  krnan som standard, p grund av exportrestriktioner.




  6.4.  SSH (Secure Shell), stelnet

  SSH och stelnet r program som lter dig logga in p andra system och
  ha en krypterad anslutning.

  SSH r en svit av program som anvnds som en sker ersttare till
  rlogin, rsh och rcp. Den anvnder Public key kryptografi fr att
  kryptera kommunikationen mellan tv datorer, svl som fr
  anvndarautentisering. Detta kan anvndas fr att p ett skert stt
  logga in till en annan dator eller kopiera data mellan datorer,
  samtidigt som det frhindrar man-mitt-i-mellan attacker
  (sessionskapning) och DNS "spoofing". Den utfr datakompression p
  dina anslutningar, och skra X11-kommunikationer mellan datorer.
  Hemsidan fr SSH finns p http://www.cs.hut.fi/ssh/

  Du kan ocks anvnda SSH frn din Windows-arbetsstation till din Linux
  SSH-server. Det finns flera fritt tillgngliga implementationer av
  Windowsklienter, inlkusive den p
  http://guardian.htu.tuwien.ac.at/therapy/ssh/ svl som en komersiell
  implementation frn DataFellows, p http://www.datafellows.com.

  SSLeay r en fri implementation av Netscapes Secure Socket Layer
  protokoll, inklusive applikationer, som Secure telnet, en modul fr
  Apache, flera databaser svl som flera algoritmer inklusive DES, IDEA
  och Blowfish.

  Med detta bibliotek har en sker telnet-ersttare skapats som
  krypterar ver en telnetanslutning. Till skillnad frn SSH s anvnder
  stelnet SSL, Secure Sockets Layer protokollet som utvecklats av
  Netscape. Du kan hitta Secure telnet och Secure FTP genom att brja
  med SSLeay FAQ, som finns p  http://www.psy.uq.oz.au/~ftp/Crypto/




  6.5.  PAM - Pluggable Authentication Modules

  Nyare versioner av Linuxdistributionen RedHat levereras med ett
  enhetligt autentiseringsstt som heter "PAM". PAM lter dig "on the
  fly" ndra dina autentiseringsmetoder, krav och kapsla in alla lokala
  autentiseringsmetoder utan att kompilera om ngon av dina binrer.
  Konfigurationen av PAM ligger utanfr detta dokuments rckvidd, men ta
  en titt p hemsidan fr PAM fr mer information.
  http://www.kernel.org/pub/linux/libs/pam/index.html

  Bara ngra saker du kan gra med PAM:


    Anvnda en icke-DES kryptering fr lsenord. (Vilket gr dem
     svrare att kncka med "rstyrka")

    Stta resursbegrnsningar fr dina anvndare s de inte kan utfra
     attacker som bygger p att de blir nekade en tjnst (antal
     processer, mngd minne, etc).

    Anvnda skuggade lsenord (se nedan) "on the fly".

    Tillta vissa anvndare att endast logga in p vissa tider frn
     vissa platser.

  Inom ngra timmar av installation och konfiguration av ditt system, s
  kan du frhindra mnga attacker redan innan de intrffar. Till
  exempel, anvnd PAM fr att stnga av den systemvida anvndningen av
  .rhosts filer i anvndarnas hemkataloger genom att lgga till dessa
  rader i /etc/pam.d/login:


                #
                # Disable rsh/rlogin/rexec for users
                #
                login auth required pam_rhosts_auth.so no_rhosts







  6.6.  Kryptografisk IP inkapsling (CIPE)

  Huvudmlet med denna mjukvara r att tillhandahlla en facilitet fr
  sker (mot "eavesdropping", inklusive trafikanalys och fejkad
  meddelandeinsttning) subntverksanslutning ver oskra paketntverk
  som Internet.

  CIPE krypterar datan p ntverkslagret. Paket som frdas mellan
  datorer blir krypterade. Krypteringsmotorn placeras nra drivrutinen
  som skickar och tar emot paket.

  Detta r olikt SSH, som krypterar data vid anslutningen p socketniv.
  En logisk anslutning mellan program som kr p olika datorer r
  krypterad.

  CIPE kan anvndas i tunnling fr att skapa ett Virtuellt Privat
  Ntverk. Lgnivkryptering har frdelen att den kan gras transparent
  mellan de tv ntverken som r ihopkopplade i VPN, utan att ndra
  ngot i applikationsmjukvaran.

  Sammanfattning frn dokumentationen av CIPE:

  Standarden fr IPSEC definierar en mngd protokoll som kan anvndas
  (bland annat) till att bygga krypterade VPN. Men IPSEC r en ganska
  tungviktig och komplicerad protokollmngd med mnga valmjligheter.
  Implementationer av det kompletta protokollet r fortfarande sllan
  anvnda och vissa aspekter (ssom nyckelhantering) r fortfarande inte
  helt lsta. CIPE anvnder en enklare metod, i vilken mnga saker som
  kan bli parametriserade (som valet av vilken krypteringsalgoritm som
  skall anvndas) r ett val som grs vid kompileringen. Detta begrnsar
  flexibiliteten, men tillter en enkel (och drfr effektiv, ltt att
  debugga...) implemetation.

  Mer information finns p http://www.inka.de/~bigred/devel/cipe.html

  Som med andra former av kryptografi, s distribueras den inte med
  krnan som standard, p grund av exportrestriktioner.




  6.7.  Kerberos

  Kerberos r ett autentiseringssystem som r utvecklat av Athena
  projektet p MIT. Nr en anvndare loggar in s autentiserar Kerberos
  den anvndaren (med lsenord) och ger anvndaren ett stt att bevisa
  sin identitet till andra servrar och datorer som finns p ntverket.

  Denna autentisering anvnds sedan av program som rlogin fr att lta
  anvndaren logga in p andra datorer utan lsenord (istllet fr filen
  .rhosts). Autentiseringen anvnds ven av e-postsystemet fr att
  garantera att e-posten levereras till rtt person, svl som att
  garantera att avsndaren r den han utger sig fr.

  Den vergripande effekten av att installera Kerberos och de flertaliga
  programmen som fljer med r att nstan eliminera mjligheten fr
  anvndare att lura systemet att tro att de r ngon annan. Tyvrr s
  r det vldigt irriterande att installera Kerberos, eftersom det
  krver att man modifierar eller erstter ett antal standardprogram.

  Du kan hitta mer information om Kerberos p
  http://www.veritas.com/common/f/97042301.htm och kllkoden finns p
  http://nii.isi.edu/info/kerberos/

  [Frn: Stein, Jennifer G., Clifford Neuman, and Jeffrey L. Schiller.
  "Kerberos: An Authentication Service for Open Network Systems." USENIX
  Conference Proceedings, Dallas, Texas, Winter 1998.]




  6.8.  Skuggade lsenord

  Skuggade lsenord r ett stt att hlla den krypterade
  lsenordsinformationen hemlig fr normala anvndare. Normalt s sparas
  det krypterade lsenordet i /etc/passwd, vilken alla kan lsa. De kan
  d kra program som gissar lsenord mot den filen och frska f ut
  lsenorden i klartext. Skuggade lsenord sparar istllet informationen
  i filen /etc/shadow, som bara priviligerade anvndare kan lsa. Fr
  att kunna anvnda skuggade lsenord s mste du se till att alla dina
  program som behver ha tillgng till lsenordsinformation stdjer det.
  PAM (ovan) tillter dock att du bara pluggar in en shadow-modul utan
  att du behver kompilera om de exekverbara filerna. Titta i Shadow-
  Password HOWTO fr mer information om det behvs. Den finns p
  http://sunsite.unc.edu/LDP/HOWTO/Shadow-Password-HOWTO.html.  Den r
  ganska gammal nu, och behvs inte fr distributioner som stdjer PAM.




  6.9.  Crack och John the Ripper

  Om ditt passwd-program av ngon anledning inte tvingar anvndarna att
  ha lsenord som r svra att gissa, s kan det vara lmpligt att kra
  ett program som frsker kncka lsenorden fr att frskra dig om att
  anvndarnas lsenord r skra.
  Program som kncker lsenord baseras p en enkel ide. De frsker med
  alla ord i ordlistan och sedan med variationer av dessa ord. De
  krypterar var och ett och kollar det mot ditt krypterade lsenord. Om
  det stmmer s r de inne.

  Det finns ett antal program som gr detta... av vilka tv av de mest
  knda r "Crack" och "John the Ripper"
  http://www.false.com/security/john/index.html. De anvnder mycket av
  din CPU-tid, men du kan avgra om en inkrktare kan anvnda programmen
  fr att komma in genom att kra dem sjlv frst, och meddela anvndare
  med fr enkla lsenord. Observera att en inkrktare frst mste hitta
  en skerhetslcka fr att komma t din passwd-fil (unix /etc/passwd),
  men dessa r vanligare n du kanske tror.




  6.10.  kryptografiskt filsystem CFS - kryptografiskt filsystem och
  TCFS - transparent

  CFS r en metod att kryptera ett helt filsystem och lta anvndare
  lagra krypterade filer p dem. Det anvnder en NFS-server som kr p
  den lokala maskinen. Rpms finns p http://www.replay.com/redhat/ och
  mer information om hur det hela fungerar finns p
  ftp://ftp.research.att.com/dist/mab/

  TCFS frbttrar CFS genom att det r mer integrerat med filsystemet,
  s att det r transparent fr alla anvndare av filsystemet att det r
  krypterat. Mer information p http://edu-gw.dia.unisa.it/tcfs/




  6.11.  X11-, SVGA- och displayskerhet




  6.11.1.  X11

  Det r viktigt att du skrar din grafiska display fr att hindra
  attackerare frn att gra saker som: fnga upp dina lsenord utan att
  du vet om det medans du skriver dem, lsa dokument eller information
  som du lser p din skrm eller till och med anvnda en lcka fr att
  f superuser-access. Att kra X-applikationer ver ett ntverk kan
  ocks vara farligt, detta kan "sniffare" anvnda fr att se all din
  interaktion med det andra systemet.

  X har ett antal mekanismer fr accesskontroll. Den enklaste av dem r
  datorbaserad. Du kan anvnda xhost fr att specificera vilka datorer
  som har tillgng till din display. Detta r inte alls srskilt skert.
  Om ngon har tillgng till din maskin kan de kra "xhost +sin_maskin"
  och ltt f tilltrde. Dessutom, om du mste tillta access till en
  oplitlig maskin s kan alla personer p den maskinen f tillgng till
  din display.

  Om man anvnder xdm (x display manager) fr att logga in, s fr man
  en mycket bttre accessmetod: MIT-MAGIC-COOKIE-1. En 128bitars cookie
  genereras och lagras i din fil .Xauthority. Om du mste lta en annan
  dator f tillgng till din display s kan du anvnda kommandot xauth
  och informationen i .Xauthority fr att ge access till endast den
  anslutningen. Fr mer information, se Remote-X-Apps mini-howto p
  http://sunsite.unc.edu/LDP/HOWTO/mini/Remote-X-Apps.html.

  Du kan ven anvnda ssh (se ovan) fr att f skra X-anslutningar.
  Detta har frdelen att det r transparent fr slutanvndaren och
  betyder att ingen okrypterad data fldar ver ntverket.

  Ta en titt p manualbladet fr Xsecurity fr mer information om
  skerhet i X. Det skra valet r att anvnda xdm fr att logga in till
  din konsoll och sedan anvnda ssh fr att kra X-applikationer frn
  andra datorer.




  6.11.2.  SVGA

  SVGAlib-program r vanligtvis SUID-root fr att kunna ha tillgng till
  Linuxmaskinens videohrdvara. Detta gr dem vldigt farliga. Om de
  kraschar, mste du antagligen starta om din maskin fr att f tillbaka
  en anvndbar konsoll. Se till att alla SVGA-program som du kr r
  autentiska och tminstonde r hyfsat plitliga. nnu bttre, kr dem
  inte alls.





  6.11.3.  GGI (Generella Grafikgrnssnittsprojektet)

  Linux GGI-projekt frsker lsa flera av problemen med
  grafikgrnssnitten i Linux. GGI kommer att flytta in en liten del av
  grafikkoden in i Linuxkrnan, och sedan kontrollera access till
  grafiksystemet. Detta betyder att GGI kan terstlla din konsoll till
  ett stabilt lge nr som helst. http://synergy.caltech.edu/~ggi/




  7.  Krnans skerhet

  Detta r en beskrivning av de konfigurationsval i krnan som relaterar
  till skerhet, och en frklaring till vad de gr, och man anvnder
  dem.

  Eftersom krnan kontrollerar hur din dator agerar p ntverket, s r
  det viktigt att krnan r vldigt sker och att des skerhet inte
  ventyras. Fr att frhindra ngra av de senaste ntverksattackerna s
  skall du frska hlla din krna uppdaterad. Du hittar nya krnor p
  ftp://ftp.kernel.org.




  7.1.  Kompileringsval fr krnan


    IP: Drop source routed frames (CONFIG_IP_NOSR)

     Detta val br vara pslaget. Kllroutade ramar innehller hela
     vgen till sin destination inuti paketet. Detta betyder att routrar
     som paketet passerar inte behver inspektera paketet utan bara
     skickar det vidare. Detta kan leda till att data som utgr ett
     potentiellt hot tar sig in i ditt system.


    IP: Firewalling (CONFIG_IP_FIREWALL)

     Detta val r ndvndigt om du skall konfigurera din maskin som en
     brandvgg, anvnda IP-frkldnad (masquerading) ellr vill skydda
     din arbetsstation frn intrng via din uppringda PPP-lnk.
    IP: forwarding/gatewaying (CONFIG_IP_FORWARD)

     Om du slr p IP forwarding, s blir din Linuxbox i princip en
     router. Om din maskin r p ett ntverk s kan du skicka vidare
     data frn ett ntverk till ett annat, och kanske motarbeta en
     brandvgg som installerades just fr att frhindra detta frn att
     hnda. Vanliga anvndare med uppringd frbindelse skall sl av
     detta val, och andra anvndare skall koncentrera sig p
     skerhetsriskerna av att anvnda detta. Brandvggar skall ha detta
     pslaget och anvnda det tillsammans med mjukvara fr brandvggar.

     Du kan sl p IP-forwarding dynamiskt med fljande 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 mnga andra i /proc) ser alltid ut att ha lngden
  noll, men det har den egentligen inte. Detta r en nyintrodiucerad
  egenskap i krnan, s se till att anvnda en krna med version 2.0.33
  eller senare.


    IP: firewall packet logging (CONFIG_IP_FIREWALL_VERBOSE)

     Detta val ger dig information om paket som din brandvgg tar emot,
     som sndare, mottagare, port, osv.


    IP: always defragment (CONFIG_IP_ALWAYS_DEFRAG)

     Generellt s r detta val avslaget, men om du bygger en brandvgg
     eller frkldd vrd, s br du sl p det. Nr data snds frn en
     dator till en annan, s snds 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 frsta fragmentet.
     Detta innebr att ngon kan lgga till information som inte skall
     vara dr i de andra paketen fr din ansluting.


    IP: syn cookies (CONFIG_SYN_COOKIES)

     SYN attack r en nekande-av-tjns-attack (DoS) som konsumerar alla
     resurser p din maskin och tvingar dig att starta om. Vi kan inte
     komma p ngon anledning fr att du inte skulle sl p detta valet.


    Packet Signatures (CONFIG_NCPFS_PACKET_SIGNING)

     Detta valet finns i krnor i serien 2.1 och det signerar NCP-paket
     fr att ka skerheten. Normalt kan du lmna det avslaget, men det
     finns att tillg om du behver det.



    IP: Firewall packet netlink device (CONFIG_IP_FIREWALL_NETLINK)

     Detta r ett vldigt trevlig val som lter dig analysera de frsta
     128 byten av paketen i ett anvndar-program, fr att avgra om du
     vill acceptera eller neka paketet, baserat p dess validitet.




  7.2.  Enheter i krnan

  Det finns ngra block- och teckenenheter tillgngliga i Linux som kan
  hjlpa dig med skerheten.

  De tv enheterna /dev/random och /dev/urandom tillhandahlls av krnan
  fr att kunna hmta slumpartad data nr som helst.

  Bde /dev/random och /dev/urandom br vara tillrckligt skra fr att
  generera PGP-nycklar, SSH-utmaningar och andra applikationer dr sker
  slumpartade tal behvs. Attackerare br vara ofrmgna att frutsga
  nsta tal som kommer frn dessa kllor oavsett vilken sekvens som har
  varit innan. Det har lagts ned mycken mda fr att talen som du fr
  frn dessa kllor verkligen r slumpvisa i alla bemrkelser.

  Den enda skillnaden r att /dev/random fr slut p slumpvisa bytes och
  lter dig vnta p att fler ackumuleras. Observera att p vissa system
  kan den blockera en lng tid i vntan p att en ny anvndargenererad
  post skall komma in i systemet. S du mste vara frsiktig innan du
  anvnder /dev/random. (Kanske r det bsta att anvnda detta nr du
  genererar knslig nyckelinformation, och du sger till anvndaren att
  sl p tangentbordet upprepade gnger tills du skriver ut "OK, det
  rcker".)

  /dev/random ger mycket bra slumpmssighet, genererad frn att mta
  tider mellan avbrott osv. Den blockerar tills tillrckligt mnga bitar
  med slumvis data finns tillgnglig.

  /dev/urandom r liknande, men nr dess lager med bra slumpvis data
  brjar ta slut, s returnerar den en kryptografiskt stark hash av det
  som finns. Detta r inte lika skert men det duger fr de flesta
  applikationer.

  Du kan lsa frn dessa enheter med ngot snt hr:



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




  Detta skriver ut sex slumvisa tecken p konsollen, lmpliga fr
  lsenordsgenerering.

  Titta i /usr/src/linux/drivers/char/random.c fr en beskrivning av
  algoritmen.

  Tack till Theodore Y. Ts'o, John Lewis och andra frn Linux-krnan fr
  att ni hjlpte mig (Dave) med detta.







  8.  Ntverksskerhet

  Ntverksskerhet blir allt viktigare eftersom personer tillbringar
  allt mer tid uppkopplade. Att ventyra ntverksskerhet r ofta mycket
  lttare n att gra det fysiskt eller lokalt, och det r mycket
  vanligare.

  Det finns ett antal bra verktyg som kan hjlpa till med
  ntverksskerhet, och fler och fler av dem fljer med i
  Linuxdistributioner.




  8.1.  Paketsniffare

  Ett av de vanligaste stten att f access till fler system p ditt
  ntverk r att plantera en paketsniffare p en redan ervrad dator.
  Denna "sniffare" ligger bara och lyssnar p ethernet-porten efter
  saker som "Password", "Login" och "su" p paketstrmmen och sedan
  loggar trafiken efter det. P detta stt kan inkrktare f lsenord
  till system som de inte ens frsker bryta sig in i. Lsenord i
  klartext r vldigt srbara fr denna typ av attacker.

  EXEMPEL: dator A har blivit ervrad. En attackerare installerar en
  sniffare. Sniffaren loggar nr administratren loggar in p dator B
  frn dator C. Sniffaren fr d administratrens personliga lsenord
  nr han loggar in p B. Sedan gr administratren en "su" fr att fixa
  ett problem. Nu har sniffaren root-lsenordet fr dator B. Senare
  lter administratren ngon telnet:a frn hans konto till dator Z p
  en annan sajt. Nu har attackeraren lsenord och anvndarnamn p dator
  Z.

  Nufrtiden s mste attackeraren inte ens ervra ett system fr att
  gra detta, det rcker att han tar med sig en laptop in i din byggnad
  och pluggar in sig p ert ntverk.

  Att anvnda ssh eller andra metoder med krypterade lsenord kvver
  sdana attacker. Saker som APOP fr pop-konton frhindrar ocks sdana
  attacker. (Normala pop-inloggningar r vldigt srbara fr detta,
  svl som allt annat som skickar lenord i klartext ver trden.)




  8.2.  Systemtjnster och tcp_wrappers

  S snart som du kopplar upp ditt Linuxsystem p NGOT ntverk s br
  du fundera p vilka tjnster som du behver tillhandahlla. Tjnster
  som du inte behver tillhandahlla br du stnga av s att du har en
  sak mindre att oroa dig fr och attackerare har ett stlle mindre att
  leta efter hl p.

  Det finns ett antal stt att stnga av tjnster i Linux. Du kan titta
  p din fil /etc/inetd.conf och se vilka tjnster som erbjuds av din
  inetd. Stng av alla som du inte behver genom att kommentera bort dem
  (en # i brjan av raden), och sedan skickar du en SIGHUP till inetd-
  processen.

  Du kan ven ta bort (eller kommentera bort) tjnster i filen
  /etc/services. Detta innebr dock att lokala klienter inte kommer att
  hitta tjnsten (dvs om du tar bort ftp och frsker ftp:a till en
  annan sajt frn den datorn s kommer det att misslyckas med ett
  meddelande om oknd tjnst). Det r vanligtvis inte vrt besvret att
  ta bort tjnster frn /etc/services eftersom det inte skapar ngon
  ytterligare skerhet. Om en person p det lokala systemet vill anvnda
  ftp ven att du kommenterat bort det, s kan de gra en egen klient
  som anvnder den vanliga ftp-porten och det skulle fungera bra.

  Vissa av tjnsterna som du antagligen vill ha kvar r:


    ftp

    telnet

    mail, ssom pop-3 eller imap

    identd

    time

  Om du vet att du inte kommer anvnda ett visst paket s kan du ven ta
  bort det helt. I RedHat tar "rpm -e" bort ett helt paket. I Debian gr
  "dpkg" samma sak.

  Dessutom br du stnga av tjnsterna rsh/rlogin/rcp, inklusive login
  (anvnds av rlogin), shell (anvnds av rcp) och exec (anvnds av rsh),
  s att de inte startas av inetd. Dessa protokoll r extremt oskra och
  har varit orsaken till attacker tidigare.

  Du br kolla din katalog /etc/rc.d/rcN.d/, dr N r ditt systems
  runlevel, och se om ngon av servrarna som startas dr inte behvs.
  Filerna i /etc/rc.d/rcN.d/ r egentligen symboliska lnkar till
  katalogen /etc/rc.d/init.d/. Att ndra namn p filerna i katalogen
  init.d ger samma effekt som att ta bort alla symboliska lnkar i
  /etc/rc.d/rcN.d/. Om du endast vill stnga av en tjnst i en viss
  runlevel, ndra namn p den filen till att brja med ett litet `s'
  istllet fr ett stort `S', som i S45dhcpd.

  Om du har rc-filer i BSD-stil, s skall du kolla i /etc/rc* efter
  program som du inte behver.

  De flesta Linuxdistributioner kommer med "tcp_wrappers" som "buntar
  ihop" alla dina tcp-tjnster. En tcp_wrapper (tcpd) startas frn inetd
  istllet fr den riktiga servern. tcpd kollar d upp datorn som frgar
  efter tjnsten och startar sedan den riktiga tjnsten eller nekar
  access frn den datorn. tcpd lter dig specificera restriktioner fr
  access till dina tcp-tjnster. Du br gra en fil /etc/hosts.allow och
  dr skriva in de datorer som behver ha access till tjnsterna p din
  maskin.

  Om du r en hemanvndare med uppringd anslutning s freslr vi att du
  nekar alla (ALL). tcpd loggar alla misslyckade frsk att komma t
  dina tjnster, s detta kan ge dig tips om att du r under attack. Om
  du lgger till nya TCP-baserade tjnster s br du konfigurera ven
  dem med tcp_wrappers. Till exempel, en vanlig anvndare med uppringd
  anslutning kan frhindra att andra ansluter till systemet, och
  fortfarande kunna hmta e-post och gra ntverksanslutningar till
  Internet. Fr att gra detta kan du lgga till fljande till din
  /etc/hosts.allow:

  ALL: 127.

  Och sklart s skall /etc/hosts.deny innehlla:

  ALL: ALL

  detta frhindrar anslutningar till din maskin utifrn medans du
  fortfarande kan gra anslutingar till Internet inifrn.


  8.3.  Verifiera din DNS-information

  Att hlla din DNS-information om alla datorer p ditt ntverk
  uppdaterad kan ka skerheten. Ifall en otillten dator ansluts till
  ditt ntverk s kan du upptcka den genom att den inte har ngon DNS-
  post. Mnga tjnster kan konfigureras fr att inte acceptera
  anslutningar frn datorer utan giltliga DNS-poster.




  8.4.  identd

  identd r ett litet program som vanligtvis krs frn din inetd. Det
  hller reda p vilka anvndare som kr vilka tcp-tjnster, och
  rapporterar det till den som nskar det.

  Mnga personer misuppfattar hur anvndbart identd r och stnger
  drfr av det eller blockerar alla frfrgningar till det frn andra
  sajter. identd finns inte fr att hjlpa andra sajter. Det finns inget
  stt att veta om den data du fr frn en annan sajts identd r korrekt
  eller inte. Det r ingen autentisering i identd-frfrgningar.

  Varfr behver du kra det d? Eftersom det hjlper _dig_, och det r
  ytterligare ett stt att hlla koll p systemet. Om din identd inte r
  attackerad s vet du att den talar om anvndarnamn fr personer som
  anvnder tcp-tjnster fr andra sajter. Om administratren p en annan
  sajt talar om fr dig att den och den anvndaren p ditt system
  frskte hacka sig in p deras sajt, s kan du ltt agera mot den
  anvndaren. Om du inte kr identd, s mste du titta i mnga loggar
  och lista ut vem som var ploggad vid den tidpunkten, och det tar
  generellt mycket lngre tid att leta fram anvndaren.

  Den identd som fljer med de flesta distributioner gr att konfigurera
  mer n mnga tror. Du kan stnga av identd fr vissa anvndare (de kan
  skapa .noident filer), du kan logga alla frfrgningar till identd
  (jag rekommenderar detta), du kan lta identd returnera ett uid
  istllet fr ett anvndarnamn eller till och med NO-USER.




  8.5.  SATAN, ISS och andra Ntverksscannare

  Det finns ett antal olika mjukvarupaket som scannar maskiner eller
  ntverk baserat p portar eller tjnster. SATAN och ISS r tv av de
  mer knda. Denna mjukvara ansluter till mlmaskinen (eller alla
  mlmaskiner p ett ntverk), p alla portar den kan, och frsker
  avgra vilken tjnst som kr p den porten. Baserat p denna
  information s kan du f reda p om maskinen r srbar fr en viss
  attack p den servern.

  SATAN (Security Administrators Tool for Analyzing Networks) r en
  portscanner med ett webbgrnssnitt. Det kan konfigureras fr att gra
  ltt, medium eller starka kontroller p en maskin eller ett ntverk av
  maskiner. Det r en bra ide att hmta SATAN och scanna din maskin
  eller ditt ntverk och fixa till problemen som den hittar. Se till att
  hmta SATAN frn sunsite eller en annan vlknd FTP eller webbsajt.
  Det fanns en trojansk kopia av SATAN som distribuerades ver
  ntverket. http://www.trouble.org/~zen/satan/satan.html

  ISS (Internet Security Scanner) r en annan portbaserad scanner. Den
  r snabbare n SATAN, och kan drfr vara bttre fr stora ntverk.
  Men SATAN brukar ge mer information.


  Abacus-Sentry r en komersiell portscanner frn www.psionic.com. Titta
  p deras hemsida fr mer information. http://www.psionic.com

  Upptcka portscanning.

  Det finns ngra verktyg som r gjorda fr att varna dig om att
  scanning pgr med SATAN, ISS eller annan liknande mjukvara. Men med
  liberal anvndning av tcp_wrappers och om du ser till att se ver dina
  loggfiler ofta s skall du kunna upptcka detta sjlv. ven med
  minimala instllningar s lmnar SATAN spr i loggarna p ett normalt
  RedHat-system.




  8.6.  Sendmail, qmail och MTAs

  En av de viktigaste tjnsterna du kan ha r en e-postserver. Tyvrr s
  r en sdan ven en av de mest srbara mot attacker, p grund av
  antalet uppgifter som den mste utfra och de privilegier som den
  normalt behver.

  Om du anvnder sendmail s r det vldigt viktigt att du hller det
  uppdaterat. Sendmail har en lng historia av skerhetslckor. Var
  alltid noga med att kra den senaste versionen.
  http://www.sendmail.org

  Om du r trtt p att uppgradera din version av sendmail varje vecka
  s kan du fundera p att byta till qmail. qmail designades med
  skerhet i tanke frn brjan. Det r snabbt, stabilt och skert.
  http://www.qmail.org




  8.7.  Nekande-av-tjnst attacker

  En nekande-av-tjnst attack r nr en attackerare frsker gra en
  resurs fr upptagen fr att svara p riktiga frfrgningar, eller neka
  tilltna anvndare tillgng till din maskin.

  Sdana attacker har kat mycket de senaste ren. Ngra av de mest
  populra listas nedan. Notera att ny dyker upp hela tiden, s detta r
  bara ngra exempel. Ls skerhetlistornafr Linux, bugtraq-listan och
  arkiv fr mer uppdaterad information.


    SYN Flooding - SYN flooding r en nekande-av-tjnst attack p
     ntverksniv. Det drar nytta av ett "kryphl" i sttet som en TCP-
     anslutning upprttas. Nyare Linuxkrnor (2.0.30 och nyare) har
     flera valmjligheter fr att frhindra SYN-attacker frn att neka
     personer access till din maskin eller dess tjnster. Se avsnittet
     om skerhet i krnan fr mer information om
     kompileringsalternativen.


    Pentium "F00F" bugg - Det upptcktes nyligen att om en viss serie
     av assembler instruktioner skickades till en kta Intel
     Pentiumprocessor s skulle maskinen lsas. Detta berr alla
     maskiner med en Pentiumprocessor (inte kloner, inte Pentium Pro
     eller II), oavsett vilket operativsystem den kr. Linuxkrnor frn
     2.0.32 och uppt innehller en fix fr denna buggen som frhindrar
     att den lser din maskin. Kernel 2.0.33 har en frbttrad version
     av fixen och fredras framfr 2.0.32. Om du kr p en Pentium s
     br du uppgradera nu!

    Ping Flooding - Ping flooding r en enkel rstyrkeattack.
     Attackeraren skickar en "flod" av ICMP-paket till din maskin. Om de
     gr detta frn en maskin med bttre bandbredd n din, s kommer din
     maskin inte att kunna skicka ngot p ntverket. En variant av
     denna attacken, som kallas "smurfing", skickar ICMP-paket till en
     annan dator med _din_ maskins IP-adress som returadress, vilket
     lter dem flooda dig lite mer diskret. Du kan hitta information om
     "smurf"-attacken p http://www.quadrunner.com/~chuegen/smurf.txt

     Om du ngonsin finner dig sjlv vara utsatt fr en ping flood
     attack, anvnd ett verktyg som tcpdump fr att ta reda p var
     paketen kommer ifrn (eller var de ser ut att komma ifrn),
     kontakta sedan din leverantr med denna informationen. Ping flood
     kan ganska ltt stoppas p routerniv eller genom att anvnda en
     brandvgg.


    Ping o' Death - Ping o' Death attacker r ett resultat av att
     inkommande "ICMP ECHO REQUEST"-paket r strre n vad
     datastrukturerna i krnan som skall lagra informationen klarar av
     att lagra. Eftersom att skicka ett enda stort (65510 bytes)
     pingpaket till mnga system fr dem att hnga sig eller krasha, s
     fick detta problemet snabbt namnet Ping o' Death. Detta r tgrdat
     sedan lnge och man behver inte oroa sig fr detta lngre.


    /Teardrop / New Tear - En av de senaste attackerna anvnder sig av
     en bugg som finns i IP-fragmenteringskoden p Linux- och
     Windowssystem. Det r fixat i version 2.0.33 av krnan och man
     behver inte vlja ngra speciella kompileringsalternativ fr att
     fixen skall anvndas. Linux r inte srbar fr attacken "newtear".


     Du kan hitta koden fr de flesta attacker, och djupare information
     om hur de fungerar p http://www.rootshell.com genom att anvnda
     deras skmotor.




  8.8.  NFS-skerhet (Network File System)

  NFS r ett protokoll fr att dela filer som anvnds mycket. Det lter
  servrar som kr nfsd och mountd exportera hela filsystem till andra
  maskiner som har std fr nfs i krnan (eller ngon annan form av
  klientstd om det inte r Linuxmaskiner). Mountd hller reda p
  monterade filsystem i /etc/mtab, och kan lista dem med "showmount".

  Mnga sajter anvnder NFS fr att hlla hemkataloger fr anvndare, s
  att oavsett vilken maskin i ntverket som de loggar in p s har de
  alltid tillgng till sina egna filer.

  Det finns ett litet mtt av skerhet nr man exporterar filsystem. Du
  kan lta nfsd mappa den andra root-anvndaren (uid=0) till anvndaren
  nobody, vilket nekar dem total access till filerna som exporteras. Men
  eftersom individuella anvndare har tillgng till sina egna (eller
  tminstonde med samma uid) filer, s kan superusern p den andra
  maskinen logga in som eller su:a till en annan anvndare och ha total
  access till deras filer. Detta r endast ett litet hinder fr en
  inkrktare som har mjlighet att montera dina filsystem.

  Om du mste anvnda NFS, se till att du endast exporterar till de
  maskiner som du mste exportera till. Exportera aldrig hela din
  rootkatalog, exportera endast de kataloger som du mste exportera.


  Fr mer information om NFS se: NFS HOWTO




  8.9.  NIS (Network Information Service) (tidigare YP).

  NIS r ett stt att distribuera information till en grupp av maskiner.
  NIS-mastern har informationstabeller och konverterar dem till NIS
  tabellfiler. Dessa tabellfiler skickas sedan ver ntverket och lter
  NIS-klienter att erhlla anvndarnamn, lsenord, hemkatalog och
  shellinformation (all information i en standard /etc/passwd). Detta
  lter anvndare ndra sitt lsenord en gng och det fr effekt p alla
  maskiner i NIS-domnen.

  NIS r inte alls skert. Det var aldrig meningen att det skulle vara
  det. Det var meningen att det skulle vara anvndbart och smidigt. Vem
  som helst som kan gissa namnet p din NIS-domn (varsomhelst p ntet)
  kan f en kopia av din passwd-fil, och anvnda crack och john the
  ripper fr att frska ta reda p anvndarnas lsenord. Det r ocks
  mjligt att kncka NIS och gra alla mjliga elaka trix. Om du mste
  anvnda NIS, frskra dig att du vet om alla faror.

  Det finns en mycket skrare ersttare till NIS som heter NIS+. Kolla
  in NIS HOWTO fr mer information:
  http://sunsite.unc.edu/mdw/HOWTO/NIS-HOWTO.html




  8.10.  Brandvggar

  Brandvggar r ett stt att begrnsa vilken information som tillts
  komma in i eller komma ut ifrn ditt lokala ntverk. Vanligtvis s r
  brandvggsdatorn ansluten till Internet och till ditt lokala ntverk
  och det enda sttet att komma i kontakt med ditt lokala ntverk r
  genom brandvggen. P detta stt kan brandvggen kontrollera vad som
  skickas fram och tillbaka mellan Internet och ditt lokala ntverk.

  Det finns ett antal olika metoder att stta upp brandvggar.
  Linuxmaskiner r hyfsat bra lgkostnadsalternativ. Kod fr brandvggar
  kan kompileras in direkt i krnan frn version 2.0 och uppt. Med
  anvndarverktyget ipfwadm kan du, medans systemet r igng, ndra
  vilken typ av ntverkstrafik som du vill tillta. Du kan ven logga
  viss typ av information.

  Brandvggar r en vldigt anvndbar och viktig teknik fr att skra
  ditt ntverk. Det r viktigt att inse att bara fr att du har en
  brandvgg s betyder det inte att du inte mste skra maskinenrna
  bakom brandvggen. Detta r ett grovt misstag. Titta i den
  utomordentliga Firewall HOWTOn p sunsite fr mer information om
  brandvggar och Linux.  http://sunsite.unc.edu/mdw/HOWTO/Firewall-
  HOWTO.html

  Mer information hittar du ven i IP-Masquerade mini-howto:
  http://sunsite.unc.edu/mdw/HOWTO/mini/IP-Masquerade.html

  Mer information om ipfwadm (verktyget som lter dig ndra
  instllningarna fr din brandvgg) hittar du p dess hemsida:
  http://www.xos.nl/linux/ipfwadm/






  9.  Skerhetsfrberedelser (innan du kopplar upp dig)

  Okej, nu har du sett ver ditt system och sett till att det r s
  skert som mjligt och r redo att koppla upp det. Det finns ngra
  saker som du br gra nu fr att vara frberedd ifall du verkligen
  blir attackerad, s att du snabbt kan stoppa inkrktaren och f igng
  systemet igen.




  9.1.  Gr en fullstndig skerhetskopia av din maskin

  Diskussion om metoder fr skerhetskopiering ligger utanfr rckvidden
  av detta dokument, men ngra ord som relaterar till skerhetskopiering
  och skerhet:

  Om du har mindre n 650Mb data som skall lagras, s r det bra med en
  kopia p CD-R (eftersom det r svrt att mixtra med senare, och om det
  lagras bra s hller det lnge). Band och andra media som kan skrivas
  ver br skrivskyddas s snart skerhetskopieringen r frdig och
  verifierad fr att frindra att ngon mixtrar med den. Se till att
  frvara alla dina skerhetskopior i ett skert utrymme som inte r
  uppkopplat. Med en bra skerhetskopia frskrar du dig om att du har
  ett bra tillstnd att terskapa ditt system ifrn.




  9.2.  Vlj ett bra schema fr skerhetskopiering

  En cykel med sex band r ltt att underhlla. Detta innebr fyra band
  under veckan, ett band p jmna fredagar och ett band p udda
  fredagar. Gr en kopia p frndrad data varje dag (incremental
  backup) och en fullstndig kopia varje fredag. Om du gr ngon
  srskilt viktig ndring eller lgger till viktig data till ditt system
  s kan en skerhetskopia vara bra att gra.




  9.3.  Skerhetskopiera din RPM eller Debian fildatabas

  I hndelse av en attack s kan du anvnda din RPM-databas som du
  skulle anvnda tripwire, men bara om du kan vara sker p att den inte
  har blivit ndrad. Du br kopiera RPM-databasen till en diskett och
  hlla den p ett skert stlle hela tiden. Debian har skerligen
  ngonting liknande.

  Speciellt, filerna /var/lib/rpm/fileindex.rpm och
  /var/lib/rpm/packages.rpm fr antagligen inte plats p en enda
  diskett. Men komprimerade fr de skert plats p varsin diskett.

  Om ditt system har blivit attackerat kan du anvnda kommandot:



                root#  rpm -Va




  fr att verifiera alla filer p ditt system. Titta p manualbladet fr
  RPM, eftersom det finns ngra andra parametrar som du kan anvnda fr
  att f mindre utskrifter.

  Detta innebr att varje gng en ny RPM lggs till i systemet s mste
  RPM-databasen arkiveras om. Du mste vga frdelarna mot nackdelarna.




  9.4.  Hll reda p systemloggarna

  Det r vldigt viktigt att ingen har mixtrat med informationen som
  kommer ifrn syslog. Att gra filerna i /var/log ls- och skrivbara av
  endast ett begrnsat antal anvndare r en bra brjan.

  Hll ett ga p vad som skrivs dr, srskilt under 'auth'. Ett flertal
  misslyckade inloggningsfrsk, till exempel, kan tyda p ett frsk
  till en attack.

  Var du skall leta efter dina loggfiler beror p vilken distribution du
  har. I en distribution som fljer "Linux Filsystemstandard", som tex
  RedHat, s hittar du dem i /var/log.

  Du kan lista ut var ditt system har loggfilerna genom att titta i
  filen /etc/syslog.conf. I denna filen specificeras var syslog skall
  logga de olika meddelandena.

  Du kan ocks konfigurera ditt skript eller din daemon fr loggrotation
  s att loggarna finns kvar tillrckligt lnge fr att du skall hinna
  lsa dem. Titta p paketet "logrotate" i nyare RedHat-distributioner.
  Andra distributioner har antagligen liknande paket.

  Om ngon har mixtrat med dina loggfiler s frsk att lista ut nr
  mixtrandet brjade, och vilka saker som de verkade mixtra med. Finns
  det lnga tidsperioder som inte har loggats? Att kolla efter korrekta
  systemloggar p band med skerhetskopior r en bra ide.

  Loggfiler ndras typiskt av inkrktare som vill sopa igen sina spr,
  men de br nd skas igenom efter konstiga hndelser. Du kan till
  exempel upptcka en inkrktare som frsker f tillgng till systemet,
  eller upptcka ett program som frsker komma ver root-anvndaren. Du
  kanske hinner se loggfilerna innan inkrktaren hinner ndra i dem.

  Du br ven se till att skilja 'auth'-faciliteten frn annan loggdata,
  inklusive frsk att anvnda `su', inloggningsfrsk och annan data om
  anvndare.

  Om mjligt s br du konfigurera syslog att skicka en kopia av den
  viktigaste datan till ett skert system. Detta hindrar en inkrktare
  frn att sopa igen sina spr genom att radera sina login/su/ftp/osv
  frsk. Se manualbladet fr syslog.conf och titta p avsnittet om
  parametern '@'.

  Till sist, loggfiler r till liten nytta om ingen lser dem. Ta dig
  tid lite d och d fr att titta igenom dina loggfiler, och skaffa dig
  en knsla av hur de ser ut en normal dag. Att veta detta kan hjlpa
  dig att upptcka ovanliga saker.




  9.5.  Lgg till alla nya systemuppdateringar

  De flesta Linuxanvndare installerar frn en CDROM. P grund av den av
  naturen snabba takten p skerhetsfixar s finns det alltid nya
  (fixade) program att tillg. Innan du ansluter din maskin till
  ntverket s r det en bra ide att kolla p webbsajten fr din
  distribution (till exempel ftp.redhat.com) och skaffa alla uppdaterade
  paket sedan du fick din CDROM. Dessa paket innehller ofta viktiga
  skerhetsfixar s det r en bra ide att installera dem.




  10.  Att gra efter en attack

  S du har fljt ngra av rden hr (eller ngon annanstans) och har
  upptckt en attack? Det frsta du skall gra r att vara lugn.
  Frhastade ageranden kan gra mer skada n vad inkrktaren skulle
  gjort.




  10.1.  Skerhetsbrott p gng

  Att upptcka ett pgende skerhetsbrott kan vara en knslig sak. Hur
  du reagerar kan f allvarliga konsekvenser.

  Om brottet du ser r fysiskt s r det troligt att du har sett ngon
  som har brytit sig in i ditt hem, kontor eller labb. Du br d
  kontakta lokala myndigheter. I en labbmilj kanske du har sett ngon
  som frskt ppna en lda eller starta om en maskin. Beroende p din
  auktoritet och procedurer s kanske du kan be dem att sluta eller
  kontakta lokal skerhetspersonal.

  Om du har upptckt en lokal anvndare som frsker bryta sig igenom
  skerheten, s r det frsta du skall gra att bekrfta att de
  verkligen r de du tror att de r. Kolla sajten som de loggar in
  ifrn. r det den sajten som de normalt loggar in ifrn? nej? Anvnd
  d ett icke elektroniskt stt att komma i kontakt. Till exempel, ring
  dem per telefon eller g till deras kontor/hus och prata med dem. Om
  de erknner att de r ploggade s kan du be dem frklara vad de
  sysslar med eller be dem sluta med det. Om de inte r ploggade, och
  inte har en aning om vad du pratar om, s r chansen stor att
  incidenten krver ytterligare underskning. Undersk sdana
  incidenter, och samla p dig mycket information innan du anklagar
  ngon.

  Om du upptcker ett skerhetsbrott via ntverket, s r det frsta du
  skall gra (om du kan) att koppla ner ditt ntverk. Om de r anslutna
  via ett modem, dra ur modemsladden, om de r anslutna via ethernet,
  dra ur ethernetsladden. Detta hindrar dem frn att gra ytterligare
  skada, och de antar antagligen att de har rkat ut fr ett
  ntverksproblem snarare n att de blivit upptckta.

  Om du inte kan koppla ner ntverket (om du har en vlanvnd sajt eller
  inte har fysisk kontroll ver dina maskiner), s r det nst bsta
  sttet att anvnda program som tcp_wrappers eller ipfwadm fr att neka
  access frn inkrktarens sajt.

  Om du inte kan neka alla personer frn inkrktarens sajt, s fr det
  duga med att lsa anvndarens anvndarkonto. Observera att det r inte
  ltt att lsa ett anvndarkonto. Du mste tnka p .rhosts-filer, FTP-
  access och en dator med bakdrrar.

  Nr du gjort ngot av ovanstende (kopplat ner ntverket, nekat access
  frn deras sajt eller lst anvndarkontot) s mste du dda alla deras
  anvndarprocesser och logga av dem.

  Du br kontrollera din sajt noga under de fljande minuterna, eftersom
  attackeraren kommer att frska komma in igen. Kanske genom att
  anvnda ett annat anvndarnamn och/eller frn en annan ntverksadress.


  10.2.  Skerhetsbrott har redan intrffat

  Du har antingen upptckt ett brott som redan intrffat eller du har
  upptckt ett pgende brott och (frhoppningsvis) lst ute inkrktaren
  frn ditt system. Sen d?




  10.2.1.  Stnga hlet

  Om du kan lista ut p vilket stt inkrktaren lyckades ta sig in i
  ditt system s br du frska stnga det hlet. Till exempel s kanske
  du ser ett flertal FTP-poster precis innan anvndaren loggade in.
  Stng d av FTP-tjnsten och kolla om du kan hitta en uppdaterad
  version eller om ngon av e-postlistorna vet ngon fix.

  Kolla alla dina loggfiler och kolla alla e-postlistor och webbsajter
  som handlar om skerhet fr att se om det finns ngra nya vanligt
  frekommande attacker som du kan fixa. Du kan hitta skerhetsfixar fr
  Caldera hr: http://www.caldera.com/tech-ref/security/. RedHat har
  nnu inte delat upp skerhetsfixar frn buggfixar, men deras errata
  fr distributionen finns p http://www.redhat.com/errata. Det r
  troligt att om en distributr har slppt en skerhetsfix s har de
  flesta andra gjort det ocks.

  Om du inte lser ute inkrktaren s kommer han antagligen tillbaka.
  Inte bara p din maskin utan ngonstans p ntverket. Om han krde en
  paketsniffare s r risken stor att han har tillgng till andra lokala
  maskiner.




  10.2.2.  Ta reda p hur mycket skada som har skett

  Det frsta att ta reda p r hur mycket skada som har skett. Vad har
  blivit attackerat? Om du kr en integritetskontroll som tripwire s
  kan du gra en krning och f reda p det. Om inte s fr du titta
  runt bland dina viktiga data.

  Eftersom Linux blir lttare och lttare att installera, s kan du
  vervga att spara dina konfigurationsfiler och sedan radera dina
  diskar och sedan installera om. Efter detta kan du terskapa
  anvndarfiler och konfigurationsfiler frn skerhetskopior. P detta
  stt frskrar du dig om att du har ett rent system. Om du mste
  skerhetskopiera filer frn ett attackerat system s skall du vara
  extra frsiktig med att terskapa binrfiler, d de kan vara trojanska
  hstar som inkrktaren har placerat dr.




  10.2.3.  Skerhetskopior, Skerhetskopior, Skerhetskopior!

  Att gra regelbundna skerhetskopior r ovrderligt ur
  skerhetssynpunkt. Om ditt system blir attackerat s kan du terskapa
  den data du behver frn skerhetskopior. Sjlvklart kan viss data
  ven vara vrdefull fr attackeraren, och de kommer inte bara att
  frstra den utan ven stjla den s att de har sina egna kopior, men
  du kommer tminstonde att ha kvar den.

  Du br kolla flera skerhetskopior bakt i tiden innan du terskapar
  en fil som ngon har mixtrat med. Inkrktaren kan ha blivit frndrade
  fr lnge sedan och du kan ha gjort flera lyckade skerhetskopior av
  den filen.
  Sjlklart s mste man tnka p skerheten kring skerhetskopiorna
  ocks. Se till att lagra dem p ett skert stlle. Hll reda p vem
  som har tillgng till dem. (Om en inkrktare kan f tag p dina
  skerhetskopior s kan han f tillgng till alla dina data utan att du
  ngonsin fr reda p det.)




  10.2.4.  Spra inkrktaren

  Okej, nu har du lst ute inkrktaren och terskapat ditt system, men
  du r inte riktigt frdig n. ven om det inte r troligt att
  inkrktaren ker fast s br du rapportera attacken.

  Du br rapportera attacken till administratren p den sajt som
  inkrktaren loggade in ifrn. Du kan ta reda p vem administratren r
  med kommandot "whois" eller genom internic-databasen. Du kan skicka
  ett e-postmeddelande som innehller alla ndvndiga loggposter, datum
  och tider. Om du har upptckt ngot annat speciellt med din inkrktare
  s kan du nmna det ocks. Efter att du har skickat e-post s br du
  (om du har lust) flja upp med ett telefonsamtal. Om administratren i
  sin tur upptcker inkrktaren s kan han frska kontakta
  administratren p nsta sajt, osv.

  Duktiga crackers anvnder ofta flera mellanliggande system. Vissa
  (eller flera) som inte ens vet om att de blivit attackerade. Att
  frska spra en cracker till sin hemmasajt kan vara svrt. Att vara
  artig mot administratrerna som du talar med kan hjlpa mycket.

  Du br ven meddela alla skerhetsorganisationer som du r med i (CERT
  eller liknande).




  11.  Skerhetskllor

  Det finns MNGA bra sajter p ntet som handlar om skerhet i UNIX i
  allmnhet och Linux i synnerhet. Det r vldigt viktigt att
  prenumerera p en (eller flera) av e-postlistorna om skerhet och
  hlla sig uppdaterad p skerhetsfixar. De flesta av dessa listor har
  vldigt lg omsttning p meddelande, men r vldigt informativa.




  11.1.  FTP-sajter

  CERT r Computer Emergency Response Team. De skickar ofta ut
  meddelanden om nya attacker och fixar. cert.org

  Replay har arkiv med mnga skerhetsprogram. Eftersom de r utanfr
  USA s mste de inte lyda amerikanska lagar om kryptering.  replay.com

  Matt Blaze r frfattaren av CFS och en utomordentlig
  skerhetsfresprkare. Matt Blaze's stuff

  tue.nl r en mycket bra skerhetssajt i Nederlnderna.  ftp.win.tue.nl







  11.2.  Webb-sajter

  Hacker FAQ r en FAQ om hackers: The Hacker FAQ

  COAST-arkivet har ett stort antal skerhetsprogram fr UNIX och mycket
  information: COAST

  Rootshell.com r en bra sajt fr att se vilka attacker som fr
  nrvarande anvnds av crackers:  rootshell.com exploits

  BUGTRAQ lgger ut rd i skerhetsfrgor: BUGTRAQ archives

  CERT, Computer Emergency Response Team, lgger ut rd om vanliga
  attacker p UNIX-plattformar: CERT home

  Dan Farmer har skrivit SATAN och mnga andra skerhetsverktyg, hans
  hemsida innehller intressant information om skerhet svl som
  skerhetsverktyg: Dan Farmers trouble.org

  Linux Security WWW r en bra sajt fr information om skerhet i Linux:
  Linux Security WWW

  Reptile har mycket bra skerhetsinformation om Linux p sin sajt:
  Reptiles Linux Security Page

  Infilsec har en "srbarhetsmotor" som kan tala om p vilket stt en
  viss plattform r srbar: Infilsec vunerability engine

  CIAC skickar periodvis ut information om vanliga attacker: CIAC
  bulitins

  En bra startpunkt fr  Linux Pluggable Authentication Modules hittar
  du p http://www.kernel.org/pub/linux/libs/pam/.




  11.3.  E-postlistor

  Bugtraq: Fr att prenumerera p bugtraq s skall du skicka e-post till
  listserv@netspace.org och i meddelandekroppen skriver du "subscribe
  bugtraq". (fr arkiv se lnken ovan)

  CIAC Skicka e-post till majordomo@tholia.llnl.gov och i
  meddelandekroppen skriver du "subscribe ciac-bulletin"




  11.4.  Bcker - Tryckt Lsmaterial

  Det finns ett antal bra bcker om skerhet. Detta avsnittet listar
  ngra av dem. Utver srskilda bcker om skerhet, s behandlas
  skerhet i ett antal andra bcker om systemadministration.

  Building Internet Firewalls Av D. Brent Chapman & Elizabeth D. Zwicky

  1st Edition September 1995

  ISBN: 1-56592-124-0

  Practical UNIX & Internet Security, 2nd Edition Av Simson Garfinkel &
  Gene Spafford

  2nd Edition April 1996

  ISBN: 1-56592-148-8

  Computer Security Basics Av Deborah Russell & G.T. Gangemi, Sr.

  1st Edition July 1991

  ISBN: 0-937175-71-4

  Linux Network Administrator's Guide Av Olaf Kirch

  1st Edition January 1995

  ISBN: 1-56592-087-2

  PGP: Pretty Good Privacy Av Simson Garfinkel

  1st Edition December 1994

  ISBN: 1-56592-098-8

  Computer Crime A Crimefighter's Handbook Av David Icove, Karl Seger &
  William VonStorch (Consulting Editor Eugene H. Spafford)

  1st Edition August 1995

  ISBN: 1-56592-086-4




  11.5.  Terminologi


    Brandvgg -  En komponent eller mngd av komponenter som begrnsar
     tillgng mellan ett skyddat ntverk och Internet, eller mellan
     andra ntverk.


    Paket -  Den fundamentala enheten fr kommunikation ver Internet.


    Paketfiltrering -  Agerandet frn en enhet som selektivt
     kontrollerar fldet av data till och frn ntverket. Paketfilter
     slpper igenom eller blockerar paket, vanligtvis nr de routas frn
     ett ntverk till ett annat (oftast frn Internet till ett internt
     ntverk och vice versa). Fr att stadkomma paketfiltrering s
     specificerar du regler som bestmmer vilka typer av paket (de frn
     en viss IP-adress eller port) som skall tilltas och vilka som
     skall blockas.


    Grnsntverk -  Ett ntverk som installeras mellan ett skyddat
     ntverk och ett externt ntverk fr att stadkomma ytterligare ett
     lager av skerhet. Kallas ibland fr DMZ.


    Proxyserver -  Ett program som tar hand om externa servrar 
     interna klienters vgnar. Proxyklienter pratar med proxyservrar,
     som skickar vidare godknda klientfrfrgningar till riktiga
     servrar, och skickar vidare svar tillbaka till klienterna.


    Nekande av tjnst -  En nekande av tjnst attack r nr en
     attackerare konsumerar din maskins resurser p ett stt som det
     inte var meningen att de skulle konsumeras, vilket frhindrar
     normal anvndning av dina ntverksresurser fr legitima avsikter.
    Buffer Overflow -  Ett vanligt stt att programmera r att aldrig
     allokera buffertar som r "tillrckligt stora" och inte kontrollera
     om det blir overflow. Nr sdana buffertar fr overflow s kan det
     exekverande programmet (daemon eller suid-program) luras till att
     gra andra saker. Generellt s grs det genom att skriva ver en
     funktions returadress p stacken s att den pekar till ett annat
     stlle.


    IP Spoofing -  IP-spoofing r en komplex teknisk attack som utgrs
     av flera komponenter. Det r en skerhetsattack som lurar datorer
     till att tro att du r ngon som du egentligen inte r. Det finns
     en bra artikel om detta skriven av daemon9, route och infinity i
     Phrack Magazine, Utgva fyrtiotta, volym sju.


    Autentisering -  Egenskapen av att veta att datan som togs emot r
     samma data som sndes och att sndaren r den han utger sig fr att
     vara.


    Non-repudiation -  Egenskapen av att en mottagare kan bevisa att
     sndaren av viss data verkligen skickade datan ven om sndaren
     senare frnekar att han gjort detta.




  12.  Ofta frgade frgor (FAQ)


  1. r det skrare att kompilera in drivrutiner direkt i krnan n att
     gra dem till moduler?

     Svar: Vissa personer tycker att det r bttre att stnga av
     frmgan att ladda drivrutiner genom moduler, eftersom en
     inkrktare skulle kunna ladda en trojansk modul som kan pverka
     skerheten i systemet.

     Men fr att kunna ladda moduler mste du vara root. Fr att kunna
     ndra objektfiler fr moduler mste du ocks vara root. Detta
     betyder att inkrktaren mste ha root-access fr att kunna ladda en
     modul. Och om inkrktaren har root-access s finns det allvarligare
     saker att oroa sig fr n att han skall ladda moduler.

     Moduler r till fr att dynamiskt kunna ladda in std fr vissa
     enheter som sllan anvnds. P servermaskiner, eller brandvggar
     till exempel, s behvs detta med all sannolikhet inte. Drfr
     verkar det vettigare att kompilera in drivrutinerna direkt i krnan
     fr maskiner som anvnds som servrar. Moduler r dessutom
     lngsammare n inkompilerat std.


  2. Inloggning som root frn andra maskiner misslyckas alltid.

     Svar: Se avsnittet om root-skerhet. Detta grs med avsikt fr att
     frhindra externa anvndare att logga in till din maskin som root,
     vilket skulle vara ett allvarligt skerhetsproblem. Glm inte att
     potentiella inkrktare har tiden p sin sida och kan kra program
     fr att hitta ditt lsenord.


  3. Hur slr jag p skuggade lsenord i mitt RedHat 4.2 eller 5.0
     Linuxsystem?

     Svar: Skuggade lsenord r en mekanism fr att lagra dina lsenord
     i en annan fil n den normala /etc/paswd. Detta har flera frdelar.
     Den frsta r att skuggfilen /etc/shadow endast r lsbar av root,
     till skillnad frn /etc/passwd som mste vara lsbar av alla. En
     annan frdel r att som administratr kan du stta p och stnga av
     anvndarkonton utan att alla vet statusen fr andras
     anvndarkonton.

     Filen /etc/passwd anvnds d fr att lagra anvndarnamn och
     gruppnamn som anvnds av program som "/bin/ls" fr att mappa
     anvndarid till korrekt anvndarnamn i en kataloglistning.

     Filen /etc/shadow innehller endast anvndarnamn med respektive
     lsenord och kanske bokfringsinformation, som nr anvndarkontot
     slutar glla osv.

     Fr att sl p skuggade lsenord, kr 'pwconv' som root och
     /etc/shadow br skapas och anvndas av applikationer. Eftersom du
     kr RH 4.2 eller nyare s skall PAM-modulerna anpassa sig
     automatiskt till att anvnda /etc/shadow istllet.

     Eftersom du r intresserad av att skra dina lsenord s kanske du
     r intresserad av att generera bra lsenord frn brjan. Fr detta
     kan du anvnda modulen 'pam_cracklib' som r en del av PAM. Den kr
     lsenord mot Crack-biblioteken fr att hjlpa dig att se om de r
     fr ltta fr crack-program att gissa.


  4. Hur slr jag p SSL-utkningen i Apache?

     Svar:

     1. Hmta SSLeay 0.8.0 eller senare frn
     ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL

     2. Kompilera, testa och installera det.

     3. Hmta kllkoden fr Apache 1.2.5 eller senare.

     4. Hmta Apache SSLeay-utkningen p denna sajten
     <ftp://ftp.ox.ac.uk/pub/crypto/SSL/apache_1.2.5+ssl_1.13.tar.gz>

     5. Packa upp det i kllkodskatalogen fr apache-1.2.5 och patcha
     Apache som det str i README.


     6. Konfigurera och kompilera det.


     Du kan ven prova Replay Associates som har mnga frdigkompilerade
     paket och som r lokaliserat utanfr USA.


  5. Hur kan jag manipulera anvndarkonton och samtidigt hlla hg
     skerhet?

     Svar: RedHat-distributionen, srskilt RH5.0, innehller ett stort
     antal verktyg fr att kunna ndra anvndarkontonas egenskaper.


    Programmen pwconv och unpwconv kan anvndas fr att vxla mellan
     skuggade och vanliga lsenord.

    Programmen pwck och grpck kan anvdas fr att verifiera
     organisationen av passwd och group filer.


    Programmen useradd, usermod och userdel kan anvndas fr att lgga
     till, ta bort och ndra anvndarkonton. Programmen groupadd,
     groupmod och groupdel gr samma sak fr grupper.

    Grupplsenord kan skapas med gpasswd.

     Alla dessa program r "skugg-medvetna" -- dvs om du anvnder
     skuggning s anvnder de /etc/shadow, annars gr de det inte.

     Se respektive manualblad fr vidare information.


  6. Hur kan jag lsenordsskydda vissa HTML-dokument med Apache?

     Jag slr vad om att du inte knner till http://www.apacheweek.org,
     eller?

     Du hittar information om anvndarautentisering p
     http://www.apacheweek.com/features/userauth svl som andra
     skerhetstips fr webbservrar p
     http://www.apache.org/docs/misc/security_tips.html



  13.  Slutsats

  Genom att prenumerera p e-postlistorna med skerhetslarm, och genom
  att hlla dig uppdaterad s kan du hja skerheten nmnvrt i ditt
  system. Om du hller reda p dina loggfiler och kr program som
  tripwire regelbundet s kan du hja den nnu mer.

  Det r inte svrt att hlla datorskerheten p en hyfsad niv p en
  hemmadator. Det krvs mera jobb fr fretagsmaskiner, men Linux kan
  vara en sker plattform. P grund av sttet p vilket Linux utvecklas
  s kommer skerhetsfixar oftast ut mycket snabbare n fr kommersiella
  operativsystem, vilket gr Linux till en utomordentlig plattform nr
  det r viktigt med skerhet.




  14.  Tack till

  Information i detta dokument har samlats ihop frn mnga kllor. Tack
  till fljande som har bidragit antingen direkt eller indirekt:


       Rob Riggs <rob@DevilsThumb.com>
       S. Coffin <scoffin@netcom.com>
       Viktor Przebinda <viktor@CRYSTAL.MATH.ou.edu>
       Roelof Osinga <roelof@eboa.com>
       Kyle Hasselbacher <kyle@carefree.quux.soltec.net>
       "David S. Jackson" <dsj@dsj.net>
       "Todd G. Ruskell" <ruskell@boulder.nist.gov>
       Rogier Wolff <R.E.Wolff@BitWizard.nl>











