x

Hovedkapitler

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. LimeSurvey Cloud - Hurtig startguide
  3. Installation - LimeSurvey CE
  4. Sådan designes en god undersøgelse (guide)
  5. Kom godt i gang
  6. Administration af LimeSurvey
  7. Undersøgelser - introduktion
  8. Undersøgelsesindstillinger
  9. Undersøgelsesmenu
  10. Undersøgelsens struktur
  11. Spørgsmål - introduktion
  12. Spørgegrupper - introduktion
  13. Undersøgelser - ledelse
  14. Indstillinger for undersøgelsesværktøjslinje
  15. Flersproget undersøgelse
  16. ExpressionScript Engine - Hurtig startguide
  17. Ikke kategoriseret og avancerede funktioner
  18. Generelle FAQ
  19. Fejlfinding
  20. Løsninger
  21. Licens
  22. Versionsændringslog
  23. Plugins - avanceret
 Actions

Installationssikkerhedstip

From LimeSurvey Manual

Denne side kan være maskinoversat og kan indeholde fejl. Vis den engelske original · Forbedr denne oversættelse
This page is a translated version of the page Installation security hints and the translation is 100% complete.

Generelt

Bemærk, at vi tager sikkerhedsproblemer meget alvorligt og reagerer hurtigt. Hvis du kender til sikkerhedsproblemer i LimeSurvey, bedes du derfor give os besked ved at oprette en fejlrapport i vores bug tracker (markér venligst fejlen med alvorlighedsgrad eller kategori 'security').

Du kan finde flere detaljer i vores sikkerhedspolitik for rapportering af sikkerhedsproblemer/sårbarheder.

Webserverbegrænsning

LimeSurvey leveres med .htaccess-filer, der blokerer webadgang til filer og mapper, som kun bruges på serveren. Hvis du bruger Apache, skal du sørge for, at disse filer er tilladt med AllowOverride All, og at mod_rewrite er aktiveret.

Andre webservere som nginx eller IIS ignorerer .htaccess-filerne, og det gør Apache også med AllowOverride None. I så fald skal du i din webserverkonfiguration nægte webadgang til følgende:

  • mapperne application, vendor, docs, locale, modules og tmp/runtime
  • mapperne conf, core, doc, integration, lang, lib og tpl i assets/packages/kcfinder
  • filerne setdebug.php og open-api-gen.php
  • udviklingsfilerne i LimeSurveys rodmappe: composer.json, composer.lock, package.json, yarn.lock, gulpfile.js, phpunit.xml, psalm*.xml, phpci.yml, phpcs.ruleset.xml, publiccode.yml, manifest.yml, CONTRIBUTING.md, README.md og SECURITY.md
  • skjulte filer og mapper (deres navn begynder med et punktum), undtagen .well-known
  • logfiler (*.log)
  • filer, der er uploadet af deltagere i undersøgelsen: filerne, der begynder med fu_ i upload/surveys og dens undermapper

Sørg også for, at scripts i upload-mappen aldrig kan blive eksekveret, for eksempel PHP-, Perl-, Python- eller shell-scripts.

LimeSurvey-pakken indeholder også dokumentation, eksempler og tests af de inkluderede biblioteker, for eksempel i mapperne vendor og docs. Slet ikke disse filer: Den næste opdatering gendanner dem. Nægt i stedet webadgang til mapperne, som beskrevet ovenfor.

Du kan finde et eksempel for nginx på siden LimeSurvey nginx eksempelkonfiguration.

Linux-filtilladelser

Hvis du bruger en Linux-server, er det nødvendigt at indstille filtilladelser i overensstemmelse hermed for at sikre din LimeSurey-installation.

