x

Pääluvut

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. Pikaopas - LimeSurvey 3.0+
  3. Asennus - LimeSurvey CE
  4. Miten suunnitella hyvä kysely (opas)
  5. Aloitus
  6. LimeSurveyn hallinnointi
  7. Kyselyt - johdanto
  8. Kyselyn asetukset
  9. Kyselyn valikko
  10. Kyselyn rakenne
  11. Kysymykset - johdanto
  12. Kysymysryhmät - johdanto
  13. Kyselyt - hallinta
  14. Kyselyn työkalupalkin asetukset
  15. Monikielinen kysely
  16. ExpressionScript-moottori - Pikaopas
  17. Luokittelemattomat ja edistyneet ominaisuudet
  18. Yleiset usein kysytyt kysymykset
  19. Vianmääritys
  20. Kiertotavat
  21. Lisenssi
  22. Version muutoslogi
  23. Lisäosat
 Actions

Asennuksen tietoturvavinkit

From LimeSurvey Manual

Tämä sivu on saatettu kääntää konekäännöksenä, ja se voi sisältää virheitä. Näytä englanninkielinen alkuperäinen · Paranna tätä käännöstä
This page is a translated version of the page Installation security hints and the translation is 100% complete.

Yleistä

Huomaa, että suhtaudumme tietoturvaan erittäin vakavasti ja reagoimme nopeasti. Jos tiedät LimeSurveyn tietoturvaongelmista, ilmoita niistä meille tekemällä virheraportti virheenseurantajärjestelmässämme (merkitse virheen vakavuudeksi tai luokaksi 'security').

Lisätietoja tietoturvaongelmien ja haavoittuvuuksien ilmoittamisesta on tietoturvakäytännössämme.

Verkkopalvelimen rajoitukset

Jos käytät Apachea, LimeSurvey sisältää rajoituksia varten useita htaccess-tiedostoja. Varmista, että sallit mukana tulevien htaccess-tiedostojen käytön asetuksella AllowOverride.

Jos käytät muuta verkkopalvelinta tai haluat käyttää asetusta AllowOverride None, sinun on:

  • (valinnainen) estettävä pääsy kaikkiin tiedostoihin hakemistoissa application, protected, framework ja themes/*/views
  • estettävä pääsy käyttäjien lataamiin tiedostoihin /upload/surveys/.*/fu_[a-z0-9]
  • (valinnainen) estettävä suoritettavien tiedostojen käyttö upload-hakemistossa

Esimerkin nginx-palvelimelle löydät yleisistä usein kysytyistä kysymyksistämme.

Linuxin tiedosto-oikeudet

Jos käytät Linux-palvelinta, tiedosto-oikeuksien asettaminen oikein on välttämätöntä LimeSurvey-asennuksesi suojaamiseksi.

