Hermed undertegnedes oplæg til et tillæg til OSS'en[1], omhandlende
sikring af Windows 2000.
Da jeg på ingen måde anser mig selv for at være hverken ekspert i
Windows 2000 eller sikkerhed generelt, må det forventes at nedenstående
indeholder mangler eller måske endda fejl.
Kommentarer, rettelser og forslag til tilføjelser modtages derfor meget
gerne. Efter endt behandling kan vi jo så diskuttere om det er værd at
medtage i OSS'en eller ej.
(Beklageligvis findes der ikke pt. en dansk ordbogsfil til UltraEdit32,
så nogle stavefejl er der sikkert også smuttet med.)
------------------ START OPLÆG --------------------------
Case study: At sikre Windows 2000 som workstation.
Forord:
Det følgende er en eksemplificeret case, et eksempel på sikring af en
Windows 2000 arbejdsstation. Der er ikke tale om en guide-to-end-all-
guides, og tro endelig ikke at du er 100% sikker fordi du har fulgt
anvisningerne heri. Sikkerhed kommer først og fremmest gennem sikker
opførsel. Det væsentligste element der skal være på plads er altså det
der sidder ca. 40 cm fra skærmen. Læs derfor OSS'en afsnit om sikkerhed
gennem brugeropførsel før du fortsætter.
http://a.area51.dk/sikkerhed/brugere
Præmis:
Følgende omhandler i al væsentlig opsætning og konfiguration af
Windows 2000 Professional. Mange af de grundlæggende ideer er
selvfølgelige gyldige både for andre versioner af Windows-
operativsystemet og måske endda helt andre platforme. Den grundlæggende
ide er, at opnå en W2K workstation der er så sikret (hardened) som
muligt, uden at det går ud over den daglige brug. Det forudsættes
endvidere at der IKKE er en Windows Domain Controller eller lignende på
netværket der skal udstede konfigurationer mv. til vores workstation.
Før vi går igang:
Vi forudsætter en nyinstalleret Windows 2000 Professional, der skal
fungerer primært som workstation, have adgang til Internet og eventuelt
tilbyde enkelte services til et netværk. Er udgangspunktet ikke en
nyinstallation, kan det naturligvis være svært at foretage sig ting før
maskinen tilsluttes netværket som det anbefales nedenfor. Juster selv
efter egne forhold. En væsentlig ting er dog: Har du med sikkerhed haft
indtrængende der har haft adgang til filsystemet på din maskine,
anbefales det som udgangspunkt altid at lave en komplet nyinstallation.
For sikkerhedens skyld, bør W2K altid installeres med NTFS fremfor
FAT32.
Inden du påbegynder konfigurationen anbefales det endvidere at du
danner dig et indtryk af hvordan det præcise resultat du ønsker at opnå
ser ud. Er brugervenlighed vigtigere end sikkerheden for dig? Hvilke
services ved du med sikkerhed at du ikke vil kunne undvære? Hvor meget
ekstra arbejde kan du acceptere i det daglige til gengæld for højere
sikkerhed? Udarbejd gerne en sikkerhedspolitik - dette behøver ikke
være så stor et arbejde som det lyder. For det lille hjemmenetværk
drejer det sig primært om at gøre sig klart hvilke services og
sikkerhedsideer man stoler på og hvilke man ikke gør.
++ Fase I - Før netværkstilslutning
Allerede inden maskinen tilsluttes netværket bør de første skridt i
sikringen være taget, således at man ikke uforvarende kommer til at
blotte sårbarheder man efterfølgende vil rette. Stort set alt hvad der
har med sikkerhed at gøre kan (og bør) konfigureres før
netværkstilslutning og dette afsnit er derfor klart det længste.
+ Brugere
I windows 2000 findes som standard to brugere der oprettes ved
installation: Administrator og Gæst. En af de allerførste ting man bør
gøre, er at sikre disse. Find avanceret brugerstyring via kontrolpanel
-> Brugere og adgangskoder -> Fanebladet Avanceret (nu du alligevel er
her, så marker "brugere skal trykke CTRL-ALT-DEL" for logon)-> Knappen
Avanceret. Deaktiver her profilen "Gæst" (højreklik, egenskaber,
deaktiver). Gæstbrugeren er en klassisk angrebsvinkel og en kilde til
information om maskinen. Omdøb derefter profilen "Administrator" til
noget andet (højreklik, omdøb). Hvad du vælger at kalde den er ikke så
vigtigt, blot du kan huske det - der sker ikke noget ved at du skriver
det ned. Pointen er at undgå forskellige typer angreb der udnytter det
faktum at de fleste W2K maskiner har en bruger der hedder netop
"Administrator".
[bemærk]: At deaktivere "Gæst" kan give problemer med windows
file sharing hvis der skal deles med W95/98/ME maskiner.
Opret nu en ny bruger (højreklik i vinduet, vælg ny bruger).
Dette er den profil du selv vil anvende til daglig. Husk at vælge en
god adgangskode (læs herom andetsteds). Tilføj denne nye bruger til
gruppen "administratorer" (højreklik, egenskaber, medlem af). Dette er
nødvendigt for at foretage senere ændringer nævnt i dette dokument.
Skift adgangskoden til <den konto der før hed administrator> og log af
(CTRL-ALT-DEL, logoff). Log på med den nye bruger og kontroller at du
har administratorrettigheder. Når du er færdig med at sikre din
arbejdsstation, bør du fratage din almindelige bruger disse rettigheder
og gøre dig selv til enten Bruger eller Superbruger, alt efter hvor
meget du formoder at du vil få brug for at ændre i diverse opsætninger
senere. Administratorkontoen vi omdøbte før bør generelt aldrig bruges
- på den måde har du altid en konto at falde tilbage på, hvis du får
låst dig selv ude eller andet.
Skal andre end du selv kunne anvende arbejdstationen? I så fald,
så opret disse brugere nu og placer dem i gruppen "Brugere".
+ Sikkerhedsindstillinger
Find sikkerhedsindstilligerne via kontrolpanel -> administration
-> lokal sikkerhedspolitik
Definer her først en passende politik for adgangskoder. Her
afhænger det selvfølgelig af, om der er andre brugere på systemet.
Under alle omstændigheder er følgende et anbefalelsesværdigt minimum:
- Adganskoder skal opfylde kompleksitetskrav: Aktiver
- Gem gamle adgangskoder: 5
- Maksimumsperiode for adgangskoder: 30
- Minimumspersiode for adgangskoder: 3
- Minimumlængde for adgangskoder: 7
Definer derefter lockout (kontospærring).
Det er vigtigt, at du som *minimum* definerer et tal for antal
tilladte ugyldige logonforsøg. Denne funktion udgør en væsentlig
sikring mod "brute force" angreb på dine brugeres adgangskoder. En
lidt-over-minimumssikker løsning kunne være:
- Nulstil tæller efter: 30 minutter
- Spær konto i: 30 minutter
- Tæller til spærring: 5
Definer herefter lokal overvågningspolitik.
Under overvågningspolitik kan logføring af diverse
systemhændelser aktiveres. Her er det en afvejning mellem performance
på systemet og sikkerhed der må afgøre hvad der bør slås til og hvad
der ikke er nødvendigt. Et performance-venligt forslag:
Aktiver overvågning af Kontostyring: alt, Ændring af politik:
alt, Logon: mislykkede, Kontologon: mislykkede.
Vær varsom med at aktivere overvågning af objektadgang - at gøre
det kan lægge en *væsentlig* dæmper på performance.
Gå herefter "tildeling af brugerrettigheder" og
"sikkerhedsindstillinger" under "lokale politiker" igennem. De fleste
indstillinger her er ikke usikkert definerede som standard, men gå dem
alligevel igennem og slå de funktioner mv. fra, som ikke giver mening
for anvendelsen af netop din maskine.
En væsentlig ting er, at det er stærkt abefalelsesværdigt at
fjerne brugergruppen "Alle" fra listen over brugere der har tilladelse
til at tilgå maskinen over netværket. Har du brugere der skal kunne
gøre dette, så give dem eksplicit tilladelse enkeltvis i stedet.
[advarsel: dette afviser fildeling til W95/98/ME maskiner hvor brugeren
ikke er logget ind med samme brugernavn/password som de der er angivet
for vedkommende på dit system]
+ Tjenester (services)
Et vigtigt sikkerhedselement er at sikre sig at der kun kører
processer på maskinen der er brug for. Find "tjenester" under
"administration". Gå listen over tjenester igennem. Vælg "Deaktiver"
for de tjenester du med sikkerhed ved du ikke skal bruge (eksempel:
fax-understøttelse hvis du ikke har en fax) og vælg "Manuelt" for de
tjenester du ikke har brug for ved opstart.
Hvis du er lidt i tvivl om hvad du har brug for og ikke, så er
her lidt ideer:
Hvis du ikke ved hvad disse er, har du ikke brug for dem:
Remote Registry Service
IPSEC Policy Agent
Her, en liste (fra Symantec) over services du i hvert fald
*ikke* bør stoppe:
Event Log
Logical Disk Manager
Plug And Play
Remote Procedure Call
Security Accounts Manager
Windows Installer
Windows Management Instrumentation
Windows Management Instrumentation Driver Extensions
I øvrigt har 3dspotlight lavet en udemærket tweaking-guide til
services under W2K:
http://www.3dspotlight.com/tweaks/win2k_services/print.shtml
+ Fjern unødvendige windows-komponenter
Nu er det jo ikke kun services der bør minimeres.
Find "tilføj/fjern programmer" i kontrolpanelet og klik
"tilføj/fjern windows komponenter". Fjern de programmer du ikke skal
bruge. Vigtig: Fjern *under alle omstændigheder* IIS. Også selvom du
faktisk vil kunne servere web/ftp content via IIS (hvilket normalt ikke
kan anbefales) - IIS bør aldrig startes før Windows er opdateret med de
seneste patches/service-packs hvilket vi endnu ikke har gjort i denne
guide. Du kan altid aktivere den igen senere, efter opdatering, hvis du
virkelig mener at du har brug for den.
+ Netværket
Hvis du ikke allerede har gjort det, så installer nu netkort
eller anden forbindelses-enhed (modem, atm-kort, whatever) i PC'en. Der
er dog endnu et par ting der bør gøres før der forbindes til omverdenen
(altså: sæt ikke stikket i endnu).
Start med at gå til "netværk og opkaldsforbindelser" (højreklik
netværkssteder, vælg egenskaber).
Hvilken opsætning dit netværk bør have, afhænger af flere ting.
Måske allermest vigtigt er, hvorvidt du skal kunne anvende windows fil-
og udskriftsdeling. Skal du ikke det, er der ret mange
sikkerhedsproblemer du kan slippe let udenom. Skal du derimod både
deler filer på den måde og måske endda give andre brugere adgang til
Internettet via "forbindelsesdeling", så bliver det straks lidt mere
kompliceret.
For den forbindelse der giver adgang til Internettet, bør *kun*
TCP/IP være aktiveret. Under denne forbindelse bør du også deaktivere
NetBIOS. Klik på TCP/IP, egenskaber, avanceret, fanebladet WINS, marker
"deaktiver NetBIOS". Skal du kommunikere med andre maskiner lokalt, så
installer en seperat netværksforbindelse hvor du åbner for andre
protokoller. Dette kunne for eksempel være IPX til fil- og
udskriftsdeling. En anden mulighed er at anvende TCP/IP men på et andet
subnet - hvis din primære netværksforbindelse for eksempel tildeles IP
adresser i 192.168.0.0/24 (subnet 255.255.255.0) så opret en
tilsvarende forbindelse i 10.0.0.0/24 på dine maskiner og aktiver
NetBIOS for denne. Dog skal det nok nævnes at ganske almindelig NAT
forhindrer en stor del af problematikken omkring eksponering af NetBIOS
mod nettet. Så længe dit NAT-device (router) ikke forwarder trafik til
NetBIOS portene (135-139) udefra, er problemet begrænset. Er du derimod
ikke bag et NAT-device, så er NetBIOS en væsentlig sikkerhedsrisiko.
Netværkskonfiguration er et større kapitel i sig selv, og i mange
tilfælde er dk.edb.netvaerk en bedre gruppe at spørge i end
dk.edb.sikkerhed.
+ Opdateringer / installation af Service Packs
Har du mulighed for det, så installer så vidt muligt windows-
opdateringer og servicepacks allerede før tilslutningen til netværket.
Dette kan gøres ved at hente de pågældene opdateringer (fra Microsofts
hjemmeside) fra en anden PC og overføre installationsfilerne på CD
eller lignende. På den måde ungår du at eksponere diverse
sikkerhedsfejl der allerede er kendte rettelser til. Har du ikke
mulighed for dette, så er der ikke andet at gøre end at gå til:
++ Fase 2 - W2K på netværket
+ Forbind maskinen til netværket.
Når forbindelsen er etableret, så gå som de første du gør ind på
Windowsupdate og installer eventuelle sikkerhedspatches og
servicepacks. Gør det også selvom du for et øjeblik siden installerede
disse fra et lokalt medie - der kan jo være kommet opdateringer siden
de lokale opdateringer blev hentet.
Generelt er det meget væsentligt at holde sin W2K opdateret. Der
kommer hele tiden nye exploits og findes nye sikkerhedsfejl og den
eneste måde at beskytte sig effektivt mod disse er at sørge for at
holde både sin Windows og sine øvrige programmer opdaterede til de
nyeste versioner.
+ Installation af diverse software og services
Her er det tid til at give noget mere frihjul, da det er svært at
sige noget konkret uden at gå ud fra et bestemt stykke software. Dog
lige et par ting der er værd at huske:
- Lidt er godt. Jo færre funktioner du kan nøjes med, jo sikrere
(alt andet lige). Den største sikkerhed ligger i det mindst mulige
antal "points of failure".
- En virusscanner kan være en rigtig god ide. Alt efter hvorvidt
du henter filer fra steder du ikke stoler 100% på, selvfølgelig. Især
kan en sådan være en god ide hvis du ikke overholder nedenstående:
- Undgå så vidt muligt Outlook-baserede programmer. Udover at
være kendte for de mange sikkerhedshuller, så er især Outlook Express
urimeligt udsat for diverse virii fordi der er så mange der bruger det.
Læs i hvert fald OSS'ens afsnit om sikker opsætning af Outlook
(Express) hvis du insisterer på at bruge det:
http://a.area51.dk/sikkerhed/brugere#outlook
- Undgå at anvende IIS. Af samme grunde som ovenfor, blot endnu
vigtigere. Der findes i øvrigt flere gode alternativer der er langt
sikrere, så udfra et sikkerhedsmæssigt synspunkt er der ingen
undskyldning for overhovedet at installere IIS.
++ Fase 3 - Videre læsning
Denne guide har kun berørt en lille del af det samlede
sikkerhedsbillede for din Windows 2000 workstation. Selvom ovenstående
ganske givet giver en sikrere opsat W2K end en default installation, så
er der stadig masser der ikke er dækket. Det kan derfor kraftigt
anbefales at læse resten af nærværende OSS
(
http://a.area51.dk/sikkerhed/). Nedenfor et par Windows 2000-specfikke
andre kilder:
-
http://www.dalantech.com/secure-w2kws.shtml
-
http://nsa2.www.conxion.com/win2k/download.htm
- Google. :)
------------------ SLUT OPLÆG --------------------------
[1]: Det lyder ret grimt.
--
Niels Callesøe - nørd light
pfy[at]nntp.dk -
http://www.pcpower.dk/disclaimer.php
"Again and again they struck him on the head with a
patch cable and spat upon him." - Book of THOL, verses