Säkra din webbserver Del 1 av 2
Denna artikel är tänkt som
en första guide i hur du säkrar din Windows 2000 server.
Delar av detta dokument tar
upp ändringar i registret, du ska alltid säkerhetskopiera det innan några
ändringar utförs. Vi ansvarar ej för eventuella fel som kan uppstå när du
editerar registret på din dator. Alla ändringar är dock testade av oss och
fungerar utan problem.
Vad menas med säkerhet?
Bland de många definitioner
dom finns när det gäller datorsäkerhet är kanske den bästa den som beskriver
säkerhet som de mått och steg man vidtar för att skydda sig mot intrång, stöld
eller otillåten visning. Det finns personer som kan göra intrång som får ett
system att bli helt obrukbart. Sådana angrepp kan haverera en
Internetleverantör eller till och med ett större område.
Ett sådant angrepp är det
kanske inte så stor sannolikhet att ni kommer att drabbas utav. Det är mer
troligt att någon är ute efter att stjäla något från erat system, filer och
datorresurser är lättåtkomliga byten, men de flesta angripare vill komma åt
servrarnas höghastighetsuppkoppling mot Internet.
När det gäller
ASP-tillämpningar är det viktigaste att skydda sina lösenord och användarnamn
från obehöriga. Detta kan man göra med SSL (Secure Sockets Layer) eller någon
liknande krypteringsfunktion. SSL gör så att all information som skickas mellan
användarens och serverns datorer krypteras, detta för att hindra folk att
"snappa upp" lösenordet eller kanske rentutav kredikortsnummret som
användaren handlar med på en e-handels sida.
Säkerhetsproblem på
Internet
Det finns många
säkerhetsproblem på Internet, allt från dåliga lösenord till säkerhetsluckor i
programvaran du använder. Det kan kännas hopplöst att få ett 100% säkert system
men det är inget som är omöjligt, man måste ta sig tid och ha rätt kunskaper
för att lyckas. Detta dokument är en bit på vägen för att ditt
säkerhetstänkande ska komma igång.
Det bästa sättet att veta
om man kan sova tryggt om natten är att testa att bryta sig in i sitt egna
system. Man bör också hålla sig uppdaterad inom säkerhets biten och testa nya
sätta att "hacka" sin server. Läs på sidor som handlar om
säkerhetsfrågor på Internet minst 1 gång i veckan för att hålla dig uppdaterad
om nya upptäckter.
Det är också mycket viktigt
att du installerar säkerhets uppdateringarna som Microsoft tillhanda håller på
sin sida windows update (http://windowsupdate.microsoft.com)
Onlinegraffiti
Vandalism på Internet har
blivit allt vanligare, oftast så attackeras välkända sidor och budskapet på
sidorna ändras, det kan skada ett företags rykte hårt. Oftast är dessa attacker
lätta att återställa från t ex en backup. Dessa attacker sker oftast genom att
angriparen tar reda på lösenordet till webbservern och byter ut filerna på
servern. Dessa ändringar kan ske genom FTP, telnet eller Frontpage extensions.
Så det bästa är att ej installera dessa tjänsterna alls, om man inte är tvungen
att använda dom. Uppdatera din sida genom att fysiskt använda en diskett eller
CD-ROM för högsta säkerhet.
IP-Spoofing
IP-Spoofing innebär att en
användare lurar webbservern att han/hon har en IP-adress som webbservern känner
igen och tillåter att besöka hemsidan. Många skyddar sina Intranät sidor genom
IP-verifiering vilket innebär att bara vissa IP-adresser är tillåtna att besöka
sidan. Ett sätt att skydda sin webbserver mot IP-spoofing är att ställa så att
brandväggen ej släpper in datorer som utger sig att ha interna adresser från
Internet.
Säkra Windows 2000
Vi ska nu kolla på några
sätt att säkra operativsystemet för att skydda ditt system mot de vanligaste
angreppen. Vi kommer att gå igenom b la dessa delar :
q Hårddiskformat.
q Skapa åtkomstkontrollslistor (ACL:er).
q Ta bort delsystem.
q Ta bort nätverkstjänster som inte behövs.
q Begränsa nätverksåtkomsten.
q TCP/IP filtrering.
Diskformat
Det finns tre olika
filsystemformat för Windows. FAT16, FAT32 och NTFS. Var och en av dessa har en
viss nivå av kompatibilitet med Microsofts operativsystem samt med säkerhet.
Det självklara valet för en Windows 2000 server är NTFS, eller NTFS 5.0 som det
heter för Windows 2000. NTFS har stöd för b la följande säkerhetsfunktioner som
FAT16 och FAT32 saknar :
q Åtkomstkontrollslistor (ACL:er) för objekt, kataloger och filer. Dessa
listor beskriver användarens behörighet till det aktuella objektet eller filen.
q Diskutrymme.
Administratören kan övervaka och begränsa det diskutrymme som en viss användare
kan utnyttja. På så sätt kan man förhindra att serverns hårddisk blir för full.
q Krypterade filer. NTFS kan kryptera känsliga filer som lagras på serverns hårddisk.
Kompatibilitet med flera
operativsystem
Det är inte alla
operativsystem som klarar de filsystem som finns. Detta problem löser man
lättast genom att dela ut resursen på nätverket.
q Windows 2000/XP stödjer NTFS 5, NTFS 4, FAT32 och
FAT16.
q Windows NT4 stödjer NTFS 4 och FAT16.
q Windows 98 stödjer FAT32 och FAT16.
q Windows 95, DOS och OS/2 stödjer endast FAT16.
Disk- och filkapacitet
q FAT16 hanterar partitioner upp till 2 GB.
q FAT32 hanterar partitioner på upp till 2 TB (2000
GB). En enskild fil kan dock inte vara större än 4GB.
q NTFS hanterar partitioner upp till 2 TB och
filstorleken begränsas endast utav partitionens storlek.
Säkra Windows 2000
Att tänka på vid en
installation
När du installerar Windows
2000 server på datorn som ska bli webbserver så bör du välja att den inte ska
vara en domänkontrollant. På så sätt minskar du risken att känslig
användarinformation som t ex användarnamn och lösenord kan bli synligt från
Internet.
Diskformat
Som jag nämnde tidigare så
ska du använda NTFS för högsta säkerhet. Har du redan valt t ex FAT32 så kan du
konvertera din partition till NTFS. Du bör dock tänka på att det ej går att
konvertera tillbaka till FAT32 igen.
Det är mycket enkelt att
konvertera din partition :
q Öppna kommandoprompten.
q Skriv convert d: /fs:ntfs
q Följ instruktionerna på skärmen.
Du kan kontrollera vilket
filformat du använder på partitionen genom att högerklicka på din partition
under "Den här datorn" och välja egenskaper.
Partitionera hårddisken
Du bör dela upp hårddisken
i minst 2 partitioner för att skilja systemfiler och webbfiler åt. Oftast så
använder man en egen partition åt att dela ut hemsidorna på Internet. Man ska
alltid se till att webbanvändare ej har tillgång till systempartitionen.
Välj bort 8.3-namn i
NTFS
För att 16-bitars program
ska kunna köras på NTFS så stödjer det 8 + 3 tecken till filnamn när det krävs
t ex (Progra~1/iexplore.exe). Denna funktion bör dock stängas av i en säker
Internetmiljö. Gör så här för att stänga av funktionen :
Klicka på Start,
välj Kör och skriv regedit och ändra följande
nyckel i registret :
Registerdatafil HKEY LOCAL MACHINE\SYSTEM
Registernyckel \CurrentControlSet\Control\FileSystem
Namn NtfsDisable8dot3NameCreation
Nytt värde 1
Denna
ändring ger också bättre prestanda.
Dölj
senast inloggade användaren
Det
går att dölja användarnamnet på den användaren som fysiskt senast loggade in på
datorn genom att ändra 2 poster i registret.
Den
första tar bort användarnamnet på den senast inloggade och visar det
användarnamnet som är inställt som standard.
Registerdatafil HKEY LOCAL MACHINE\SOFTWARE
Registernyckel \Microsoft\Windows NT\Current
Version\Winlogon
Namn DontDisplayLastUserName
Nytt värde 1
Efter
denna ändring kommer dock inloggningsrutan visa standard användaren. Detta
styrs utav nedanstående registernyckel, som du kan lämna tom eller kanske
skriva ett användarnamn som ej finns för att öka säkerheten mer.
Registerdatafil HKEY LOCAL MACHINE\SOFTWARE
Registernyckel \Microsoft\Windows NT\Current
Version\Winlogon
Namn DefaultUserName
Nytt värde Tomt eller valfritt namn.
Inaktivera
anonym åtkomst från nätverket
Windows
2000 medger att ej verifierade användare får se alla användare på systemet.
Inaktivera denna funktion genom att redigera följande register nyckel :
Registerdatafil HKEY LOCAL MACHINE\SYSTEM
Registernyckel \CurrentControlSet\Control\LSA
Namn restrictanonymous
Nytt värde 1
Inaktivera
automatisk delning av nätverksresurser
Windows
2000 tillåter att man skapar delade nätverksenheter, och delar dessutom
automatiskt alla enheter och skapar en ADMIN$-resurs på c:\winnt. Detta är en
bra funktion inom ett standard nätverk men däremot inte alls lämpligt på en
säker server. Skapa följande nyckel för att inaktivera den här funktionen:
Registerdatafil HKEY LOCAL MACHINE\SYSTEM
Registernyckel \CurrentControlSet\Services\LanmanServer\Parameters
Namn AutoShareServer
Värde 1
Kontrollera
fjärråtkomst till systemregistret
Windows
2000 stödjer åtkomst till systemregistret från en fjärrdator. Här behöver du
använda regedt32 istället för regedit för
att ange rätt behörigheter för följande nyckel :
Registerdatafil HKEY LOCAL MACHINE\SYSTEM
Registernyckel \CurrentControlSet\Control\SecurePipeServers
Namn \winreg
Klicka
på Security i verktygsfältet och välj Permissions. Som du ser har
administratörskontot fullständig behörighet medan de som är ansvariga för
säkerhetskopiering har läsbehörighet. Du kan ta bort läsbehörigheten om
programvaran för säkerhetskopiering ligger på den lokala datorn. Du kan även ta
bort den om programvaran ligger på en fjärrdator som ej tar säkerhetskopior av
systemregistret.
Kontrollera
status för avstängningsknappen i inloggningsrutan
Som
du kanske har märkt kan man i inloggningsrutan för Windows 2000 stänga av
datorn utan att logga in på datorn. Se till att denna möjlighet inaktiveras i
registret :
Registerdatafil HKEY LOCAL MACHINE\SOFTWARE
Registernyckel \Microsoft\Windows NT\Current
Version\Winlogon
Namn ShutdownWithoutLogon
Nytt värde 0
Byt
namn på administratörskontot
När
angripare försöker komma in i ditt system så försöker de oftast logga in med
administratörskontot, eftersom det är med det man har störst kontroll över
systemet. För att minska denna risk kan du ändra användarnamnet för detta
kontot. Och eventuellt skapa ett falsk administratörskonto utan någon
behörighet. Gör så här :
Klicka
på Start och välj Program | Administrationsverktyg | Datorhantering.
I dialogrutan som visas väljer du Systemverktyg | Lokala användare
och grupper | Användare. Sedan kan du byta namn på
administratörskontot genom att markera namnet och trycka på F2. För att skapa ett falskt administratörskonto väljer
du sedan Ny användare i Åtgärds-menyn. Kalla kontot för
Administratör (på engelsk server kallar du kontot för Administrator) :

Inaktivera
åtkomst till administratörsverktygen
Det
finns en uppsättning verktyg som endast administratören bör ha tillgång till.
Det enklaste sättet att se till att det fungerar så är att skapa en ny mapp
(till exempel c:\adminvertyg), flytta sedan verktygen till mappen och se till
att endast administratörskontot och systemkontot har behörighet dit. Du hittar
säkerhetsinställningarna för mappen genom att högerklicka på mappen och välja
egenskaper, välj sedan fliken säkerhet.
Nedan
är en lista på verktyg du bör säkra i mappen :
q
cmd.exe - visar en kommando
prompt där man kan köra systemverktyg.
q
cscript.exe - Windows
skriptmiljö som används för att köra ett skript från kommandoraden.
q
ftp.exe - används för att
överföra filer mellan datorer och nätverk.
q
net.exe - används för att köra
många funktioner inom nätverket.
q
telnet.exe - används för att
göra en fjärruppkoppling till en annan dator.
q
telnetc.exe - samma som ovan.
q
wscript.exe - Windows
skriptmiljö som används för att köra ett skript i en GUI-miljö.
Säkerhetsprinciper
De
flesta av följande tips kommer du att ändra i MMC konsolen Lokala
säkerhetsprinciper som du finner under Administrationsverktyg på startmenyn
(eller i kontrollpanelen) :

Säkra
lösenord
Genom
att se till att minsta antalet tecken i ett lösenord är t ex 10 så ökar du
säkerheten mycket genom att tvinga användarna att välja ett lösenord som är
svårt att gissa sig till. Du kan också se till att lösenorden till domänen
krypteras och består utav en blandning av stora och små bokstäver och siffror.
Du kan ange dessa kriterier samt några till genom att ändra värdena som finns i
mappen Lösenordsprincip under Kontoprinciper.
Låsa
användarkonton
Man
kan även låsa konton som någon försöker knäcka lösenordet till genom att de
försöker med fel lösenord för många gånger. Aktivera denna funktion under Princip
för kontoutlåsning under Kontoprinciper.
Där ändrar du värdet för Tröskelvärde för kontoutlåsning till det
antalet felaktiga försök som ska gälla innan kontot blir låst. Du kan också
ställa in hur lång tid kontot ska vara låst eller ställa in att kontot måste
låsas upp utav administratören (detta gör du genom att sätta antalet minuter
till 0). En varning här bara, tänk på att någon annan kan låsa
administratörskontot och då kommer du ej in på datorn.
Begränsa
åtkomsten från nätverket
I
Windows 2000 kan alla som standard komma åt din dator via nätverket. Detta är
självklart en mycket stor säkerhetsrisk. Du kan ändra detta på följande sätt :
välj mappen Tilldelning av användarrättigheter i mappen Lokala
principer. Dubbelklicka på ikonen Åtkomst till den här datorn från
nätverket och avmarkera Alla.
Granska
inloggningarna till servern
Gör
så här för att möjliggöra registrering av inloggningsaktiviteter till
säkerhetsloggen (den finner du under Loggboken) : Ändra inställningarna för Granska
kontoinloggningar och Granska inloggningshändelser i mappen Granskningsprincip
under Lokala principer. Kontrollera så att både lyckade och
misslyckade försök registreras så får du en god bild över hur servern används.
Tänk på att alla Granskningar kräver systemkrafter och de bör användas med
varsamhet.
Nätverksgränssnittet
Nu
har vi hanterat användarkonton och lösenord. Men vi behöver också titta på
nätverksinställningarna och se till att de är korrekta och säkra. Det finns
flera olika sätt att komma till samma skärm bild, men det enklaste är att
högerklicka på ikonen Mina nätverksplatser och välja Egenskaper.
I det fönstret så högerklickar du på det nätverkskortet du vill ändra
inställningarna på (Heter oftast Anslutning till lokalt nätverk) och väljer
egenskaper. I denna vy kan du ändra alla inställningar för nätverkskortet. Vi
ska nu ändra egenskaperna för WINS (Windows Internet Name Service), markera Internet
Protocol (TCP/IP) och välj Egenskaper klicka sedan på knappen Avancerat
och välj fliken WINS.
Inaktivera
WINS
I
en säker Internetmiljö vill man inte köra WINS på servern eller använda det på
en fjärrserver. Det har förekommit många säkerhetsincidenter med servrar som
kör WINS, och Internet baseras ändå bara på TCP/IP så WINS behövs ej. Ta bort
alla eventuella WINS-serverar i listan och avinstallera sedan själva WINS.
Inaktivera
NetBIOS
NetBIOS
är ett nätverksprotokoll som traditionellt används för nätverkskommunikation i
Windows men det är TCP/IP mycket bättre på. Det aktiverar dessutom några
verktyg som kan orsaka säkerhetsproblem. Du kan inaktivera NetBIOS genom att
välja Inaktivera NetBIOS över TCP/IP i WINS-dialogrutan.
Inaktivera
LMHOSTS-sökning
LMHOST-filen
används för att mappa upp IP-adresser till namn. Och denna funktion är det få
som använder sig utav. Det finns idag inga kända säkerhetsrisker med LMHOSTS
men man kan aldrig vara säker. Inaktivera det genom att bocka ur Använd
LMHOSTS-filen.
TCP/IP-filtrering
Ett
ganska stort antal nätverksportar är öppna som standard på en Windows 2000
dator. Men tack vare att vi känner till vilka portar som ska användas utav t ex
http, ftp etc. så kan vi filtrera bort resten. Även om man redan har en
Brandvägg så är det bra att ställa in filtrering för att öka säkerheten ännu
mer.
Gör
så här :
q
I dialogrutan Avancerade
TCP/IP inställningar så väljer du fliken Alternativ och sedan
dubbelklickar du på TCP/IP-filtrering.
q
Markera rutan Aktivera
TCP/IP-filtrering (alla kort) om den inte redan är markerad.
q
Under rubriken
TCP-portar lägger du till de portar som du vet används, till exempel port 21
för FTP, 80 för HTTP, 443 för SSL och port 25 för SMTP.
q
Tillåt inte några
UDP-portar.
q
Tillåt endast
IP-protokoll version 6. Detta är den senaste IP-versionen och den har fler
säkerhetsfunktioner än tidigare.

TCP/IP filtrerings rutan kan se
ut ungefär så här.
Brandväggar
och Proxyservrar
Vi
har nu gått igenom några av de åtgärder för att skydda sin Windows 2000 server,
men det viktigaste av allt är att man har en bra Brandvägg eller Proxyserver
som skyddar ditt nätverk från Internet. Jag kan också rekommendera dig att
använda en egen brandvägg bara för din webbserver som skyddar den från attacker
i ditt lokala nät. T ex nimda viruset kan komma innanför brandväggen via e-post
och sedan slå ut alla oskyddade datorer innanför brandväggen. Det duger oftast
bra med en mjukvarubaserad brandvägg för att skydda sig från det interna nätet.
Eller bäst av allt, anslut ej webbservern till datorerna på ditt lokala
nätverk.
I
del 2 utav denna artikel kommer vi att gå igenom hur du säkrar IIS 5.0 och din
ASP kod.