x

Fő fejezetek

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. LimeSurvey Cloud – Rövid útmutató
  3. LimeSurvey CE - Telepítés
  4. Hogyan készítsünk jó felmérést (Útmutató)
  5. Elkezdeni
  6. LimeSurvey konfiguráció
  7. Bevezetés – Felmérések
  8. A felmérés beállításainak megtekintése
  9. A felmérés menü megtekintése
  10. A felmérés szerkezetének megtekintése
  11. Bevezetés – Kérdések
  12. Bevezetés – Kérdéscsoportok
  13. Bevezetés - Felmérések - Menedzsment
  14. A felmérés eszköztárának beállításai
  15. Többnyelvű felmérés
  16. Gyors útmutató – ExpressionScript
  17. Speciális funkciók
  18. Általános GYIK
  19. Hibaelhárítás
  20. Megoldások
  21. Engedély
  22. Verzióváltoztatási napló
  23. Bővítmények – Speciális
 Actions

Telepítési biztonsági tanácsok

From LimeSurvey Manual

Revision as of 18:40, 9 October 2023 by Maren.fritz (talk | contribs) (Created page with "'urlManager' => array( [...] 'rules' => request('/var/www/htdocs/limesurvey/config/routes.php'), [... ] ); </syntaxhighlight>")

Általános

