Posted by folkeh on June 9, 2008 at 11:37am
Hej igen,
Några tips om vad man bör göra, ur säkerhetssynpunkt, efter en installation. Filer som kan raderas, filer som bör döpas om? Något med rättighetsinställningar på kataloger under roten som man bör tänka på?
Har sökt på Drupal Sweden men hittade ingen sida med bra tips.
När man lägger till moduler och teman var ska man stoppa dem? I rotkatalogerna modules themes eller ska man skapa modules och themes katalaoger under sites/default/all och lägga dem där? Var är det bäst att lägga dem ur säkerhetssynpunkt och där Drupal hittar dem?
Hur är det med Drupal ur säkerhetssynpunkt? Se t.ex. http://www.lullabot.com/articles/drupal-and-expressionengine-security-mo...
mvh folkeh
Comments
Långt svar :)
.
Säkerhetstips
Några saker att tänka på:
Börja med att säkra din webbserver:
<Directory />
Options None
AllowOverride None
Order deny,allow
Deny from all
</Directory>
<Directory /path/to/drupal>
Allow from all
Options FollowSymLinks
# Kopiera in relevanta delar från Drupals .htaccess-fil som du sen raderar
</Directory>
Se till att webbservern äger filerna och ta bort onödig behörighet:
cd /path/to/drupalchown -R www-data.thomas * # SE NEDAN!
find -type f -exec chmod u=rw,g=rw,o=r {} \;
OBS: Byt
www-datatill din webbservers användarnamn ochthomastill en grupp som bara du (eller andra betrodda) hör till.Radera onödiga filer:
cd /path/to/drupalrm -r install.php *.txt xmlrpc.php profiles scripts
find . -name CHANGELOG.txt -exec rm {} \;
Döp om PHP-filer som inte behövs:
cd /path/to/drupalmv xmlrpc.php xmlrpc.php.protected
mv update.php update.php.protected
.
Placering av moduler och teman
Vi tillämpar följande princip:
sites/all/modules. Detta gäller även om modulen behöver patchas så länge som patchen finns i modulens issue queue.sites/default/modules. Om vi hackar en modul som är core eller contributed och inte postar en patch till modulens issue queue (händer endast i mycket speciella situationer) så placerar vi även den hackade modulen här.sites/default/themes. När vi går över till D6 kommer vi sannolikt att placera Zen, som vi numera ofta utgår ifrån, isites/all/themesoch det subtema vi tar fram till kunden isites/default/themes..
Drupals säkerhet med anledning av Lullabot artikeln
Artikeln handlar om den kulturella skillnaden mellan Drupal, som är ett fritt program med öppen källkod, och Expression Engine (EE), som är ett kommersiellt CMS utvecklat av EllisLab. Nate hade vid en utvärdering av EE för en kunds räkning noterat att det fanns viss antagonism mot Drupal på grund av påstådd bristande säkerhet. Som intäkt för påståendet togs det faktum att det under en period av 3 år finns 80 rapporterade säkerhetshål i Drupal och modulerna men bara ett i EE. Vi som dagligen är inne och "grottar" i Drupals kod vet att säkerheten är mycket hög, men vi vet också att det händer att man glömmer att köra användartillhandahållen data genom t.ex. check_plain() och andra funktioner avsedda för att förhindra XSS m.m. Därför var det inte Drupals siffra som var anmärkningsvärd utan EE:s. Nate ägnade därför en dag åt att hitta 3 EE säkerhetshål, varav en tillät att man exekverade valfri PHP-kod på servern(!!), vilka han rapporterade för att se vad som hände. Säkerhetshålen täppttes snabbt igen, men rapporterades aldrig. Resten av artikeln, och kommentarerna, handlar om varför det är att fördra öppenhet i säkerhetsfrågor. Jag vill i detta sammanhang passa på att nämna att EE är en mycket välskriven CMS som är mitt andrahandsval i fråga om CMS.
Jag anser att Drupal är ett av de säkraste CMS:erna. En styrka hos Drupal är det faktum att inte bara är core utan även moduler som är contributed omfattas av Drupals Security announcements. Lejonparten av säkerhetshålen som hittas finns i contributed-moduler och är oftast av lindrig art.
Thomas Barregren – Webbredaktören