Archive for november, 2010

HTTP headers die je webapplicatie veiliger maken

maandag, november 15th, 2010

Een eenvoudige manier om je bezoeker te beschermen bij een geslaagde hack op je webapplicatie,
is door gebruik te maken van de nieuwe beveiligings features die nu in veel webbrowser komen.
Veel van deze features werken door speciale HTTP header opties te sturen. Een nuttige optie is bijvoorbeeld de X-FRAME-OPTIONS http header die aangeeft of een webpagina in een frame geladen mag worden.
Als je bijvoorbeeld wilt dat je PHP applicatie niet in een frame mag worden weergeven dan moet je dit voordat je html begint te versturen op die pagina de volgende regel opnemen.

header("X-FRAME-OPTIONS: DENY");

Een nog verder gaande beveilig optie is X-Content-Security-Policy HTTP header, die beperkt waar inhoud vandaan geladen mag worden.
Echter zijn er vrij weinig  webbrowser(chrome) die deze beveiligings feature al ondersteunen.
Als je bijvoorbeeld de volgende regel toevoegd mag inhoud (afbeeldingen, css, javascript bestanden enz.) alleen van hetzelfde domein komen.

header("X-Content-Security-Policy: allow 'self';");

d9ping headers in httpfox
Let wel op dat deze maatregelen slechts de impact van misbruikt beperken, als je een XSS probleem hebt is het echte probleem niet opgelost. Daarbij komt nog dat het voor een heleboel oudere webbrowser niet werkt. Maargoed, je bezoekers zouden ook geen Internet Explorer6 meer moeten gebruiken. Deze website heeft de beveiliging features in ieder geval wel al ingebouwd en IE6 gebruikers wordenwerden gewaarschuwd dat ze moesten upgraden naar een hogere versie van hun browser. Een manier om de Http headers te bekijken is door het programma Wireshark of bijv. de Firefox extensie’s als: HttpFox,  Live HTTP Headers of Firebug te gebruiken.
Het is ook nog mogelijk via HTTP headers de XSS(cross scripting) filter van Internet Explorer aan- en uit te zetten. Dit kan met:

header("X-XSS-Protection: 1; mode=block");

maar het is niet nodig deze header te gebruiken want de XSS filter staat standaard al aan.

Zet Hotmail volledige sessie encryptie aan

dinsdag, november 9th, 2010

Hotmail™ gebruikers zijn bij onveilig verbinding (open wifi) niet standaard beveiligd tegen kapen van een account.
Maar je kunt je zelf wel grotendeels beveilingen door SSL/TLS wel aan te zetten.
Hiermee is het bekijken van emails en niet alleen het inloggen beveiligd met encryptie.
Dit is zinvol omdat het niet versleutelen van de acties na het inloggen toestaat je cookie en dus je sessie met
kinderspel over te nemen, bij gebruik van een onveilige verbinding.

Update: de instructie’s hieronder kloppen niet meer en zijn niet meer nodig.

Hier is het stappenplan hoe dat moet:

1. log in op https://account.live.com
2. Klik onderaan op de hyperlink: verbinden via HTTPS.
3. Selecteer: HTTPS automatisch gebruiken (lees bovenstaande opmerking) en kies opslaan.

Let wel op dat Windows live mail programma nu niet meer werkt. Dit omdat windows live mail alleen onveilige HTTP verbinding met de live server kan synchroniseren in een speciale hotmail account type.
(ja windows live mail werkt voor hotmail accounts als een RSS reader.)
Wil je toch SSL/TLS gebruiken dan moet je op de nieuwe account de volgende adressen gebruiken
POP-server: pop3.live.com op poort 995 voor versleuteld aanmelden.
SMTP server: smtp.live.com op poort 25
Let wel dat nu je mappen structuur niet meer offline hetzelfde is als online omdat je nu regulair pop3 gebruikt.