x

Glavna poglavlja

  1. LimeSurvey Cloud u usporedbi s LimeSurvey CE
  2. Vodič za brzi početak - LimeSurvey 3.0+
  3. Instalacija - LimeSurvey CE
  4. Kako izraditi dobar upitnik (vodič)
  5. Početak rada
  6. Administriranje LimeSurveya
  7. Upitnici - uvod
  8. Postavke upitnika
  9. Izbornik upitnika
  10. Struktura upitnika
  11. Pitanja - uvod
  12. Skupine pitanja - uvod
  13. Upitnici - upravljanje
  14. Opcije alatne trake upitnika
  15. Višejezični upitnik
  16. ExpressionScript Engine - Vodič za brzi početak
  17. Nekategorizirane i napredne značajke
  18. Opći FAQ
  19. Rješavanje problema
  20. Zaobilazna rješenja
  21. Licenca
  22. Popis izmjena po verzijama
  23. Dodaci
 Actions

Savjeti za sigurnost instalacije

From LimeSurvey Manual

Ova je stranica možda strojno prevedena i može sadržavati pogreške. Prikaži engleski izvornik · Poboljšaj ovaj prijevod
This page is a translated version of the page Installation security hints and the translation is 100% complete.

Općenito

Imajte na umu da sigurnosna pitanja shvaćamo vrlo ozbiljno i brzo reagiramo. Stoga, ako znate za bilo kakve sigurnosne probleme u LimeSurveyju, javite nam to otvaranjem prijave pogreške u našem praćenju pogrešaka (označite pogrešku kao ozbiljnost ili kategoriju 'security').

Za više detalja pogledajte našu sigurnosnu politiku o prijavi sigurnosnih problema/ranjivosti.

Ograničenja web poslužitelja

Ako koristite Apache, LimeSurvey uključuje različite htaccess datoteke za ograničavanje pristupa. Provjerite da ste putem AllowOverride omogućili korištenje uključenih htaccess datoteka.

Kod drugog web poslužitelja ili ako želite koristiti AllowOverride None, morate:

  • (opcija) onemogućiti pristup svim datotekama u application, protected, framework i themes/*/views
  • onemogućiti pristup datotekama koje je učitao korisnik u /upload/surveys/.*/fu_[a-z0-9]
  • (opcija) onemogućiti izvršavanje izvršnih datoteka u direktoriju upload

Primjer za nginx možete pronaći u našim Općim čestim pitanjima

Dozvole za datoteke na Linuxu

Ako koristite Linux poslužitelj, za zaštitu vaše LimeSurvey instalacije potrebno je ispravno postaviti dozvole za datoteke.

