x

Hlavné kapitoly

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. Rýchly sprievodca - LimeSurvey 3.0+
  3. Inštalácia - LimeSurvey CE
  4. Ako vytvoriť dobrý prieskum (príručka)
  5. Začíname
  6. Správa LimeSurvey
  7. Prieskumy - úvod
  8. Nastavenia prieskumu
  9. Menu prieskumu
  10. Štruktúra prieskumu
  11. Otázky – úvod
  12. Skupiny otázok - úvod
  13. Prieskumy - správa
  14. Možnosti panela nástrojov prieskumu
  15. Viacjazyčný prieskum
  16. ExpressionScript Engine - Príručka rýchleho štartu
  17. Nezaradené a pokročilé funkcie
  18. Všeobecné časté otázky
  19. Riešenie problémov
  20. Riešenia a obchádzky
  21. Licencia
  22. Záznam zmien verzií
  23. Doplnky
 Actions

Tipy na zabezpečenie inštalácie

From LimeSurvey Manual

Táto stránka mohla byť preložená strojovo a môže obsahovať chyby. Zobraziť anglický originál · Vylepšiť tento preklad
This page is a translated version of the page Installation security hints and the translation is 100% complete.

Všeobecne

Upozorňujeme, že bezpečnostné problémy berieme veľmi vážne a rýchlo na ne reagujeme. Ak preto viete o akýchkoľvek bezpečnostných problémoch v LimeSurvey, dajte nám vedieť vytvorením hlásenia chyby v našom systéme na sledovanie chýb (označte chybu závažnosťou alebo kategóriou 'security').

Podrobnosti o hlásení bezpečnostných problémov a zraniteľností nájdete v našej Bezpečnostnej politike.

Obmedzenia webového servera

Ak používate Apache, LimeSurvey obsahuje na obmedzenie prístupu rôzne súbory htaccess. Overte, či máte povolené používanie priložených súborov htaccess pomocou AllowOverride.

Pri inom webovom serveri alebo ak chcete použiť AllowOverride None musíte:

  • (voliteľné) zakázať prístup ku všetkým súborom v adresároch application, protected, framework a themes/*/views
  • zakázať prístup k súborom nahraným používateľom v /upload/surveys/.*/fu_[a-z0-9]
  • (voliteľné) zakázať spúšťanie spustiteľných súborov v adresári upload

Ukážku konfigurácie pre nginx nájdete v našich Všeobecných častých otázkach

Povolenia súborov v systéme Linux

Ak používate server so systémom Linux, na zabezpečenie inštalácie LimeSurvey je potrebné správne nastaviť povolenia súborov.