Perustietoja Linuxin/*nixin tiedosto-oikeuksista

Linux/*nix-käyttöjärjestelmä on monikäyttäjäjärjestelmä. Tämä tarkoittaa, että oman tilisi lisäksi järjestelmässä voi olla muita käyttäjätilejä, ja sinun on huolehdittava siitä, mitä oikeuksia annat muille käyttäjille.

Vihje: tiedosto-oikeuksien asettaminen on erityisen tärkeää, jotta kriittisiä tietoja, kuten salasanoja, sisältävät asetustiedostot pysyvät suojattuina.

Muista, että 'root'-tilillä on aina oikeus käyttää tiedostojasi (riippumatta asettamistasi tiedosto-oikeuksista), koska se on pääkäyttäjä.

Myös verkkopalvelin (joka suorittaa LimeSurveyta) toimii tietyn identiteetin (käyttäjän) alaisuudessa. Linuxissa se on yleensä käyttäjä 'www', 'www-data' (Debianissa/Ubuntussa), 'apache' tai 'nobody'. Jotkin palveluntarjoajat kuitenkin käyttävät järjestelmiä (kuten suexec), joiden avulla LimeSurveyn komentosarjat voidaan ajaa omalla käyttäjälläsi. Verkkopalvelinkäyttäjällä on luonnollisesti oltava oikeus lukea LimeSurveyn tiedostoja. Vain pienen osan LimeSurveyn alihakemistoista tarvitsee kuitenkin olla verkkopalvelinkäyttäjän kirjoitettavissa.

Vihje: on erittäin hyödyllistä poistaa verkkopalvelinkäyttäjän kirjoitusoikeus niistä LimeSurveyn alihakemistoista, jotka eivät sitä tarvitse. Vaikka LimeSurveysta löytyisi haavoittuvuus, tiedostojärjestelmän oikeudet suojaavat pääasiallisia tiedostoja luvattomilta muutoksilta.

Tiedosto-oikeuksien asettaminen itse hallinnoidussa Linux-järjestelmässä

Jos hallinnoit itse verkkopalvelimesi ja käyttöjärjestelmäsi asetuksia (omistat fyysisen palvelimen tai vuokraat virtuaalipalvelimen, johon sinulla on root-oikeudet), voit harkita seuraavia suosituksia.

Voit aluksi asettaa LimeSurvey-tiedostojen omistajan ja ryhmän siten, että tiedosto-oikeuksien määrittäminen helpottuu. Eräs toimintatapa on asettaa tiedostojen omistajaksi oma käyttäjätunnuksesi ja ryhmäksi verkkopalvelimen ryhmä. Yleensä tähän ryhmään kuuluu vain verkkopalvelimen tili (ja mahdollisesti toinen ylläpitäjän tili). Jos esimerkiksi käyttäjätunnuksesi on 'myaccount' ja verkkopalvelimen käyttäjä on 'apache' ryhmässä 'apache', voit käyttää komentoriviltä seuraavaa komentoa: $ chown -R myaccount:apache limesurvey/. Aseta tämän jälkeen tiedostojen ja alihakemistojen oikeudet.

Jotta komentosarja toimisi oikein, joihinkin hakemistoihin tarvitaan kirjoitusoikeus:

  • Hakemisto /limesurvey/application/config tarvitsee oikeuden luku ja kirjoitus, jotta sovelluksen asetukset voidaan tallentaa
  • Hakemistoa /limesurvey/tmp ja sen alihakemistoja käytetään tuontiin ja lataamiseen, ja niille tulee antaa verkkopalvelimelle oikeus luku ja kirjoitus
  • Hakemistolle upload ja kaikille sen alihakemistoille on myös asetettava oikeus luku ja kirjoitus, jotta kuvien ja mediatiedostojen lataaminen onnistuu
  • Kaikki muut hakemistot ja tiedostot voidaan asettaa vain luettaviksi (Read Only)

Tiedosto-oikeuksien asettaminen vuokratulla verkkopalvelimella

Verkkosovelluksen suojaamiseen vuokratussa ympäristössä ei ole yhtä vakiomenettelyä, koska ympäristöt eroavat toisistaan monin tavoin.

Hallinnoidulla palvelimella palvelin tarvitsee kirjoitusoikeuden joihinkin hakemistoihin, jotta komentosarja toimisi oikein:

  • Hakemistoa /limesurvey/tmp käytetään tuontiin ja lataamiseen, ja sille tulee antaa verkkopalvelimelle oikeus luku ja kirjoitus
  • Hakemistolle upload ja kaikille sen alihakemistoille on myös annettava verkkopalvelimelle oikeus luku ja kirjoitus, jotta kuvien ja mediatiedostojen lataaminen onnistuu
  • Muut hakemistot ja tiedostot tulee asettaa vain luettaviksi (Read Only)
Vihje:
  • Verkkopalvelimen asetuksista riippuen kirjoitettavien kansioiden oikeudet on ehkä asetettava chmod-komennolla arvoon 755 tai 777, jotta verkkopalvelin voi kirjoittaa niihin. Kokeile ensin arvoa 755 ja jos se ei toimi, 'päivitä' arvoon 777
  • Voit myös yrittää poistaa muiden käyttäjien lukuoikeuden tiedostoon config.php asettamalla tiedoston oikeuksiksi 750 - jos se ei toimi, 'päivitä' arvoon 755

Windowsin tiedosto-oikeudet

Jos käytät Windows-palvelinta, varmista, että admin-kansio sallii verkkopalvelinprosessin omistajan kirjoittaa tiedostoja tähän hakemistoon. Muut tiedostot voidaan asettaa vain luettaviksi ja suoritettaviksi.

Muita tietoturva-asioita

Seuraavat ovat vain suosituksia. LimeSurvey on yleisesti ottaen erittäin turvallinen ilman näitä lisätoimenpiteitä. Jos kuitenkin keräät erittäin arkaluonteisia tietoja, hieman lisäsuojaa voi olla hyödyllistä:

SSL:n käyttö

Suosittelemme yleisesti SSL:n käyttöä arkaluonteisten kyselytietojen yhteydessä. SSL otetaan yleensä käyttöön määrittämällä verkkopalvelin oikein ja käyttämällä SSL-varmennetta. Jos SSL on käytössä, sinun tulisi pakottaa SSL:n käyttö aina LimeSurveyn yleisissä asetuksissa. Lisäksi voit asettaa käyttöön vain 'secure'-evästeet muokkaamalla vastaavaa asetusta tiedostossa config.php.

Pääsy config.php-tiedostoon

  Päivitä application/config/config.php vasta, kun ensimmäinen asennus on valmis ja toimii.


Tiedosto /application/config/config.php sisältää tietokantapalvelimesi käyttäjänimen ja salasanan. Tämä aiheuttaa tiettyjä tietoturvariskejä, erityisesti jos käytät tunnusta, jolla on laajat ylläpito-oikeudet tietokantaan. Jos jokin virhe palauttaa tämän PHP-tiedoston sisällön käyttäjän selaimeen, tietokannan salasana ja muut tiedot voivat vaarantua (tämä on kuitenkin hyvin epätodennäköinen tilanne). Paras tapa pienentää riskiä on luoda erillinen tunnus, jolla on oikeudet vain LimeSurvey-tietokantaasi.

Toinen tapa suojata nämä tiedot on siirtää tiedoston /application/config/config.php tiedot hakemistoon, joka ei ole verkosta saatavilla. Apachea käyttävillä tämä tarkoittaa htdocs-kansion (jota kutsutaan myös nimillä public_html tai www) yläpuolella olevaa hakemistoa. Käytännössä käytät edelleen config.php-tiedostoa, mutta siinä on vain yksi rivi, joka sisällyttää tiedoston, jossa on TODELLISET asetustiedot (esim. <?php return include("/home/hostfolder/safedata/configreal.php"); ?>). Poista kaikki todelliset asetustiedot tiedostosta /application/config/config.php ja liitä ne toiseen tiedostoon (configreal.php), johon tiedosto /application/config/config.php viittaa. Tämän toisen tiedoston tulee sijaita hakemistossa, joka ei ole verkosta saatavilla. Tällöin /application/config/config.php ei sisällä tietokannan salasanoja tms. vaan ainoastaan sen tiedoston nimen, joka SISÄLTÄÄ tietokannan tiedot.

Näin sinun ei tarvitse muuttaa kaikkia muita tiedostoja, jotka sisällyttävät tiedoston /application/config/config.php, koska config.php 'ohjaa ne uudelleen' asetustiedostoon, joka sijaitsee verkosta saavuttamattomassa hakemistossa ja sisältää kaikki todelliset asetustiedot.

Älä myöskään käytä oletuskäyttäjänä nimeä "admin" tai "administrator". Siirry MySQL-tietokantaasi (tai siihen tietokantaan, johon asensit LimeSurveyn) ja vaihda oletuskäyttäjänimi "admin" haluamaksesi (esim. "admin_xyz"). Ylläpitäjän uuden käyttäjänimen arvaaminen on nyt paljon vaikeampaa. Muista, että tämä on toinen niistä kahdesta muuttujasta, joiden avulla tunkeutujat voivat päästä järjestelmään. Ylläpitäjän salasana on toinen muuttuja. Valitse siis molemmat äärimmäisen huolellisesti.

Content Security Policy (CSP)

HUOMAUTUS - Tässä annettu CSP on vain esimerkki, eikä sitä ole tarkoitettu käytettäväksi sellaisenaan. Se on tarkoitettu lähtökohdaksi, ja sinun TÄYTYY mukauttaa se omiin tarpeisiisi ja testata se huolellisesti.

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