Klockan :
 Webbserver, Säkerhet - Säkra din webbserver Del 1 2002-04-15 23:42:22 
 Information om författaren :
Namn : Jimmy Staff
Epost : admin@aspwebb.com
Hemsida : http://www.aspwebb.com
Presentation :
Ansvarig på ASPWebb!
 Meny :
Startsidan (www.aspwebb.com)
Artikelarkivet
Föregående sida
Utskriftsvänlig sida
Kommentera artikel

Webbserver, Säkerhet - Säkra din webbserver Del 1

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.

 © 2010 Staff consulting - Jimmy Staff