Základné informácie o povoleniach súborov v systémoch Linux/*nix

Operačný systém Linux/*nix je viacpoužívateľský. To znamená, že okrem vášho osobného účtu môžu v systéme existovať ďalšie používateľské účty a mali by ste dbať na to, aké povolenia udeľujete ostatným používateľom.

Tip: nastavenie povolení súborov je obzvlášť dôležité na zabezpečenie konfiguračných súborov obsahujúcich citlivé údaje, ako sú heslá.

Pamätajte, že účet 'root' bude mať vždy povolenie na prístup k vašim súborom (bez ohľadu na nastavené povolenia súborov), pretože ide o používateľa so superadministrátorskými právami.

Webový server (na ktorom beží LimeSurvey) tiež beží pod určitou identitou (používateľom). V systéme Linux je to zvyčajne používateľ 'www', 'www-data' (v Debiane/Ubuntu), 'apache' alebo 'nobody'. Niektoré hostingové spoločnosti však používajú systémy (napríklad suexec), ktoré umožňujú spúšťať skripty LimeSurvey pod vaším osobným používateľom. Používateľ webového servera samozrejme musí mať právo čítať súbory LimeSurvey. Zapisovať však musí môcť len malá podmnožina podadresárov LimeSurvey.

Tip: je veľmi užitočné odobrať používateľovi webového servera povolenie na zápis v tých podadresároch LimeSurvey, ktoré ho nevyžadujú. Aj keby sa totiž objavila zraniteľnosť LimeSurvey, hlavné súbory budú vďaka povoleniam súborového systému stále chránené pred neoprávnenou úpravou.

Nastavenie povolení súborov v samostatne spravovanom systéme Linux

Ak spravujete konfiguráciu webového servera a operačného systému (ste vlastníkom fyzického servera alebo si prenajímate virtuálny server s prístupom root), môžete zvážiť nasledujúce odporúčania.

Najskôr môžete nastaviť vlastníka a skupinu súborov LimeSurvey, aby bolo nastavenie povolení súborov jednoduchšie. Možnou stratégiou je nastaviť vlastníka súborov LimeSurvey na vaše osobné používateľské meno a skupinu súborov LimeSurvey na skupinu webového servera. Táto skupina webového servera zvyčajne obsahuje iba účet webového servera (a prípadne ďalší účet webmastera). Ak je napríklad vaše používateľské meno 'myaccount' a používateľ webového servera je 'apache' v skupine 'apache', môžete z príkazového riadka použiť nasledujúci príkaz: $ chown -R myaccount:apache limesurvey/. Potom nastavte povolenia súborov a podadresárov.

Aby skript fungoval správne, je potrebný prístup na zápis do niektorých adresárov:

  • Adresár /limesurvey/application/config vyžaduje čítanie a zápis na ukladanie nastavení konfigurácie aplikácie
  • Adresár /limesurvey/tmp a jeho podadresáre sa používajú na importy/nahrávanie a mali by mať pre váš webový server nastavené čítanie a zápis
  • Adresár upload/ a všetky jeho podadresáre musia mať tiež nastavené povolenia čítanie a zápis, aby bolo možné nahrávať obrázky a mediálne súbory
  • Všetky ostatné adresáre a súbory môžu mať nastavené iba čítanie

Nastavenie povolení súborov na hostovanom webovom serveri

Štandardný postup zabezpečenia webovej aplikácie v hostovanom prostredí je náročné stanoviť, pretože hostované prostredia sa líšia v mnohých ohľadoch.

V prípade spravovaného servera potrebuje server na to, aby skript fungoval správne, prístup na zápis do niektorých adresárov:

  • Adresár /limesurvey/tmp sa používa na importy/nahrávanie a mal by mať pre váš webový server nastavené čítanie a zápis
  • Adresár upload/ a všetky jeho podadresáre musia mať pre váš webový server tiež nastavené čítanie a zápis, aby bolo možné nahrávať obrázky a mediálne súbory
  • Ostatné adresáre a súbory by mali mať nastavené iba čítanie
Tip:
  • V závislosti od konfigurácie webového servera budete musieť pomocou chmod nastaviť práva na zapisovateľné priečinky na 755 alebo 777, aby do nich mohol webový server zapisovať. Skúste najskôr 755, ak to nefunguje, 'zvýšte' na 777
  • Môžete tiež skúsiť odobrať ostatným používateľom právo čítať súbor config.php nastavením povolení tohto súboru na 750 - ak to nefunguje, 'zvýšte' na 755

Povolenia súborov v systéme Windows

Ak používate server so systémom Windows, mali by ste zabezpečiť, aby priečinok admin umožňoval vlastníkovi procesu webového servera zapisovať súbory do tohto adresára. Ostatné súbory môžu mať nastavené iba čítanie a spustenie.

Ďalšie bezpečnostné otázky

Nasledujúce body sú iba odporúčania. LimeSurvey je vo všeobecnosti veľmi bezpečný aj bez týchto dodatočných opatrení. Ak však zbierate mimoriadne citlivé údaje, môže pomôcť trochu viac zabezpečenia:

Používanie SSL

Pri citlivých údajoch z prieskumov vo všeobecnosti odporúčame používať SSL. SSL zvyčajne zapnete správnou konfiguráciou webového servera a použitím certifikátu SSL. Ak ste SSL zapli, mali by ste ho vynucovať neustále v globálnych nastaveniach LimeSurvey. Okrem toho môžete nastaviť používanie 'secure' cookies úpravou príslušnej možnosti v súbore config.php.

Prístup k súboru config.php

  Súbor application/config/config.php môžete upraviť až po dokončení prvej inštalácie a keď funguje.


Súbor /application/config/config.php obsahuje používateľské meno a heslo k vášmu databázovému serveru. To predstavuje určité bezpečnostné riziká, najmä ak používate prihlasovacie údaje s vysokou úrovňou administratívneho prístupu k databáze. V prípade chyby, pri ktorej by sa obsah tohto súboru PHP zobrazil v prehliadači používateľa, by mohlo dôjsť k prezradeniu hesla k databáze a ďalších podrobností (je to však veľmi nepravdepodobný scenár). Najlepším spôsobom, ako znížiť riziko, je vytvoriť samostatné prihlasovacie konto, ktoré má špecifické práva len k databáze LimeSurvey.

Ďalším spôsobom zabezpečenia týchto informácií je presunúť informácie zo súboru /application/config/config.php do adresára mimo webu, t. j. pre používateľov Apache je to adresár nad priečinkom htdocs (známym aj ako public_html alebo www). V podstate budete naďalej používať config.php, ale bude v ňom len jeden riadok – riadok, ktorý načíta súbor so SKUTOČNÝMI konfiguračnými údajmi (napr.: <?php return include("/home/hostfolder/safedata/configreal.php"); ?>). Odstráňte všetky skutočné konfiguračné údaje zo súboru /application/config/config.php a vložte ich do druhého súboru (configreal.php), ktorý je uvedený v súbore /application/config/config.php. Tento druhý súbor by mal byť umiestnený v adresári mimo webu. Súbor /application/config/config.php potom nebude obsahovať databázové heslá a pod. – iba názov súboru, ktorý OBSAHUJE údaje o databáze.

Vďaka tomu nemusíte meniť všetky ostatné súbory, ktoré načítavajú /application/config/config.php, pretože config.php ich „presmeruje“ na konfiguračný súbor umiestnený v adresári mimo webu, ktorý obsahuje všetky skutočné konfiguračné údaje.

Takisto nepoužívajte „admin“ ani „administrator“ ako predvoleného používateľa. Prejdite do databázy MySQL (alebo do tej, v ktorej ste nainštalovali LimeSurvey) a zmeňte predvolené používateľské meno „admin“ na ľubovoľné iné (napr. „admin_xyz“). Nové používateľské meno správcu bude oveľa ťažšie uhádnuť. Nezabúdajte, že je to jedna z dvoch premenných, ktoré môžu útočníci použiť na získanie prístupu. Druhou premennou je heslo správcu. Obe preto volíte mimoriadne opatrne.

Content Security Policy (CSP)

UPOZORNENIE – Tu uvedená politika CSP je len ukážka a nie je určená na použitie v nezmenenej podobe. Slúži ako východiskový bod a MUSÍTE ju prispôsobiť svojim potrebám a dôkladne otestovať.

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