onsdag 24 september 2008

Gustav rapporterar: Va f-n är WAF? - Ivan förklarar ModSecurity

Efter att ha hört en hel del snack om Web Application Firewalls tyckte jag det skulle vara intressant att höra lite om det från branschens nestor, Ivan Ristic, skaparen av open-source Apache-pluginen mod_security. Jag blev inte besviken. För mig var det konferensens bästa presentation hittills. På ett klart och tydligt sätt förklarade Ivan varför en WAF kan vara bra och hur man kan använda en. En av hans teser är att visst vill man bygga säker kod från start, men olyckligtvis är de flesta utvecklarna inte kapabla till det. Vad gör man då? In på scenen som en deus ex machina kommer mod_security och patchar ihop applikationen på 15 minuter iställlet för efter en månad av utvecklingsarbete! Vilken utvecklings/säkerhetschef skulle inte nappa på en sådan möjlighet till quick-fix? Inte undra på att det idag finns en hel drös av kommersiella produkter. Ivan modererade dock detta hallelulja budskap något och tryckte på att en av de stora fördelarna med mod_security är att den kan användas för audit och att synbarliggöra anropen till en Webapp, kanske inte att den kan stoppa alla attacker (Det kan den inte.). Dessutom påpekade han att han tyckte att Web Application Firewall var en missvisande term. Han föreslog istället Web Intrusion Detection System eller Web application hardening tool.


Hur fungerar då mod_security? I princip kan man säga att det är en regelmotor som triggas av data i http-anrop. Man kan t ex skriva regler som letar efter SQL i http-parametrar och som sedan gör något när de upptäcks, t ex nekar åtkomst eller loggar i säkerhetsloggen. Det finns också en samling av färdiga regler som ett open-source projekt. Med dessa kan man snabbt plocka många lågt hängande sårbarhetsfrukter. En intressant sak som reglerna också kan göra är att validera XML. Både schema och DTD. Regler kan också uttryckas med hjälp av XPath. Torde vara mycket nyttigt för att säkra upp existerande WebServisar. Det finns också en del andra komplement-projekt till mod_security. Ett av de intressantaste var ModProfiler. Målet med detta projekt var att använda mod_security för att ta fram en Whitelist av http-anrop genom att spela in existerande anrop. Intressant att följa tycker jag. Vi vill ju gå från blacklisting till whitelisting. I och med att mod_security kan vara passiv och bara logga kan man ju ha nytta av detta i övervakningssyfte även om man inte vågar neka anrop av rädsla att förstöra applikationen. Sammanfattningsvis ett mycket bra föredrag tycker jag. Odlicno Ivane!

Om ni vill se mer av detta ta en titt på:

ModSecurity: Open Source Web Application Firewall

Inga kommentarer: