Actions

Installation security hints/ro: Difference between revisions

From LimeSurvey Manual

(Created page with "Dacă utilizați un server Linux, setarea permisiunilor de fișiere în consecință este necesară pentru a vă securiza instalarea LimeSurey.")
(Created page with "''' DECLINAREA RESPONSABILITĂȚII - CSP-ul furnizat aici este doar un exemplu și nu este menit să fie folosit literal. Este menit ca un punct de plecare și TREBUIE să îl...")
 
(28 intermediate revisions by the same user not shown)
Line 22: Line 22:
Dacă utilizați un server Linux, setarea permisiunilor de fișiere în consecință este necesară pentru a vă securiza instalarea LimeSurey.
Dacă utilizați un server Linux, setarea permisiunilor de fișiere în consecință este necesară pentru a vă securiza instalarea LimeSurey.


===Basic facts about Linux/*nix file permissions===
===Informații de bază despre permisiunile pentru fișierele Linux/*nix===


A Linux/*nix operating system is multi-user. This means that, apart from your personal account, other user accounts may exist on the system and you should take care of what permissions you give to other users.
Un sistem de operare Linux/*nix este multi-utilizator. Aceasta înseamnă că, în afară de contul personal, pot exista și alte conturi de utilizator în sistem și ar trebui să aveți grijă de ce permisiuni le acordați altor utilizatori.


<div class="simplebox">[[File:help.png]] '''Hint:''' setting file permissions is especially important in order to secure configuration files holding critical data such as passwords.</div>
<div class="simplebox">[[File:help.png]] '''Sugestie:''' setarea permisiunilor fișierelor este deosebit de importantă pentru a securiza fișierele de configurare care conțin date critice, cum ar fi parolele.</div>


'''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.'''
'''Rețineți că contul „rădăcină” va primi întotdeauna permisiunea de a vă accesa fișierele (indiferent de permisiunile de fișiere pe care le setați), deoarece este utilizatorul super-administrator.'''


The web server (which runs LimeSurvey) is also running under a given identity (user). On Linux, this is usually the 'www', 'www-data' (on Debian/Ubuntu), 'apache' or 'nobody' user. However, some hosting companies use systems (such as suexec) that make it possible to run LimeSurvey scripts with your personal user. Of course, the web server user must have the right to read LimeSurvey files. However, only a small subset of LimeSurvey sub-directories must be writable by the web server user.
Serverul web (care rulează LimeSurvey) rulează și sub o anumită identitate (utilizator). Pe Linux, acesta este de obicei utilizatorul „www”, „www-data” (pe Debian/Ubuntu), „apache” sau „nimeni”. Cu toate acestea, unele companii de găzduire folosesc sisteme (cum ar fi suexec) care fac posibilă rularea scripturilor LimeSurvey cu utilizatorul personal. Desigur, utilizatorul serverului web trebuie să aibă dreptul de a citi fișierele LimeSurvey. Cu toate acestea, doar un mic subset de subdirectoare LimeSurvey trebuie să poată fi scris de către utilizatorul serverului web.


<div class="simplebox">[[File:help.png]] '''Hint''': it is very valuable to revoke write permission for the web server user to these LimeSurvey sub-directories that do not require it. Indeed, even if a LimeSurvey vulnerability might be discovered, the main files will still be protected from an illicit modification thanks to the file system permissions.</div>
<div class="simplebox">[[File:help.png]] '''Sugestie''': este foarte valoros să revocați permisiunea de scriere pentru utilizatorul serverului web în aceste subdirectoare LimeSurvey care nu o necesită. Într-adevăr, chiar dacă ar putea fi descoperită o vulnerabilitate LimeSurvey, fișierele principale vor fi totuși protejate de o modificare ilegală datorită permisiunilor sistemului de fișiere.</div>


===Setting file permissions on a self-managed Linux system===
===Setarea permisiunilor de fișiere pe un sistem Linux autogestionat===


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 may consider the following recommendations from below.
Dacă vă gestionați serverul web și configurația sistemului de operare (sunteți proprietarul serverului fizic sau închiriați un server virtual pe care aveți acces root), puteți lua în considerare următoarele recomandări de mai jos.


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: <code>$ chown -R myaccount:apache limesurvey/</code>. Subsequently, set the file and sub-directories permissions.
Puteți seta mai întâi proprietarul și grupul fișierelor dvs. LimeSurvey, astfel încât să ușureze configurarea permisiunilor fișierelor. O posibilă strategie este să setați proprietarul fișierelor LimeSurvey la numele dvs. de utilizator personal și grupul de fișiere LimeSurvey la grupul de server web. De obicei, acest grup de servere web conține doar contul de server web (și posibil un alt cont de webmaster). De exemplu, dacă numele dvs. de utilizator este „myaccount” și utilizatorul webserver este „apache” în grupul „apache”, atunci, dintr-un acces shell, puteți utiliza următoarea comandă: <code>$ chown -R myaccount:apache limesurvey/</code> . Ulterior, setați permisiunile pentru fișiere și subdirectoare.


For the script to work properly, the write access to some directories is needed:
Pentru ca scriptul să funcționeze corect, este necesar accesul de scriere la unele directoare:
*The /limesurvey/application/config directory requires ''Read & Write'' for saving the application configuration settings
*Directorul /limesurvey/application/config necesită „Citire și scriere” pentru salvarea setărilor de configurare a aplicației
*The /limesurvey/tmp directory and its sub-directories are used for imports/uploads and should be set to ''Read & Write'' for your web server
* /limesurvey/ Directorul tmp și subdirectoarele sale sunt folosite pentru importuri/încărcări și ar trebui să fie setate la „Citește și scrie” pentru serverul tău web! N!*Încărcarea/directoarele și toate subdirectoarele trebuie să aibă, de asemenea, setat „Citește Permisiuni de & Scriere pentru a permite încărcarea imaginilor și a fișierelor media
*The upload/directory and all its sub-directories must also have set ''Read & Write'' permissions in order to enable pictures and media files upload
* Toate celelalte directoare și fișiere pot fi setate la „Numai citire”
* All other directories and files can be set to ''Read Only''


<div class="simplebox">[[File:help.png]] '''Hint:''' supposing you've followed the recommendations above on owner/group, these settings can be applied by the following commands:
<div class="simplebox">[[File:help.png]] '''Sugestie:''' presupunând că ați urmat recomandările de mai sus cu privire la proprietar/grup, aceste setări pot fi aplicate prin următoarele comenzi:


<code>$ chmod -R o-r-w-x limesurvey/</code>
<code>$ chmod -R o-r-w-x limesurvey/</code>
Line 60: Line 59:
</div>
</div>


===Setting file permissions on a hosted web server===
===Setarea permisiunilor de fișiere pe un server web găzduit===


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.
Având în vedere dificultatea unei proceduri standard de a securiza o aplicație web într-un mediu găzduit, este destul de dificil deoarece mediile găzduite diferă în multe privințe.


In the managed server case, the server needs write access to some directories in order for the script to work properly:
În cazul serverului gestionat, serverul are nevoie de acces de scriere la unele directoare pentru ca scriptul să funcționeze corect:
*The /limesurvey/tmp directory is used for imports/uploads and should be set to ''Read & Write'' for your web server
*Directorul /limesurvey/tmp este folosit pentru importuri/încărcări și ar trebui să fie setat la „Citește și scrie” ' pentru serverul dvs. web
*The upload/directory and all its sub-directories must also have ''Read & Write'' for your web server in order to enable pictures and media files upload
*Încărcarea/directorul și toate subdirectoarele sale trebuie să aibă, de asemenea, „Citire și scriere” pentru serverul dvs. web pentru a permite încărcarea imaginilor și fișierelor media
* The other directories and files should be set to ''Read Only''
* Celelalte directoare și fișierele ar trebui să fie setate la „Numai citire”


<div class="simplebox">[[File:help.png]] '''Hint:'''
<div class="simplebox">[[File:help.png]] '''Sugestie:'''
* Depending on your web server configuration, you will have to chmod the rights on the writable folders to 755 or 777 to make it writable for the web server. Try 755 first, if it does not work, 'upgrade' to 777
* În funcție de configurația serverului dvs. web, va trebui să modificați drepturile de pe folderele inscriptibile la 755 sau 777 pentru a le face inscriptibile pentru web Server. Încercați mai întâi 755, dacă nu funcționează, „upgrade” la 777
* You can also try to remove other users' read access to config.php by setting this file's permissions to 750 - if it does not work, 'upgrade' to 755</div>
* Puteți încerca, de asemenea, să eliminați accesul de citire al altor utilizatori la config.php setând permisiunile acestui fișier la 750 - dacă nu funcționează, „upgrade”. 'la 755</div>


==Windows file permissions==
==Permisiunile fișierelor Windows==


If you are using a Windows server, your should ensure that the admin folder allows the owner of the web server process to write files to this directory, The rest of the files can be set to read-only and execute.
Dacă utilizați un server Windows, trebuie să vă asigurați că folderul admin permite proprietarului procesului serverului web să scrie fișiere în acest director. Restul fișierelor pot fi setate doar pentru citire și executate.


==Other security issues==
==Alte probleme de securitate==


The following are recommendations only. LimeSurvey in general is very safe without these additional measures. If you however collect extremely sensitive data, a little additional security can help:
Următoarele sunt doar recomandări. LimeSurvey în general este foarte sigur fără aceste măsuri suplimentare. Dacă totuși colectați date extrem de sensibile, puțină securitate suplimentară vă poate ajuta:


===SSL usage===
===Utilizarea SSL===
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|global settings]] of LimeSurvey. Additionally, you could only set to use 'secure' cookies by editing the [[Optional_settings|respective option]] in config.php.
Recomandăm, în general, utilizarea SSL pentru datele sensibile ale sondajului. De obicei, activați SSL configurând corect serverul dvs. web și utilizând un certificat SSQL. Dacă ați activat SSL, ar trebui să aplicați SSL tot timpul din [[Global_settings|setările globale]] ale LimeSurvey. În plus, puteți seta să utilizați cookie-uri „securizate” doar prin editarea [[Optional_settings|opțiunea corespunzătoare]] în config.php.


=== The access to the config.php file ===
=== Accesul la fișierul config.php ===


{{Alert| You must update application/config/'''config.php''' only after the first installation is done and it works.}}  
{{Alerta| Trebuie să actualizați application/config/'''config.php''' numai după ce prima instalare este finalizată și funcționează.}}  


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.
Fișierul /application/config/config.php conține un nume de utilizator și o parolă pentru serverul dumneavoastră de baze de date. Acest lucru ridică anumite probleme de securitate, în special dacă utilizați o autentificare care are acces administrativ de nivel înalt la baza de date. În cazul unei erori la returnarea conținutului acestui fișier PHP în browserul unui utilizator, parola bazei de date și alte detalii ar putea fi compromise (cu toate acestea, acesta este un scenariu foarte puțin probabil). Cea mai bună modalitate de a minimiza riscul este să configurați o anumită autentificare care are drepturi specifice numai pentru baza de date LimeSurvey.


Another way to secure this information can be to put the information from the /application/config/config.php file in a non-web directory, i.e. for Apache users this is the directory above the htdocs (also known as public_html or www) folder. Basically, you will use config.php, but have one line in it - a line that includes the file with ACTUAL configuration information (ex: <code><?php return include("/home/hostfolder/safedata/configreal.php"); ?></code>). Remove all actual configuration information from /application/config/config.php and paste it into the other file (configreal.php) that is mentioned in the /application/config/'''config.php''' file. This other file should be located in a non-web directory. Then, /application/config/config.php will not contain database passwords etc. - just the name of the file that '''DOES''' contain the database info.  
O altă modalitate de a securiza aceste informații poate fi să plasați informațiile din fișierul /application/config/config.php într-un director non-web, adică pentru utilizatorii Apache acesta este directorul de deasupra folderului htdocs (cunoscut și ca public_html sau www) . Practic, veți folosi config.php, dar aveți o linie în el - o linie care include fișierul cu informații de configurare ACTUALĂ (ex:<?php return include("/home/hostfolder/safedata/configreal.php"); ?> ). Eliminați toate informațiile de configurare reale din /application/config/config.php și inserați-le în celălalt fișier (configreal.php) care este menționat în fișierul /application/config/'''config.php'''. Acest alt fișier ar trebui să fie localizat într-un director non-web. Apoi, /application/config/config.php nu va conține parolele bazei de date etc. - doar numele fișierului care „''DOES''' conține informațiile bazei de date.  


This avoids having to change all the other files that include /application/config/config.php, since config.php 're-directs them' towards the configuration file that is located in a non-web directory which includes all the real configuration information. However, you will need to edit configreal.php and change the follow parameters to use absolute directory paths to work properly:
Acest lucru evită schimbarea tuturor celorlalte fișiere care includ /application/config/config.php, deoarece config.php „le redirecționează” către fișierul de configurare care se află într-un director non-web care include toate informațiile reale de configurare . Cu toate acestea, va trebui să editați configreal.php și să modificați următorii parametri pentru a utiliza căile absolute ale directorului pentru a funcționa corect:


<syntaxhighlight lang="php">
<syntaxhighlight lang="php">


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


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


Example:
Exemplu:


<syntaxhighlight lang="php">
<syntaxhighlight lang="php">
Line 115: Line 114:


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


Also, '''don't use "admin" as the default user'''. Go to your MySQL database (or the one in which you installed LimeSurvey) and change default user name "admin" to whatever you prefer (e.g. "admin_xyz"). It will now be much harder to guess the administrator's new user name. Remember, this is one of the two variables intruders can use to gain access. The admin password is the other variable. So choose both of them with extreme caution.
De asemenea, „nu folosiți „admin” ca utilizator implicit”. Accesați baza de date MySQL (sau cea în care ați instalat LimeSurvey) și schimbați numele de utilizator implicit „admin” cu orice preferi (de exemplu, „admin_xyz”). Acum va fi mult mai greu de ghicit noul nume de utilizator al administratorului. Amintiți-vă, aceasta este una dintre cele două variabile pe care intrușii le pot folosi pentru a obține acces. Parola de administrator este cealaltă variabilă. Așa că alegeți-le pe amândouă cu precauție extremă.




=== Content Security Policy (CSP) ===
=== Politica de securitate a conținutului (CSP) ===


'''DISCLAIMER - The CSP provided here is an example only and is not meant to used verbatim. It is meant as a starting point and you MUST adapt it to your needs and test it thoroughly.'''
''' DECLINAREA RESPONSABILITĂȚII - CSP-ul furnizat aici este doar un exemplu și nu este menit să fie folosit literal. Este menit ca un punct de plecare și TREBUIE să îl adaptați nevoilor dumneavoastră și să îl testați temeinic.'''
<nowiki><IfModule mod_headers.c>
<nowiki><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"
Antetul setat întotdeauna 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></nowiki>
</IfModule></nowiki>

Latest revision as of 09:00, 3 November 2023

General

LimeSurvey se bazează pe propria sa securitate, care este activată implicit. Autorii acestui software nu își asumă nicio responsabilitate și nu fac pretenții cu privire la caracterul adecvat sau nivelul de securitate al acestui software. Cu toate acestea, luăm problemele de securitate foarte în serios și reacționăm rapid. Prin urmare, dacă cunoașteți probleme de securitate în cadrul LimeSurvey, vă rugăm să ne anunțați fie trimițându-ne un e-mail la info@limesurvey.org, fie deschizând un raport de eroare în [http:// bugs.limesurvey.org bug tracker] (vă rugăm să îl marcați ca privat).

Restricție server web

Dacă utilizați apache, LimeSurvey include fișiere htaccess diferite pentru restricții. verificați că ați inclus htaccess cu AllowOverride .

Cu alt server web sau dacă doriți să utilizați AllowOverride None : trebuie

  • (opțiune) dezactivați accesul la toate fișierele din aplicație, protejate, cadru și teme/*/views
  • dezactivați accesul la fișierele încărcate de către utilizator /upload/surveys/.*/fu_[a-z0-9]
  • (opțiune) dezactivează accesul la fișierul executabil din directorul de încărcare

