x

Huvudkapitel

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. Snabbstartsguide - LimeSurvey 3.0+
  3. Installation - LimeSurvey CE
  4. Så utformar du en bra enkät (guide)
  5. Komma igång
  6. Administrera LimeSurvey
  7. Enkäter - introduktion
  8. Enkätinställningar
  9. Enkätmeny
  10. Enkätens struktur
  11. Frågor - introduktion
  12. Frågegrupper - introduktion
  13. Enkäter - hantering
  14. Alternativ i enkätverktygsfältet
  15. Flerspråkig enkät
  16. ExpressionScript-motorn – Snabbstartsguide
  17. Okategoriserade och avancerade funktioner
  18. FAQ
  19. Felsökning
  20. Lösningar och genvägar
  21. Licens
  22. Ändringslogg för versioner
  23. Plugins
 Actions

Säkerhetstips för installation

From LimeSurvey Manual

Den här sidan kan ha maskinöversatts och kan innehålla fel. Visa det engelska originalet · Förbättra den här översättningen
This page is a translated version of the page Installation security hints and the translation is 100% complete.

Allmänt

Observera att vi tar säkerhetsfrågor på största allvar och reagerar snabbt. Om du känner till några säkerhetsproblem i LimeSurvey, meddela oss därför genom att skapa en felrapport i vår bug tracker (markera felet med allvarlighetsgrad eller kategori 'security').

Mer information om hur du rapporterar säkerhetsproblem och sårbarheter finns i vår säkerhetspolicy.

Begränsning av webbservern

Om du använder Apache innehåller LimeSurvey olika htaccess-filer för begränsning av åtkomst. Kontrollera att du tillåter de medföljande htaccess-filerna med AllowOverride.

Med en annan webbserver, eller om du vill använda AllowOverride None, måste du:

  • (valfritt) blockera åtkomst till alla filer i application, protected, framework och themes/*/views
  • blockera åtkomst till filer som användare har laddat upp i /upload/surveys/.*/fu_[a-z0-9]
  • (valfritt) blockera åtkomst till körbara filer i uppladdningskatalogen

Du hittar ett exempel för nginx i vår allmänna FAQ

Filbehörigheter i Linux

Om du använder en Linux-server krävs det att du ställer in filbehörigheterna korrekt för att säkra din LimeSurvey-installation.

