[PPNL-Techteam] [drupal] secure login

Bèr Kessels ber at webschuur.com
Thu May 17 10:58:00 CEST 2012


Hallo,


On 16-05-12 20:17, Casper Gielen wrote:
> Nu zijn wij vast niet de enige met die probleem en ik vermoed dat er een standaard methode (module?)
> is om die login-box te vervangen door een handige verwijzing naar onze https-site.
> Adviezen?

Moeten we niet gewoon een eenvoudige redirect in de htaccess zetten
zodat /alles/ over https gaat?

Merk op dat alléén inlog over https zinloos is: na ingelogd te zijn,
moet alles (ook de assets) over https: de sessieinformatie wordt immers
anders plain-text uitgewisseld. Nee, een MITM kan dan je /wachtwoord/
niet uitlezen, maar wel je sessie, en daarmee net zo makkelijk inloggen.

Nu is het bij Drupal niet heel makkelijk om zonder fikse overhead[1] een
beperkt deel van het verkeer HTTPS te maken (bijvoorbeeld bezoekers
plain, inlog en ingelogden ssl).

Dus is mijn advies: een simpele redirect/rewrite in de vhost die zorgt
dat we altijd alles https hebben. Daarmee maken we nog een belangrijk
statement ook[2].

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Als volledig-https geen optie is, kun je het blok eenvoudig verbergen
met een zogenaamde "PHP-filter" in de blokken[3]. "only show when PHP
evalutates TRUE"

<?php
  return empty($_SERVER["HTTPS"]) ? FALSE : TRUE;
?>[4]

Bèr

[1] De modules die er zijn bewaren allemaal hun mappings, rules ofzo in
de database; en komen pas aan de beurt na een bootstrap van Drupal. Een
request naar plain gaat dan: "laad /hele/ Drupal in, verbind met
database. Doe een boel standaard Drupal bootstrap-lookups in de DB, Doe
daar een lookup voor de redirect. Stuur de redirect. Laad hele Drupal
opnieuw in ......"

[2] https://www.eff.org/https-everywhere

[3] merk op dat PHP in je database een gruwelijk lelijk veiligheidslek
is, ondanks dat Drupal dit out of the box levert is eigenlijk een no-go
area. Maar "het werkt" :)

[4] Werkt niet op IIS: Daar moet het zijn: return $_SERVER["HTTPS"] ==
"off" ? FALSE : TRUE;

-- 
  Open Source Webdevelopment.
  Ruby on Rails development.
  Drupal Development and -consultancy.

  webschuur.com


More information about the Techteam mailing list