Actions

Installation security hints/nl: Difference between revisions

From LimeSurvey Manual

(Updating to match new version of source page)
No edit summary
Line 4: Line 4:
==Algemeen==
==Algemeen==


LimeSurvey relies on its own security, which is activated by default. The authors of this software takes no responsibility and makes no claims in relation to the appropriateness or the security level of this software. However, we take security issues very serious and react quickly. Therefore, if you know of any security problems with LimeSurvey, please let us know either by sending us an e-mail at [mailto:info@limesurvey.org info@limesurvey.org] or by opening a bug report in our [http://bugs.limesurvey.org bug tracker] (please mark it as private).
LimeSurvey vertrouwt op zijn eigen beveiliging, dat standaard geactiveerd is. Echter, de auteurs van de software accepteren geen verantwoordelijkheid voor, en maken geen claims over de veiligheid of geschiktheid van de software. Dat gezegd hebbende zijn we uiteraard zeer benieuwd naar veiligheidslekken. Kom je zoiets tegen, mail ons dan [mailto:info@limesurvey.org info@limesurvey.org] , of open een foutrapport op onze [http://bugs.limesurvey.org bug tracker] (zet deze dan wel graag op privé).


==Linux bestandsrechten==
==Linux bestandsrechten==

Revision as of 19:34, 22 September 2017

Algemeen

LimeSurvey vertrouwt op zijn eigen beveiliging, dat standaard geactiveerd is. Echter, de auteurs van de software accepteren geen verantwoordelijkheid voor, en maken geen claims over de veiligheid of geschiktheid van de software. Dat gezegd hebbende zijn we uiteraard zeer benieuwd naar veiligheidslekken. Kom je zoiets tegen, mail ons dan info@limesurvey.org , of open een foutrapport op onze bug tracker (zet deze dan wel graag op privé).

Linux bestandsrechten

Als je een Linux server gebruikt, bepalen de bestandsrechten mede de veiligheid van de LimeSurvey installatie.

Linux/*nix bestandsrechten

Een Linux/*nix systeem is multiuser. Dat betekent dat er behalve jouw account mogelijk ook andere "gebruikers" actief zijn op het systeem. Deze "gebruikers" moeten de juiste rechten hebben.

Hint: Het instellen van bestandsrechten is bijzonder belangrijk bij configuratiebestanden, omdat hier gevoelige informatie, zoals wachtwoorden instaat.

Bear in mind that the 'root' account will always be granted permission to access your files (no matter what file permissions you set) as it is the super-admin user.

De webserver (waar LimeSurvey op draait) is ook zo'n gebruiker. Op Linux is dit waarschijnlijk de 'www','www-data' (op Debian/Ubuntu), 'apache' of 'nobody'-gebruiker. Ook kan de webhost er voor kiezen om systemen zoals 'suexec' te gebruiken om LimeSurvey-scripts uit te voeren onder jouw account. De webserver moet uiteraard de LimeSurvey-bestanden kunnen lezen. Maar slechts een klein gedeelte van de mappen moet ook schrijfbaar zijn.

Hint: Het is zeer nuttig om de schrijfrechten voor de webservergebruiker in te trekken op bepaalde mappen. Mocht er dan een beveiligingslek in de software ontdekt worden, dan worden de bestanden nog steeds beschermd door de bestandsrechten van het systeem.

Instellen van bestandsrechten op een Linuxsysteem in eigen beheer

If you're managing your web server and operating system configuration (you are the owner of the physical server or are renting a virtual server on which you have root access), you can follow the following recommendations from below.

You can first set the owner and group of your LimeSurvey files so that it will ease the file permissions setup. A possible strategy is to set the owner of the LimeSurvey files to your personal username, and the group of the LimeSurvey files to the web server group. Usually, this web server group only contains the web server account (and possibly another webmaster account). For instance, if your username is 'myaccount' and the webserver user is 'apache' in the 'apache' group, then, from a shell access, you can use the following command: $ chown -R myaccount:apache limesurvey/. Then, set the file and sub-directories permissions.

Om het script te laten werken heeft het schrijfrechten op de volgende mappen nodig:

  • De /limesurvey/application/config directory heeft Read & Write nodig voor het opslaan van de applicatie configuratie.
  • De /limesurvey/tmp directory en alle subdirectories er onder voor het importeren en uploaden
  • de upload/ directory en alle subdirectories om media te uploaden

Voor alle andere directories en bestanden volstaan leesrechten.

Hint: Als je het bovenstaand advies over het aanmaken van de eigenaar en groep hebt opgevolgd, stel dan met de volgende commando's de rechten in:

$ chmod -R o-r-w-x limesurvey/

$ chmod -R -w limesurvey/

$ chmod -R 770 limesurvey/application/config

$ chmod -R 770 limesurvey/tmp

$ chmod -R 770 limesurvey/upload

</syntaxhighlight>

Instellen van bestandsrechten op een beheerde webserver

Giving the difficulty of a standard procedure to secure a web application on a hosted environment, it is rather difficult because hosted environments differ in many ways.

Zoals bij het systeem in eigen beheer moet het script om te werken schrijfrechten hebben op de volgende mappen:

  • De /limesurvey/tmp directory en alle subdirectories er onder voor het importeren en uploaden
  • de upload/ directory en alle subdirectories om media te uploaden

Alle andere directories en bestanden kunnen af met alleen leesrechten.

Hint:
  • Afhankelijk van de configuratie van de webserver moet je de rechten met chmod wijzigen naar 755 of 777 om ze beschrijfbaar te maken voor de webserver. Probeer eerst 755: mocht dat niet werken zet ze dan op 777
  • Trek de leesrechten van anderen in door config.php te wijzigen met chmod naar 750. Werkt dat niet, zet dan de waarde op 755

Windows bestandsrechten

Als je een server op basis van Windows gebruikt, verzeker je er dan van dat alleen de eigenaar van het webserver-proces bestanden in de admin-directory kan schrijven. Op alle andere bestanden volstaan de lees- en uitvoerrechten.

Andere beveiligingszaken

De volgende tips zijn adviezen: LimeSurvey zelf is in het algemeen best veilig zonder deze aanvullende maatregelen. Mocht je een enquête met zeer vertrouwelijke data hebben, dan kan deze aanvulling je helpen:

SSL usage

We generally recommend the usage of SSL for sensitive survey data. You usually enable SSL by configuring your web server correctly and using a SSQL certificate. If you have enabled SSL, you should enforce SSL all the time from the global settings of LimeSurvey. Additionally, you could only set to use 'secure' cookies by editing the respective option in config.php.

Toegang tot het bestand config.php

  U moet het bestand application/config/config.php pas na de eerste werkende installatie aanpassen.


The /application/config/config.php file contains a user name and password for your database server. This poses certain security issues, particularly if you are using a login that has high level administrative access to your database. In the event of some error returning the content of this PHP file to a user's browser, your database password and other details could be compromised (however, this is a very unlikely scenario). The best way to minimize risk is to set up a specific login that has specific rights only to your LimeSurvey database.

Een andere manier om config.php te beveiligen is deze te verplaatsen naar een locatie buiten de webroot, bijvoorbeeld (in het geval van Apache) in de directory boven /htdocs ( de map public_html of de map www). Je gebruikt dan config.php, maar plaatst één verwijzing erin naar het echte bestand. Een voorbeeld is <?php return include("/home/hostfolder/safedata/configreal.php"); ?>. Zet vervolgens in dat bestand de gehele configuratie uit config.php. Dit bestand moet dan niet in een web-map staan. Dan bevat /application/config/config.php geen database passwords, enz., alleen de bestandsnaam van het bestand met die gegevens.

Hiermee wordt voorkomen dat alle andere bestanden die include /application/config/config.php bevatten gewijzigd moeten worden, omdat config.php ' ze doorstuurt' naar een configuratie-bestand dat op een niet-webmap staat. Je moet wel configreal.php wijzigen door de volgende parameters te wijzigen in absolute paden:

'basePath' => dirname(dirname('''FILE''')),
'runtimePath' => dirname(dirname(dirname('''FILE'''))).DIRECTORY_SEPARATOR.'tmp'.DIRECTORY_SEPARATOR.'runtime',
[...]

'urlManager' => array(
   [...]
   'rules' => require('routes.php'),
   [...]
);

Voorbeeld:

'basePath' => '/var/www/htdocs/limesurvey',
'runtimePath' => '/var/www/htdocs/limesurvey/tmp/runtime',
[...]

'urlManager' => array(
   [...]
   'rules' => require('/var/www/htdocs/limesurvey/config/routes.php'),
   [...]
);

Gebruik ook niet de naam "admin" als de standaardgebruiker. Ga naar de MySQL database (of diegene waar je LimeSurvey op hebt draaien) en wijzig de naam naar iets als "admin_xyz". Nu wordt het voor vreemden lastiger om te raden welke naam de beheerder heeft. Bedenk dat dit slechts één van de twee waarden is die iemand nodig heeft om binnen te komen: de andere is het wachtwoord. Kies deze dus ook met zorgvuldigheid.