Grundläggande fakta om filbehörigheter i Linux/*nix

Ett Linux/*nix-operativsystem är fleranvändarsystem. Det betyder att det, förutom ditt personliga konto, kan finnas andra användarkonton i systemet, och du bör vara noga med vilka behörigheter du ger andra användare.

Tips: Att ställa in filbehörigheter är särskilt viktigt för att skydda konfigurationsfiler som innehåller känsliga uppgifter, till exempel lösenord.

Tänk på att kontot 'root' alltid har behörighet att komma åt dina filer (oavsett vilka filbehörigheter du ställer in), eftersom det är superadministratören.

Webbservern (som kör LimeSurvey) körs också under en viss identitet (användare). I Linux är detta vanligtvis användaren 'www', 'www-data' (på Debian/Ubuntu), 'apache' eller 'nobody'. Vissa webbhotell använder dock system (till exempel suexec) som gör det möjligt att köra LimeSurvey-skript med din personliga användare. Webbserveranvändaren måste naturligtvis ha behörighet att läsa LimeSurvey-filerna. Det är dock bara ett fåtal av LimeSurveys underkataloger som behöver vara skrivbara för webbserveranvändaren.

Tips: Det är mycket värdefullt att ta bort skrivbehörigheten för webbserveranvändaren på de underkataloger i LimeSurvey som inte kräver den. Även om en sårbarhet i LimeSurvey skulle upptäckas skyddas nämligen huvudfilerna mot obehörig ändring tack vare behörigheterna i filsystemet.

Ställa in filbehörigheter på ett självhanterat Linux-system

Om du själv hanterar konfigurationen av webbserver och operativsystem (du äger den fysiska servern eller hyr en virtuell server där du har root-åtkomst) kan du överväga rekommendationerna nedan.

Du kan först ange ägare och grupp för dina LimeSurvey-filer för att underlätta inställningen av filbehörigheter. En möjlig strategi är att ange ditt personliga användarnamn som ägare av LimeSurvey-filerna och webbservergruppen som grupp. Vanligtvis innehåller denna webbservergrupp bara webbserverkontot (och eventuellt ett annat webmasterkonto). Om ditt användarnamn till exempel är 'myaccount' och webbserveranvändaren är 'apache' i gruppen 'apache', kan du använda följande kommando i ett skal: $ chown -R myaccount:apache limesurvey/. Ange därefter behörigheterna för filer och underkataloger.

För att skriptet ska fungera korrekt behövs skrivåtkomst till vissa kataloger:

  • Katalogen /limesurvey/application/config kräver Läs och skriv för att programmets konfigurationsinställningar ska kunna sparas
  • Katalogen /limesurvey/tmp och dess underkataloger används för import och uppladdning och bör ställas in på Läs och skriv för din webbserver
  • Katalogen upload/ och alla dess underkataloger måste också ha behörigheten Läs och skriv för att det ska gå att ladda upp bilder och mediefiler
  • Alla andra kataloger och filer kan ställas in på Skrivskyddad

Ställa in filbehörigheter på en webbserver hos ett webbhotell

Det är svårt att ge en standardprocedur för att säkra en webbapplikation i en driftmiljö hos ett webbhotell, eftersom sådana miljöer skiljer sig åt på många sätt.

På en hanterad server behöver servern skrivåtkomst till vissa kataloger för att skriptet ska fungera korrekt:

  • Katalogen /limesurvey/tmp används för import och uppladdning och bör ställas in på Läs och skriv för din webbserver
  • Katalogen upload/ och alla dess underkataloger måste också ha Läs och skriv för din webbserver för att det ska gå att ladda upp bilder och mediefiler
  • Övriga kataloger och filer bör ställas in på Skrivskyddad
Tips:
  • Beroende på webbserverns konfiguration kan du behöva använda chmod för att ställa in behörigheterna på de skrivbara mapparna till 755 eller 777 så att webbservern kan skriva till dem. Prova 755 först och 'uppgradera' till 777 om det inte fungerar
  • Du kan också försöka ta bort andra användares läsbehörighet till config.php genom att ställa in filens behörigheter på 750 – om det inte fungerar, 'uppgradera' till 755

Filbehörigheter i Windows

Om du använder en Windows-server bör du se till att admin-mappen tillåter ägaren av webbserverprocessen att skriva filer i den katalogen. Övriga filer kan ställas in på skrivskyddad och körbar.

Andra säkerhetsfrågor

Följande är enbart rekommendationer. LimeSurvey är i allmänhet mycket säkert även utan dessa extra åtgärder. Om du däremot samlar in extremt känsliga uppgifter kan lite extra säkerhet vara till hjälp:

SSL-användning

Vi rekommenderar generellt att SSL används för känsliga enkätdata. Du aktiverar vanligtvis SSL genom att konfigurera webbservern korrekt och använda ett SSL-certifikat. Om du har aktiverat SSL bör du tvinga fram SSL hela tiden under globala inställningar i LimeSurvey. Dessutom kan du ställa in att endast 'säkra' cookies ska användas genom att ändra motsvarande alternativ i config.php.

Åtkomst till filen config.php

  Du får uppdatera application/config/config.php först när den första installationen är klar och fungerar.


Filen /application/config/config.php innehåller användarnamn och lösenord till din databasserver. Detta medför vissa säkerhetsrisker, särskilt om du använder en inloggning med administrativ åtkomst på hög nivå till databasen. Om ett fel skulle göra att innehållet i denna PHP-fil returneras till en användares webbläsare, kan ditt databaslösenord och andra uppgifter röjas (detta är dock ett mycket osannolikt scenario). Det bästa sättet att minimera risken är att skapa en särskild inloggning som endast har specifika rättigheter till din LimeSurvey-databas.

Ett annat sätt att skydda denna information är att flytta informationen från filen /application/config/config.php till en katalog utanför webbroten, dvs. för Apache-användare katalogen ovanför mappen htdocs (även kallad public_html eller www). I princip använder du fortfarande config.php, men med bara en rad i den – en rad som inkluderar filen med den FAKTISKA konfigurationsinformationen (t.ex. <?php return include("/home/hostfolder/safedata/configreal.php"); ?>). Ta bort all verklig konfigurationsinformation från /application/config/config.php och klistra in den i den andra filen (configreal.php) som nämns i filen /application/config/config.php. Den andra filen ska ligga i en katalog utanför webbroten. Då innehåller /application/config/config.php inga databaslösenord etc. – bara namnet på filen som INNEHÅLLER databasinformationen.

På så sätt slipper du ändra alla andra filer som inkluderar /application/config/config.php, eftersom config.php 'omdirigerar dem' till konfigurationsfilen som ligger i en katalog utanför webbroten och som innehåller all verklig konfigurationsinformation.

Dessutom ska du inte använda "admin" eller "administrator" som standardanvändare. Gå till din MySQL-databas (eller den där du installerade LimeSurvey) och ändra standardanvändarnamnet "admin" till vad du vill (t.ex. "admin_xyz"). Det blir då mycket svårare att gissa administratörens nya användarnamn. Kom ihåg att detta är en av de två variabler som inkräktare kan använda för att få åtkomst. Administratörens lösenord är den andra variabeln. Välj därför båda med största försiktighet.

Content Security Policy (CSP)

FRISKRIVNING – CSP:n som anges här är endast ett exempel och är inte avsedd att användas ordagrant. Den är tänkt som en utgångspunkt och du MÅSTE anpassa den efter dina behov och testa den noggrant.

<IfModule mod_headers.c>
        Header always set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; base-uri 'none'; form-action 'self'; frame-ancestors 'self'; upgrade-insecure-requests" "expr=%{CONTENT_TYPE} =~ m#text\/(html|javascript)|application\/pdf|xml#i"
</IfModule>