Dit artikel verscheen eerder in Windows en Netwerken |
|||||||||||||||||||||||||||||||
Wim Verveen , e-mail: wim@win2kwereld.nl
De 'Code-Red Worm' heeft ons geleerd dat het beveiligen van een Windows Webserver niet zo eenvoudig is als het op het eerste gezicht lijkt. De meeste beheerders die dit voor het eerst doen installeren het laatste servicepack en denken dan klaar te zijn. Niets is echter minder waar, Het beveiligen van een webserver is een secuur werkje en de recente ontwikkelingen hebben geleerd dat we dit onderdeel van de serverinrichting niet kunnen veronachtzamen. Voordat we ook maar iets gaan doen moeten we eerst
vaststellen wat een webserver precies is. Dit lijkt een open deur maar dit is het niet. Een webserver is in principe elke standaard installatie van Windows 2000 die met een netwerk en dan met name het internet is verbonden. Het
gaat hier dus zelfs om servers die niet primair zijn ingericht om te worden gebruikt als webserver maar waar wel een webserver actief is. Vanaf nu gaan we ervan uit dat de server die we gaan beveiligen met het internet is verbonden en dat deze dient om een of
meerdere sites beschikbaar te stellen. We gaan er ook van uit dat de server niet beveiligd wordt door een firewall, een 'worstcase' situatie, maar een situatie die niet ongewoon is voor een server die extern wordt gehost. Daarnaast
is het zo dat een firewall een interessante constructie is maar lang niet alles tegenhoudt. Een meerlagige verdediging verdient dus aanbeveling. We moeten ervan uitgaan dat we eventuele indringers kunnen tegenhouden zelfs als ze
door de firewall heen breken. Als eerste zal ik in gaan op wat er daadwerkelijk te beveiligen valt, afsluitend zal ik twee tools, IIS lockdown en URLScan behandelen die veel werk uit hanen nemen. Als we een webserver aan de
buitenkant bekijken blijkt deze een groot aantal faciliteiten ter beschikking te stellen. Deze faciliteiten kun je beschouwen als het zogenaamde aanvalsoppervlak. Het is van belang om dit oppervlak zodanig te verkleinen dat
de faciliteiten die we beschikbaar willen maken dat ook zijn en alle onnodige functionaliteit is uitgeschakeld. Hiermee bereiken we dat het minder makkelijk is om binnen te dringen wat de server gelijk al tot een minder
aantrekkelijk doelwit maakt. Alleen de vasthoudende aanvaller met een concreet doel zal hier zich niet van laten weerhouden. Dit is echter een beperkte groep, de overgrote meerderheid zal voortijdig afdruipen. Zoals ik echter al
eerder stelde is een diepe verdediging van belang. Door het aantal aanknopingspunten te verminderen hebben we onze eerste verdediging gecreëerd. Om dit aanzienlijk te vergemakkelijken en ook verdere acties gestructureerd uit te voeren kunnen we gebruik maken van zogenaamde 'security templates' Dit mechanisme wat is
geïntroduceerd in Windows 2000 stelt ons in staat gestructureerd de configuratie aan te passen, zo nodig te controleren en eventueel later bij te werken of opnieuw toe te passen. |
|||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||
Figuur 1 : Een analyse van het systeem tegen de template |
|||||||||||||||||||||||||||||||
De template komt bij de andere security templates (c:\winnt\system32\security\templates) te staan en wordt dan geïmporteerd in de security database. Dit doen we als volgt. Kies start|run, typ in 'MMC' en kies 'OK'. In de Microsoft Management Console kies het menu 'Console| add/remove snapin' en klik op Add. Selecteer vervolgens de 'security configuration and analysis' snapin. In het menu kunnen we nu een nieuwe database maken en de template importeren. Nu de template is geïnstalleerd gaan we deze toepassen. Als eerste gaan we zelf onze machine scannen op openstaande poorten zodat we een idee krijgen van de uitgangsituatie. Hiertoe gebruiken we het programma 'fscan' (link naar foundstone) Een snelle scan van fscan laat zien dat onze machine vol staat met open poorten |
|||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||
Figuur 2 : portscan van server voor configureren |
|||||||||||||||||||||||||||||||
Nu passen we onze template toe en doen nog eens een scan. |
|||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||
Figuur 3 : portscan na bewerking |
|||||||||||||||||||||||||||||||
Er blijken aanzienlijk meer poorten afgesloten te zijn maar we zijn nog niet tevreden. Als eerste worden ook services afgesloten die we misschien willen
gebruiken, zoals terminal server voor beheer op afstand en bovendien staan instellingen soms te restrictief en moeten we dat wat corrigeren. We schakelen in de template dus de services in die we toch willen gaan gebruiken.
Daarnaast schakelen we nog zaken uit die we juist niet gaan gebruiken maar door de template met rust worden gelaten. Als we bijvoorbeeld geen FTP gaan gebruiken is het nuttig om deze service gewoon uit te zetten, datzelfde geldt
voor SMTP. Aan de andere kant moeten er mischien ook services weer ingeschakeld worden, bijvoorbeeld Terminal Services voor beheerdoeleinden |
|||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||
Figuur 4 : een standaard geinstalleerde server |
|||||||||||||||||||||||||||||||
De hotfixes zijn over het algemeen nodig voor het dichten van gaten in de functionaliteit van IIS en dan vooral in de zogenaamde
ISAPI filters. Dit zijn een soort plug-ins die specifieke verzoeken afhandelen zoals bijvoorbeeld voor ASP. Daarnaast bevinden zich grote gaten in de voorbeelden en de standaard configuratie van IIS. |
|||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||
Figuur 5 : Verwijder alle onnodige mappings |
|||||||||||||||||||||||||||||||
Vervolgens gaan we de ASAPI filters aanpakken. In figuur 5 zijn de application mappings te zien, Deze verwijzen een extensie naar de
juiste applicatie. Dit lijstje is te bereiken vanuit de internet services manager|eigenschappen van de server| klik op de edit knop| home directory en dan op de configuration knop. Nu we IIS hebben ontdaan van alle
overbodige zaken wordt het tijd om ook op OS niveau één en ander aan te passen. Het is verstandig de website(s) die IIS host niet op dezelfde schijf te plaatsen als het OS. Daarnaast is het verstandig om dusdanige NTFS security aan
te leggen zodat de internet guest user (IUSR_Machinenaam) nergens mag komen waar dat niet strict noodzakelijk is. Geef deze user dan ook een 'deny' recht op alle directories waar deze niets te zoeken heeft. Zorg er vervolgens dat
de internet user slechts leestoegang heeft op de directory die de site bevat. Deze maatregelen zijn nodig om te voorkomen dat als de beveiliging wordt doorbroken er onder deze user context niets veranderd kan worden. Wanneer
er meerdere sites gehost worden zorg dan dat elke site zijn eigen internet user account heeft die elkaar niet kunnen benaderen. Dit werpt weer verdere barrières op. Een laatste belangrijke actie is het uitschakelen van
alle file en printersharing richting het internet en het uitschakelen van de netbios over TCP/IP. Als klap op de vuurpijl kunnen we onze server voorzien van URLScan. Deze zogenaamde ISAPI filter van Microsoft scant al het
inkomende verkeer van IIS en zal illegale URL's die binnenkomen tegenhouden. Dit maakt een webserver gelijk aanzienlijk veiliger dus installatie is een must. In URLSCAN.INI kun je opgeven wat er precies tegengehouden wordt, dit is
een vrij uitgebreide lijst. Het kan dus zijn dat een en ander weer moet worden opengezet.
De Snelle methode. Voor wie niet geïnteresseerd is in wat er precies onder de motorkap gebeurd is de IIS lockdown tool het aangewezen gereedschap. IIS lockdown leid de gebruiker aan de hand door alle opties
en schakelt alles wat niet nodig is rigoureus uit. Hiermee wordt een server aanzienlijk veiliger. Zowel URLScan als IIS lockdown zijn onderdeel van de Security toolkit. Een set aan documentatie en software die Microsoft heeft
samengesteld om het beveiligen van servers te vereenvoudigen. Met het configureren van deze server hebben we een behoorlijk beveiligingsniveau bereikt. De echt paranoide beheerders zijn nog niet klaar maar de meeste aanvallen
kunnen nu zonder probleem worden afgeslagen. Hoewel het er op het eerste gezicht soms wat ingewikkeld uitziet kunnen de meeste werkzaamheden in minder dan een kwartier worden afgerond door een ervaren medewerker. Een kleine prijs
met een grote winst. Aanvallen zoals die van de Code Red Worm maar ook andere wormen en menselijke aanvallers maken gebruik van gaten die we nu effectief hebben gedicht. De IIS checklist geeft u nog meer aanwijzingen om uw omgeving
nog verder af te schermen. Help dus mee om het internet veiliger te maken en ga vandaag nog aan de slag, zeg nou zelf, U wilt toch wel de enige spin in uw webserver blijven? Links:
|
|||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||