Grundlæggende fakta om Linux/*nix-filtilladelser

Et Linux/*nix-operativsystem er flerbruger. Det betyder, at der udover din personlige konto kan eksistere andre brugerkonti på systemet, og du skal passe på, hvilke tilladelser du giver til andre brugere.

Tip: indstilling af filtilladelser er især vigtig for at sikre konfigurationsfiler, der indeholder vigtige data såsom adgangskoder.

Husk på, at 'root'-kontoen altid vil få tilladelse til at få adgang til dine filer (uanset hvilke filtilladelser du angiver), da det er superadmin-brugeren.

Webserveren (som kører LimeSurvey) kører også under en given identitet (bruger). På Linux er dette normalt 'www', 'www-data' (på Debian/Ubuntu), 'apache' eller 'nobody'-brugeren. Nogle hostingfirmaer bruger dog systemer (såsom suexec), der gør det muligt at køre LimeSurvey-scripts med din personlige bruger. Webserverbrugeren skal naturligvis have ret til at læse LimeSurvey-filer. Det er dog kun en lille delmængde af LimeSurvey-undermapper, der skal kunne skrives af webserverbrugeren.

Tip: det er meget værdifuldt at tilbagekalde skrivetilladelse for webserverbrugeren til disse LimeSurvey-undermapper, som ikke kræver det. Faktisk, selvom en LimeSurvey-sårbarhed kan blive opdaget, vil hovedfilerne stadig være beskyttet mod en ulovlig ændring takket være filsystemets tilladelser.

Indstilling af filtilladelser på et selvadministreret Linux-system

Hvis du administrerer din webserver og operativsystemkonfiguration (du er ejeren af den fysiske server eller lejer en virtuel server, som du har root-adgang på), kan du overveje følgende anbefalinger fra nedenfor.

Du kan først indstille ejeren og gruppen af dine LimeSurvey-filer, så det letter opsætningen af filtilladelser. En mulig strategi er at indstille ejeren af LimeSurvey-filerne til dit personlige brugernavn, og gruppen af LimeSurvey-filerne til webservergruppen. Normalt indeholder denne webservergruppe kun webserverkontoen (og muligvis en anden webmasterkonto). For eksempel, hvis dit brugernavn er 'myaccount' og webserverbrugeren er 'apache' i 'apache'-gruppen, så kan du fra en shell-adgang bruge følgende kommando: $ chown -R myaccount:apache limesurvey/ . Indstil derefter fil- og undermappernes tilladelser.

For at scriptet skal fungere korrekt, kræves skriveadgang til nogle mapper:

  • Mappen /limesurvey/application/config kræver Read & Write for at gemme applikationskonfigurationsindstillingerne
  • /limesurvey/ tmp-biblioteket og dets undermapper bruges til import/uploads og skal være indstillet til Læs og skriv for din webserver
  • Uploaden/biblioteket og alle dets underbiblioteker skal også have indstillet Læs' & Skrive tilladelser for at muliggøre upload af billeder og mediefiler
  • Alle andre mapper og filer kan indstilles til Skrivebeskyttet

Indstilling af filtilladelser på en hostet webserver

Giver vanskeligheden ved en standardprocedure til at sikre en webapplikation på et hostet miljø, er det ret vanskeligt, fordi hostede miljøer er forskellige på mange måder.

I tilfældet med administreret server skal serveren skriveadgang til nogle mapper, for at scriptet kan fungere korrekt:

  • Mappen /limesurvey/tmp bruges til import/upload og bør indstilles til Læs og skriv' ' til din webserver
  • Uploaden/biblioteket og alle dets undermapper skal også have Læs og skriv til din webserver for at muliggøre upload af billeder og mediefiler
  • De andre mapper og filer skal indstilles til Skrivebeskyttet
Tip:
  • Afhængigt af din webserverkonfiguration skal du ændre rettighederne på de skrivbare mapper til 755 eller 777 for at gøre det skrivbart til internettet server. Prøv først 755, hvis det ikke virker, 'opgrader' til 777
  • Du kan også prøve at fjerne andre brugeres læseadgang til config.php ved at sætte denne fils tilladelser til 750 - hvis det ikke virker, 'opgrader' ' til 755

Windows-filtilladelser

Hvis du bruger en Windows-server, skal du sikre dig, at admin-mappen tillader ejeren af webserverprocessen at skrive filer til denne mappe. Resten af filerne kan indstilles til skrivebeskyttet og udføres.

Andre sikkerhedsproblemer

Følgende er kun anbefalinger. LimeSurvey er generelt meget sikker uden disse yderligere foranstaltninger. Hvis du imidlertid indsamler ekstremt følsomme data, kan lidt ekstra sikkerhed hjælpe:

SSL-brug

Vi anbefaler generelt brugen af SSL til følsomme undersøgelsesdata. Du aktiverer normalt SSL ved at konfigurere din webserver korrekt og bruge et SSQL-certifikat. Hvis du har aktiveret SSL, bør du håndhæve SSL hele tiden fra globale indstillinger i LimeSurvey. Derudover kunne du kun indstille til at bruge 'sikre' cookies ved at redigere respektive valgmulighed i config.php.

Adgangen til filen config.php

Template:Advarsel

Filen /application/config/config.php indeholder et brugernavn og en adgangskode til din databaseserver. Dette giver visse sikkerhedsproblemer, især hvis du bruger et login, der har administrativ adgang på højt niveau til din database. I tilfælde af en fejl ved at returnere indholdet af denne PHP-fil til en brugers browser, kan din databaseadgangskode og andre detaljer blive kompromitteret (dette er dog et meget usandsynligt scenarie). Den bedste måde at minimere risikoen på er at oprette et specifikt login, der kun har specifikke rettigheder til din LimeSurvey-database.

En anden måde at sikre denne information på kan være at lægge informationen fra filen /application/config/config.php i en ikke-webmappe, dvs. for Apache-brugere er dette mappen over htdocs (også kendt som public_html eller www) mappen . Grundlæggende vil du bruge config.php, men har en linje i det - en linje, der inkluderer filen med FAKTISK konfigurationsinformation (f.eks.:<?php return include("/home/hostfolder/safedata/configreal.php"); ?> ). Fjern al faktisk konfigurationsinformation fra /application/config/config.php og indsæt den i den anden fil (configreal.php), der er nævnt i filen /application/config/config.php. Denne anden fil skal være placeret i en ikke-webmappe. Så vil /application/config/config.php ikke indeholde databaseadgangskoder osv. - kun navnet på filen, som KØR indeholder databaseinformationen.

Dette undgår, at du skal ændre alle de andre filer, der inkluderer /application/config/config.php, da config.php 'omdirigerer dem' til konfigurationsfilen, der er placeret i en ikke-webmappe, og som indeholder alle de egentlige konfigurationsoplysninger.

Brug desuden ikke "admin" eller "administrator" som standardbruger. Gå til din MySQL-database (eller den, hvor du installerede LimeSurvey), og ændr standardbrugernavnet "admin" til det, du foretrækker (f.eks. "admin_xyz"). Det bliver nu meget sværere at gætte administratorens nye brugernavn. Husk, at dette er en af de to variabler, som ubudne gæster kan bruge til at skaffe sig adgang. Administratorens adgangskode er den anden variabel. Vælg derfor begge med ekstrem omhu.

Content Security Policy (CSP)

ANSVARSFRASKRIVELSE - CSP'en, der er angivet her, er kun et eksempel og er ikke beregnet til at blive brugt ordret. Det er ment som et udgangspunkt og du SKAL tilpasse det til dine behov og teste det grundigt. <IfModule mod_headers.c> Header altid sat 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)|applikation\/pdf|xml#i " </IfModule>