Osnovne činjenice o dozvolama za datoteke na Linuxu/*nixu

Operativni sustav Linux/*nix je višekorisnički. To znači da osim vašeg osobnog računa u sustavu mogu postojati i drugi korisnički računi te biste trebali paziti koje dozvole dajete drugim korisnicima.

Savjet: postavljanje dozvola za datoteke osobito je važno za zaštitu konfiguracijskih datoteka koje sadrže kritične podatke poput lozinki.

Imajte na umu da će račun 'root' uvijek imati dozvolu pristupa vašim datotekama (bez obzira na postavljene dozvole za datoteke) jer je to korisnik s najvišim ovlastima.

Web poslužitelj (koji pokreće LimeSurvey) također radi pod određenim identitetom (korisnikom). Na Linuxu je to obično korisnik 'www', 'www-data' (na Debianu/Ubuntuu), 'apache' ili 'nobody'. Međutim, neke hosting tvrtke koriste sustave (poput suexec) koji omogućuju pokretanje LimeSurvey skripti pod vašim osobnim korisnikom. Naravno, korisnik web poslužitelja mora imati pravo čitanja LimeSurvey datoteka. No, samo mali podskup LimeSurvey poddirektorija mora biti zapisiv za korisnika web poslužitelja.

Savjet: vrlo je korisno ukinuti dozvolu pisanja korisniku web poslužitelja za one LimeSurvey poddirektorije kojima ona nije potrebna. Naime, čak i ako se otkrije ranjivost LimeSurveya, glavne datoteke ostat će zaštićene od nedopuštene izmjene zahvaljujući dozvolama datotečnog sustava.

Postavljanje dozvola za datoteke na samostalno upravljanom Linux sustavu

Ako sami upravljate konfiguracijom web poslužitelja i operativnog sustava (vlasnik ste fizičkog poslužitelja ili unajmljujete virtualni poslužitelj na kojem imate root pristup), razmotrite preporuke u nastavku.

Najprije možete postaviti vlasnika i grupu svojih LimeSurvey datoteka kako biste olakšali postavljanje dozvola. Moguća strategija je postaviti vlasnika LimeSurvey datoteka na svoje osobno korisničko ime, a grupu LimeSurvey datoteka na grupu web poslužitelja. Obično ta grupa web poslužitelja sadrži samo račun web poslužitelja (i eventualno još jedan račun webmastera). Na primjer, ako je vaše korisničko ime 'myaccount', a korisnik web poslužitelja je 'apache' u grupi 'apache', tada putem shell pristupa možete koristiti sljedeću naredbu: $ chown -R myaccount:apache limesurvey/. Zatim postavite dozvole za datoteke i poddirektorije.

Da bi skripta ispravno radila, potreban je pristup pisanju u nekim direktorijima:

  • Direktorij /limesurvey/application/config zahtijeva Čitanje i pisanje radi spremanja konfiguracijskih postavki aplikacije
  • Direktorij /limesurvey/tmp i njegovi poddirektoriji koriste se za uvoz/učitavanje te bi za vaš web poslužitelj trebali biti postavljeni na Čitanje i pisanje
  • Direktorij upload/ i svi njegovi poddirektoriji također moraju imati dozvole Čitanje i pisanje kako bi se omogućilo učitavanje slika i medijskih datoteka
  • Svi ostali direktoriji i datoteke mogu se postaviti na Samo čitanje

Postavljanje dozvola za datoteke na web poslužitelju kod pružatelja usluge hostinga

S obzirom na to da standardni postupak za zaštitu web aplikacije u hosting okruženju teško postoji, to je prilično zahtjevno jer se hosting okruženja razlikuju na mnogo načina.

U slučaju upravljanog poslužitelja, poslužitelju je potreban pristup pisanju u nekim direktorijima kako bi skripta ispravno radila:

  • Direktorij /limesurvey/tmp koristi se za uvoz/učitavanje i za vaš web poslužitelj treba biti postavljen na Čitanje i pisanje
  • Direktorij upload/ i svi njegovi poddirektoriji također moraju imati Čitanje i pisanje za vaš web poslužitelj kako bi se omogućilo učitavanje slika i medijskih datoteka
  • Ostali direktoriji i datoteke trebaju biti postavljeni na Samo čitanje
Savjet:
  • Ovisno o konfiguraciji vašeg web poslužitelja, morat ćete naredbom chmod postaviti prava na zapisivim mapama na 755 ili 777 kako bi bile zapisive za web poslužitelj. Prvo pokušajte s 755, a ako ne radi, 'nadogradite' na 777
  • Možete pokušati i ukloniti pravo čitanja drugim korisnicima za config.php postavljanjem dozvola te datoteke na 750 - ako ne radi, 'nadogradite' na 755

Dozvole za datoteke na Windowsima

Ako koristite Windows poslužitelj, trebali biste osigurati da mapa admin dopušta vlasniku procesa web poslužitelja pisanje datoteka u taj direktorij. Ostale datoteke mogu se postaviti na samo čitanje i izvršavanje.

Ostala sigurnosna pitanja

Sljedeće su samo preporuke. LimeSurvey je općenito vrlo siguran i bez ovih dodatnih mjera. Ako ipak prikupljate izrazito osjetljive podatke, malo dodatne sigurnosti može pomoći:

Korištenje SSL-a

Općenito preporučujemo korištenje SSL-a za osjetljive podatke upitnika. SSL obično omogućujete ispravnom konfiguracijom web poslužitelja i korištenjem SSL certifikata. Ako ste omogućili SSL, trebali biste ga uvijek nametnuti u globalnim postavkama LimeSurveya. Dodatno, možete postaviti korištenje 'sigurnih' kolačića uređivanjem odgovarajuće opcije u config.php.

Pristup datoteci config.php

  Datoteku application/config/config.php morate ažurirati tek nakon što je prva instalacija završena i radi.


Datoteka /application/config/config.php sadrži korisničko ime i zaporku za vaš poslužitelj baze podataka. To predstavlja određene sigurnosne rizike, osobito ako koristite prijavu s visokom razinom administratorskog pristupa vašoj bazi podataka. U slučaju pogreške koja bi sadržaj ove PHP datoteke vratila u korisnikov preglednik, zaporka vaše baze podataka i drugi detalji mogli bi biti ugroženi (međutim, to je vrlo malo vjerojatan scenarij). Najbolji način za smanjenje rizika je postavljanje posebne prijave koja ima posebna prava isključivo nad vašom LimeSurvey bazom podataka.

Drugi način zaštite ovih informacija je da podatke iz datoteke /application/config/config.php smjestite u direktorij izvan weba, tj. za korisnike Apachea to je direktorij iznad mape htdocs (poznate i kao public_html ili www). U osnovi ćete i dalje koristiti config.php, ali s jednim retkom u njemu - retkom koji uključuje datoteku sa STVARNIM konfiguracijskim podacima (npr.: <?php return include("/home/hostfolder/safedata/configreal.php"); ?>). Uklonite sve stvarne konfiguracijske podatke iz /application/config/config.php i zalijepite ih u drugu datoteku (configreal.php) koja je navedena u datoteci /application/config/config.php. Ta se druga datoteka treba nalaziti u direktoriju izvan weba. Tada /application/config/config.php neće sadržavati zaporke baze podataka itd. - samo naziv datoteke koja SADRŽI podatke o bazi podataka.

Time se izbjegava potreba za izmjenom svih ostalih datoteka koje uključuju /application/config/config.php, jer ih config.php 'preusmjerava' na konfiguracijsku datoteku koja se nalazi u direktoriju izvan weba i koja sadrži sve stvarne konfiguracijske podatke.

Također, nemojte koristiti "admin" ili "administrator" kao zadanog korisnika. Otvorite svoju MySQL bazu podataka (ili onu u kojoj ste instalirali LimeSurvey) i promijenite zadano korisničko ime "admin" u što god želite (npr. "admin_xyz"). Sada će biti puno teže pogoditi novo korisničko ime administratora. Zapamtite, ovo je jedna od dvije varijable koje uljezi mogu iskoristiti za dobivanje pristupa. Zaporka administratora druga je varijabla. Zato obje birajte iznimno pažljivo.

Content Security Policy (CSP)

ODRICANJE OD ODGOVORNOSTI - CSP naveden ovdje samo je primjer i nije namijenjen doslovnoj uporabi. Služi kao polazišna točka i MORATE ga prilagoditi svojim potrebama te ga temeljito testirati.

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