Actions

Telepítési biztonsági tanácsok

From LimeSurvey Manual

This page is a translated version of the page Installation security hints and the translation is 100% complete.

Á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'),
 [... ]
);

Ezenkívül ne használja az "admin"-t alapértelmezett felhasználóként. Nyissa meg a MySQL adatbázist (vagy azt, amelybe telepítette a LimeSurvey-t), és módosítsa az alapértelmezett "admin" felhasználónevet arra, amit szeretne (pl. "admin_xyz"). Most sokkal nehezebb lesz kitalálni a rendszergazda új felhasználónevét. Ne feledje, ez az egyike annak a két változónak, amelyet a behatolók használhatnak a hozzáféréshez. Az adminisztrátori jelszó a másik változó. Ezért nagyon óvatosan válassza mindkettőt.


Tartalombiztonsági szabályzat (CSP)

NYILATKOZAT – Az itt megadott CSP csak példa, és nem szó szerint használható. Kiindulópontnak szánja, és az Ön igényeihez KELL igazítania és alaposan tesztelnie kell. <IfModule mod_headers.c> A fejléc mindig beállítva: Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' "nem biztonságos inline"; base-uri 'none '; form-action 'self'; keret-elődök 'self'; upgrade-insecure-requests" "expr=%{CONTENT_TYPE} =~ m#text\/(html|javascript)|application\/pdf|xml#i " </IfModule>