open source

ModSecurity: Brandvägg för dina webbapplikationer

ModSecurityModSecurity är en brandvägg för webbapplikationer som kan övervaka, filtrera och förebygga attacker utförda mot webbapplikationer. Och eftersom fler och fler attacker riktar sig mot just webbapplikationer (över 70% av alla attacker enligt Breach, utvecklarna bakom ModSecurity), blir det bara mer och mer viktigt att man skyddar sig mot dessa.

En webbserver har oftast rikligt med möjligheter för att logga trafik i former som är användbara för till exempel marknadsföringsanalyser, lite i stil med Google Analytics. Vad de däremot oftast inte är bra på är att logga trafik som skickas och tas emot av din webbapplikation. De som utför attacker mot webbapplikationer vet detta och utnyttjar detta faktum.

Det är där ModSecurity kommer in i bilden. ModSecurity kan övervaka i realtid all form av HTTP-trafik, och kan baserat på bland annat en konstant uppdaterad regeldatabas som innehåller alla kända säkerhetshål motverka eller varna om misstänksam trafik.

Den analyserar även trafik för att se om den innehåller ovanligt beteende, kreditkortsnummer, användarkonton eller annat som inte bör finnas där och baserat på det antingen varnar om det eller helt enkelt stoppar trafiken innan den skickas iväg. Allt detta sker i realtid och utan att man ens märker av det!

Vi har därför installerat ModSecurity på samtliga Linux-webbservrar, så att dina webbapplikationer ska hålla en så hög säkerhet som möjligt. Det betyder inte bara att du slipper få din hemsida hackad, utan även att andra kunder som du delar server med kan sova gott om natten, tack vare att de inte behöver oroa sig över att det kan finnas någon annan på servern som har slarvat med sina säkerhetsuppdateringar.

I ett fåtal fall kan det dock krävas att man stänger av ModSecurity för sin webbapplikation. Vi har därför skrivit en guide för hur man gör detta, även om det är något vi inte rekommenderar såvida man inte har full koll på vad man gör.

Safe Mode On/Off

Uppdatering – 9/12 2010: Väldigt mycket har hänt sedan detta inlägg publicerades. Bland annat har vi genomfört den största uppgraderingen i Surftowns historia, vilket bland annat introducerar safe_mode = off och en memory_limit på hela 128 MB! Vi har även lanserat vår egna VPS-tjänst. Läs mer om uppgraderingen och vår VPS-tjänst.

Sedan ganska lång tid tillbaka får vi frågor kring varför vi kör PHP med safe_mode påslaget på våra webbservrar. Då dessa frågor dyker upp oftare och oftare, tänkte jag nu förklara de underliggande orsakerna till detta.

Apaches PHP-tolk körs som en modul inuti webbservern, vilket gör att dina PHP-script exekveras med samma rättigheter som Apaches systemanvändare har. Detta medför att Apacheanvändaren måste kunna tillgå alla användares filer på servern. För att undvika att en kund får tillgång till en annan kunds filer använder vi den inbyggda validering av användaridentiteter som PHP:s safe_mode-inställning tillhandahåller.

Denna validering säkerställer att ditt PHP-script bara kan få tillgång till dina filer, genom att scriptets ägarskap jämförs med ägarskapet på de filer det försöker tillgå. Vi har, trots idoga försök och grundliga efterforskningar, inte kunnat hitta en bättre lösning som lämpar sig för den driftmiljö vi för närvarande har. Därför har vi valt att behålla safe_mode påslaget tills vidare, för att kunna garantera dina filers säkerhet och samtidigt ge dina besökare den bästa möjliga upplevelsen.

Den bästa lösningen vi kan tänka oss för att komma runt detta problem idag, är att flytta ditt webbhotell till en virtuell privat server, en så kallad VPS. I skrivande stund kan vi dock inte erbjuda den tjänsten, men vi arbetar febrilt på att lansera våra VPS-paket inom kort. Som VPS-kund får du en helt egen, virtuell server, där du varken behöver dela resurser eller filsystem med andra användare.

Eftersom varje VPS bara tjänstgör för en specifik kund kan vi garantera att ingen annan kommer åt dina filer, och kan därför också erbjuda PHP med safe_mode frånslaget. Även om priserna på våra VPS-tjänster ännu inte är fastställda kommer de av naturliga skäl att kosta lite mer än våra webbhotell. Dock får du som VPS-kund en hel del fördelar som vi inte kan erbjuda i vår delade hostingmiljö, i form av mer frihet och större möjligheter.

För dig som inte är intresserad av en egen VPS försäkrar vi dig om att vi arbetar kontinuerligt för att hitta en lösning som tillåter användning av PHP med safe_mode frånslaget även i vår delade hosting, utan att för den sakens skull göra avkall på tjänstens säkerhet och kvalitet.

Vår förhoppning är att vi ska kunna erbjuda detta inom en inte allt för avlägsen framtid, inte bara för att safe_mode-funktionaliteten kommer att försvinna i och med PHP version 6.0, men också just för att fler och fler kunder efterfrågar möjligheten.