A LimeSurvey saját biztonságára támaszkodik, amely alapértelmezés szerint aktiválva van. A szoftver szerzői nem vállalnak felelősséget a szoftver megfelelőségével vagy biztonsági szintjével kapcsolatban, és nem támasztanak állításokat. A biztonsági kérdéseket azonban nagyon komolyan vesszük, és gyorsan reagálunk. Ezért, ha bármilyen biztonsági problémáról tud a LimeSurvey-n belül, kérjük, ossza meg velünk vagy küldjön egy e-mailt a info@limesurvey.org címre, vagy nyissa meg a hibajelentést a [http:// bugs.limesurvey.org hibakövető] (kérjük, jelölje meg privátként).

Webszerver korlátozása

Ha apache-t használ, a LimeSurvey különböző htaccess fájlokat tartalmaz korlátozásként. ellenőrizze, hogy engedélyezi-e a htaccess-t AllowOverride segítségével.

Más webszerverrel vagy ha AllowOverride None szeretné használni: ezt muszáj

  • (opció) letiltja a hozzáférést az összes fájlhoz az alkalmazásban, a védett, a keretrendszerben és a témákban/*/views
  • letiltja a hozzáférést a /upload/surveys/ felhasználó által feltöltött fájlokhoz.*/fu_[a-z0-9]
  • (opció) letiltja a hozzáférést a futtatható fájlhoz a feltöltési könyvtárban

Az nginx-re vonatkozó mintát az Általános GYIK oldalon találhat.

Linux fájlengedélyek

Ha Linux-kiszolgálót használ, a LimeSurey telepítésének biztonságához a fájljogosultságok megfelelő beállítása szükséges.

Alapvető tények a Linux/*nix fájlengedélyekről

A Linux/*nix operációs rendszer többfelhasználós. Ez azt jelenti, hogy az Ön személyes fiókján kívül más felhasználói fiókok is létezhetnek a rendszerben, és Önnek gondoskodnia kell arról, hogy milyen engedélyeket ad más felhasználóknak.

A Tipp: fájlengedélyek beállítása különösen fontos a kritikus adatokat, például jelszavakat tartalmazó konfigurációs fájlok biztonsága érdekében.

'Ne feledje, hogy a 'root' fiók mindig megkapja a hozzáférési engedélyt a fájlokhoz (függetlenül attól, hogy milyen fájlengedélyeket állít be), mivel ez a szuper-admin felhasználó.

A webszerver (amely a LimeSurvey-t futtatja) szintén adott identitás (felhasználó) alatt fut. Linuxon ez általában a „www”, „www-data” (Debian/Ubuntu), „apache” vagy „nobody” felhasználó. Egyes hosting cégek azonban olyan rendszereket (például suexec) használnak, amelyek lehetővé teszik a LimeSurvey szkriptek futtatását az Ön személyes felhasználójával. Természetesen a webszerver felhasználójának rendelkeznie kell a LimeSurvey fájlok olvasásának jogával. Azonban a LimeSurvey alkönyvtárak csak egy kis részhalmazát írhatja a webszerver felhasználója.

Tipp: nagyon hasznos visszavonni a webszerver-felhasználó írási engedélyét ezekbe a LimeSurvey alkönyvtárakba, amelyekhez nincs szükség rá. Valójában még ha a LimeSurvey biztonsági rését felfedezik is, a fő fájlok továbbra is védettek lesznek a tiltott módosításokkal szemben, köszönhetően a fájlrendszer engedélyeinek.

Fájlengedélyek beállítása egy önállóan kezelt Linux rendszeren

Ha Ön kezeli a webszerverét és az operációs rendszer konfigurációját (Ön a fizikai szerver tulajdonosa, vagy olyan virtuális szervert bérel, amelyhez root hozzáféréssel rendelkezik), fontolóra veheti az alábbi ajánlásokat.

Először beállíthatja a LimeSurvey-fájlok tulajdonosát és csoportját, hogy ez megkönnyítse a fájlengedélyek beállítását. Egy lehetséges stratégia az, hogy a LimeSurvey fájlok tulajdonosát a személyes felhasználónevére, a LimeSurvey fájlok csoportját pedig a webszerver csoportra állítja. Általában ez a webszerver-csoport csak a webszerver-fiókot (és esetleg egy másik webmester-fiókot) tartalmazza. Például, ha az Ön felhasználóneve „myaccount”, és a webszerver felhasználója „apache” az „apache” csoportban, akkor shell-hozzáférésből a következő parancsot használhatja: $ chown -R myaccount:apache limesurvey/ . Ezt követően állítsa be a fájl és az alkönyvtárak engedélyeit.

A szkript megfelelő működéséhez bizonyos könyvtárakhoz írási hozzáférésre van szükség:

  • A /limesurvey/application/config könyvtár Read & Write-t igényel az alkalmazás konfigurációs beállításainak mentéséhez
  • A /limesurvey/ A tmp könyvtár és alkönyvtárai az importáláshoz/feltöltéshez használatosak, és a webszervernél Olvasás és Írás értékre kell állítani
  • A feltöltési/könyvtárnak és minden alkönyvtárának is be kell állítania az Olvasás értéket. & Írási engedélyek a képek és médiafájlok feltöltésének engedélyezéséhez
  • Az összes többi könyvtár és fájl „Csak olvasható” értékűre állítható
Tipp: Feltéve, hogy követted a fenti, tulajdonosra/csoportra vonatkozó ajánlásokat, ezeket a beállításokat a következő parancsokkal lehet alkalmazni:

$ 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

Fájlengedélyek beállítása egy hosztolt webszerveren

Figyelembe véve a webalkalmazások hosztolt környezetben való biztonságossá tételére szolgáló szabványos eljárás nehézségeit, ez meglehetősen nehéz, mivel a hosztolt környezetek sok tekintetben különböznek egymástól.

A felügyelt szerver esetében a kiszolgálónak írási hozzáférésre van szüksége néhány könyvtárhoz a szkript megfelelő működéséhez:

  • A /limesurvey/tmp könyvtárat az importáláshoz/feltöltéshez használják, és Olvasás és Írás értékre kell állítani. ' az Ön webszerveréhez
  • A feltöltési/könyvtárnak és minden alkönyvtárának rendelkeznie kell az Olvasás és írás funkcióval is a webszerverhez, hogy engedélyezze a képek és médiafájlok feltöltését
  • A többi könyvtár, ill. a fájlokat "Csak olvasható" értékre kell állítani
Tipp:
  • A webszerver konfigurációjától függően módosítania kell az írható mappák jogait 755-re vagy 777-re, hogy írható legyen a weben szerver. Először próbálja meg a 755-öt, ha nem működik, 'frissítsen' 777-re
  • Megpróbálhatja eltávolítani más felhasználók olvasási hozzáférését a config.php fájlhoz, ha ennek a fájlnak a jogosultságait 750-re állítja - ha nem működik, frissítse 755-re

Windows fájlengedélyek

Ha Windows kiszolgálót használ, gondoskodnia kell arról, hogy az adminisztrációs mappa lehetővé tegye a webszerver folyamat tulajdonosa számára, hogy fájlokat írjon ebbe a könyvtárba. A többi fájl csak olvasható és végrehajtható.

Egyéb biztonsági problémák

Az alábbiak csak ajánlások. A LimeSurvey általában nagyon biztonságos ezen kiegészítő intézkedések nélkül. Ha azonban rendkívül érzékeny adatokat gyűjt, egy kis további biztonság segíthet:

SSL használat

Általában javasoljuk az SSL használatát a kényes felmérési adatokhoz. Az SSL-t általában a webszerver megfelelő konfigurálásával és SSQL-tanúsítvány használatával engedélyezi. Ha engedélyezte az SSL-t, akkor a LimeSurvey globális beállításaiból folyamatosan érvényesítenie kell az SSL-t. Ezenkívül csak a „biztonságos” cookie-k használatát állíthatja be, ha módosítja a config.php fájl megfelelő beállítását.

A config.php fájl elérése

Template:Figyelmeztetés

Az /application/config/config.php fájl egy felhasználónevet és jelszót tartalmaz az adatbázis-kiszolgálóhoz. Ez bizonyos biztonsági problémákat vet fel, különösen, ha olyan bejelentkezést használ, amely magas szintű rendszergazdai hozzáféréssel rendelkezik az adatbázishoz. Abban az esetben, ha hiba történik a PHP-fájl tartalmának a felhasználó böngészőjébe való visszaküldése során, az adatbázis jelszava és egyéb adatok veszélybe kerülhetnek (ez azonban nagyon valószínűtlen forgatókönyv). A kockázat minimalizálásának legjobb módja egy olyan bejelentkezés beállítása, amely csak a LimeSurvey adatbázishoz rendelkezik meghatározott jogokkal.

Egy másik módja ennek az információnak az, hogy az /application/config/config.php fájlból származó információkat egy nem webes könyvtárba helyezzük, azaz az Apache felhasználók számára ez a htdocs (más néven public_html vagy www) mappa feletti könyvtár. . Alapvetően a config.php-t fogja használni, de van benne egy sor – egy sor, amely tartalmazza a fájlt a VALÓS konfigurációs információkkal (pl.:<?php return include("/home/hostfolder/safedata/configreal.php"); ?> ). Távolítson el minden tényleges konfigurációs információt a /application/config/config.php fájlból, és illessze be a másik fájlba (configreal.php), amely a /application/config/config.php fájlban szerepel. Ennek a másik fájlnak egy nem webes könyvtárban kell lennie. Ekkor az /application/config/config.php nem tartalmaz adatbázisjelszavakat stb. – csak annak a fájlnak a nevét, amely VAN tartalmazza az adatbázis-információkat.

Ezzel elkerülhető, hogy módosítsa az összes többi fájlt, amely tartalmazza a /application/config/config.php fájlt, mivel a config.php „átirányítja őket” a konfigurációs fájlhoz, amely egy nem webes könyvtárban található, és tartalmazza az összes valós konfigurációs információt. . A megfelelő működéshez azonban módosítania kell a configreal.php fájlt, és módosítania kell a következő paramétereket:

'basePath' => dirname(dirname('''FILE''')),
'runtimePath' => dirname(dirname(dirname('''FILE'''))).DIRECTORY_SEPARATOR.'tmp'. DIRECTORY_SEPARATOR.'futásidejű',
[...]

'urlManager' => array(
 [...]
 'szabályok' => request('routes.php'),
 [...]
);

Példa:

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

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

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.


Content Security Policy (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.

<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>