Puteți găsi o mostră pentru nginx pe General FAQ

Permisiunile fișierelor Linux

Dacă utilizați un server Linux, setarea permisiunilor de fișiere în consecință este necesară pentru a vă securiza instalarea LimeSurey.

Informații de bază despre permisiunile pentru fișierele Linux/*nix

Un sistem de operare Linux/*nix este multi-utilizator. Aceasta înseamnă că, în afară de contul personal, pot exista și alte conturi de utilizator în sistem și ar trebui să aveți grijă de ce permisiuni le acordați altor utilizatori.

Sugestie: setarea permisiunilor fișierelor este deosebit de importantă pentru a securiza fișierele de configurare care conțin date critice, cum ar fi parolele.

Rețineți că contul „rădăcină” va primi întotdeauna permisiunea de a vă accesa fișierele (indiferent de permisiunile de fișiere pe care le setați), deoarece este utilizatorul super-administrator.

Serverul web (care rulează LimeSurvey) rulează și sub o anumită identitate (utilizator). Pe Linux, acesta este de obicei utilizatorul „www”, „www-data” (pe Debian/Ubuntu), „apache” sau „nimeni”. Cu toate acestea, unele companii de găzduire folosesc sisteme (cum ar fi suexec) care fac posibilă rularea scripturilor LimeSurvey cu utilizatorul personal. Desigur, utilizatorul serverului web trebuie să aibă dreptul de a citi fișierele LimeSurvey. Cu toate acestea, doar un mic subset de subdirectoare LimeSurvey trebuie să poată fi scris de către utilizatorul serverului web.

Sugestie: este foarte valoros să revocați permisiunea de scriere pentru utilizatorul serverului web în aceste subdirectoare LimeSurvey care nu o necesită. Într-adevăr, chiar dacă ar putea fi descoperită o vulnerabilitate LimeSurvey, fișierele principale vor fi totuși protejate de o modificare ilegală datorită permisiunilor sistemului de fișiere.

Setarea permisiunilor de fișiere pe un sistem Linux autogestionat

Dacă vă gestionați serverul web și configurația sistemului de operare (sunteți proprietarul serverului fizic sau închiriați un server virtual pe care aveți acces root), puteți lua în considerare următoarele recomandări de mai jos.

Puteți seta mai întâi proprietarul și grupul fișierelor dvs. LimeSurvey, astfel încât să ușureze configurarea permisiunilor fișierelor. O posibilă strategie este să setați proprietarul fișierelor LimeSurvey la numele dvs. de utilizator personal și grupul de fișiere LimeSurvey la grupul de server web. De obicei, acest grup de servere web conține doar contul de server web (și posibil un alt cont de webmaster). De exemplu, dacă numele dvs. de utilizator este „myaccount” și utilizatorul webserver este „apache” în grupul „apache”, atunci, dintr-un acces shell, puteți utiliza următoarea comandă: $ chown -R myaccount:apache limesurvey/ . Ulterior, setați permisiunile pentru fișiere și subdirectoare.

Pentru ca scriptul să funcționeze corect, este necesar accesul de scriere la unele directoare:

  • Directorul /limesurvey/application/config necesită „Citire și scriere” pentru salvarea setărilor de configurare a aplicației
  • /limesurvey/ Directorul tmp și subdirectoarele sale sunt folosite pentru importuri/încărcări și ar trebui să fie setate la „Citește și scrie” pentru serverul tău web! N!*Încărcarea/directoarele și toate subdirectoarele trebuie să aibă, de asemenea, setat „Citește Permisiuni de & Scriere pentru a permite încărcarea imaginilor și a fișierelor media
  • Toate celelalte directoare și fișiere pot fi setate la „Numai citire”
Sugestie: presupunând că ați urmat recomandările de mai sus cu privire la proprietar/grup, aceste setări pot fi aplicate prin următoarele comenzi:

$ 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

Setarea permisiunilor de fișiere pe un server web găzduit

Având în vedere dificultatea unei proceduri standard de a securiza o aplicație web într-un mediu găzduit, este destul de dificil deoarece mediile găzduite diferă în multe privințe.

În cazul serverului gestionat, serverul are nevoie de acces de scriere la unele directoare pentru ca scriptul să funcționeze corect:

  • Directorul /limesurvey/tmp este folosit pentru importuri/încărcări și ar trebui să fie setat la „Citește și scrie” ' pentru serverul dvs. web
  • Încărcarea/directorul și toate subdirectoarele sale trebuie să aibă, de asemenea, „Citire și scriere” pentru serverul dvs. web pentru a permite încărcarea imaginilor și fișierelor media
  • Celelalte directoare și fișierele ar trebui să fie setate la „Numai citire”
Sugestie:
  • În funcție de configurația serverului dvs. web, va trebui să modificați drepturile de pe folderele inscriptibile la 755 sau 777 pentru a le face inscriptibile pentru web Server. Încercați mai întâi 755, dacă nu funcționează, „upgrade” la 777
  • Puteți încerca, de asemenea, să eliminați accesul de citire al altor utilizatori la config.php setând permisiunile acestui fișier la 750 - dacă nu funcționează, „upgrade”. 'la 755

Permisiunile fișierelor Windows

Dacă utilizați un server Windows, trebuie să vă asigurați că folderul admin permite proprietarului procesului serverului web să scrie fișiere în acest director. Restul fișierelor pot fi setate doar pentru citire și executate.

Alte probleme de securitate

Următoarele sunt doar recomandări. LimeSurvey în general este foarte sigur fără aceste măsuri suplimentare. Dacă totuși colectați date extrem de sensibile, puțină securitate suplimentară vă poate ajuta:

Utilizarea SSL

Recomandăm, în general, utilizarea SSL pentru datele sensibile ale sondajului. De obicei, activați SSL configurând corect serverul dvs. web și utilizând un certificat SSQL. Dacă ați activat SSL, ar trebui să aplicați SSL tot timpul din setările globale ale LimeSurvey. În plus, puteți seta să utilizați cookie-uri „securizate” doar prin editarea opțiunea corespunzătoare în config.php.

Accesul la fișierul config.php

Template:Alerta

Fișierul /application/config/config.php conține un nume de utilizator și o parolă pentru serverul dumneavoastră de baze de date. Acest lucru ridică anumite probleme de securitate, în special dacă utilizați o autentificare care are acces administrativ de nivel înalt la baza de date. În cazul unei erori la returnarea conținutului acestui fișier PHP în browserul unui utilizator, parola bazei de date și alte detalii ar putea fi compromise (cu toate acestea, acesta este un scenariu foarte puțin probabil). Cea mai bună modalitate de a minimiza riscul este să configurați o anumită autentificare care are drepturi specifice numai pentru baza de date LimeSurvey.

O altă modalitate de a securiza aceste informații poate fi să plasați informațiile din fișierul /application/config/config.php într-un director non-web, adică pentru utilizatorii Apache acesta este directorul de deasupra folderului htdocs (cunoscut și ca public_html sau www) . Practic, veți folosi config.php, dar aveți o linie în el - o linie care include fișierul cu informații de configurare ACTUALĂ (ex:<?php return include("/home/hostfolder/safedata/configreal.php"); ?> ). Eliminați toate informațiile de configurare reale din /application/config/config.php și inserați-le în celălalt fișier (configreal.php) care este menționat în fișierul /application/config/'config.php. Acest alt fișier ar trebui să fie localizat într-un director non-web. Apoi, /application/config/config.php nu va conține parolele bazei de date etc. - doar numele fișierului care „DOES conține informațiile bazei de date.

Acest lucru evită schimbarea tuturor celorlalte fișiere care includ /application/config/config.php, deoarece config.php „le redirecționează” către fișierul de configurare care se află într-un director non-web care include toate informațiile reale de configurare . Cu toate acestea, va trebui să editați configreal.php și să modificați următorii parametri pentru a utiliza căile absolute ale directorului pentru a funcționa corect:

'basePath' => dirname(dirname('''FIȘIER''')),
'runtimePath' => dirname(dirname(dirname('''FIȘIER'''))).DIRECTORY_SEPARATOR.'tmp'. DIRECTORY_SEPARATOR.'runtime',
[...]

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

Exemplu:

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

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

De asemenea, „nu folosiți „admin” ca utilizator implicit”. Accesați baza de date MySQL (sau cea în care ați instalat LimeSurvey) și schimbați numele de utilizator implicit „admin” cu orice preferi (de exemplu, „admin_xyz”). Acum va fi mult mai greu de ghicit noul nume de utilizator al administratorului. Amintiți-vă, aceasta este una dintre cele două variabile pe care intrușii le pot folosi pentru a obține acces. Parola de administrator este cealaltă variabilă. Așa că alegeți-le pe amândouă cu precauție extremă.


Politica de securitate a conținutului (CSP)

DECLINAREA RESPONSABILITĂȚII - CSP-ul furnizat aici este doar un exemplu și nu este menit să fie folosit literal. Este menit ca un punct de plecare și TREBUIE să îl adaptați nevoilor dumneavoastră și să îl testați temeinic. <IfModule mod_headers.c> Antetul setat întotdeauna 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>