x

Mga pangunahing kabanata

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. Gabay sa mabilis na pagsisimula - LimeSurvey 3.0+
  3. Pag-install - LimeSurvey CE
  4. Paano magdisenyo ng magandang survey (gabay)
  5. Pagsisimula
  6. Pangangasiwa sa LimeSurvey
  7. Mga Survey - panimula
  8. Mga setting ng survey
  9. Menu ng survey
  10. Istraktura ng survey
  11. Mga tanong - panimula
  12. Mga pangkat ng tanong - panimula
  13. Mga survey - pamamahala
  14. Mga opsyon ng toolbar ng survey
  15. Multilingual na survey
  16. ExpressionScript Engine - Gabay sa mabilis na pagsisimula
  17. Mga hindi nakategoryang tampok at advanced na tampok
  18. Pangkalahatang FAQ
  19. Pag-troubleshoot
  20. Mga Workaround
  21. Lisensya
  22. Log ng pagbabago ng bersyon
  23. Plugins
 Actions

Mga tip sa seguridad ng pag-install

From LimeSurvey Manual

Maaaring isinalin ng makina ang pahinang ito at maaaring may mga mali. Ipakita ang orihinal sa Ingles · Pagbutihin ang salin na ito
This page is a translated version of the page Installation security hints and the translation is 100% complete.

Pangkalahatan

Pakitandaan na sineseryoso namin ang mga isyu sa seguridad at mabilis kaming tumutugon. Kaya kung may alam kayong anumang problema sa seguridad sa LimeSurvey, pakipaalam sa amin sa pamamagitan ng pagbubukas ng bug report sa aming bug tracker (pakimarkahan ang bug bilang severity o category na 'security').

Para sa karagdagang detalye, pakitingnan ang aming Security policy sa pag-uulat ng mga isyu/kahinaan sa seguridad.

Paghihigpit sa web server

Kung gumagamit kayo ng apache, may kasamang iba't ibang htaccess file ang LimeSurvey para sa paghihigpit. Tiyaking pinapayagan ang mga kasamang htaccess gamit ang AllowOverride.

Sa ibang webserver o kung gusto ninyong gamitin ang AllowOverride None: kailangan ninyong

  • (opsyonal) i-disable ang access sa lahat ng file sa application, protected, framework at themes/*/views
  • i-disable ang access sa mga file na ina-upload ng user sa /upload/surveys/.*/fu_[a-z0-9]
  • (opsyonal) i-disable ang access sa mga executable file sa upload directory

Makakakita kayo ng sample para sa nginx sa aming General Faq

Mga pahintulot sa file sa Linux

Kung gumagamit kayo ng Linux server, kailangang itakda nang naaayon ang mga pahintulot sa file upang mapangalagaan ang inyong pag-install ng LimeSurvey.

Mga pangunahing kaalaman tungkol sa mga pahintulot sa file sa Linux/*nix

Multi-user ang operating system na Linux/*nix. Ibig sabihin, bukod sa inyong personal na account, maaaring may iba pang user account sa system, kaya dapat ninyong pag-ingatan kung anong mga pahintulot ang ibinibigay ninyo sa ibang user.

Tip: mahalaga lalo na ang pagtatakda ng mga pahintulot sa file upang mapangalagaan ang mga configuration file na naglalaman ng kritikal na data tulad ng mga password.

Tandaan na laging mabibigyan ng pahintulot ang 'root' account na ma-access ang inyong mga file (anuman ang itakda ninyong mga pahintulot sa file) dahil ito ang super-admin user.

Tumatakbo rin ang web server (na nagpapatakbo ng LimeSurvey) sa ilalim ng isang partikular na identity (user). Sa Linux, karaniwan itong ang user na 'www', 'www-data' (sa Debian/Ubuntu), 'apache' o 'nobody'. Gayunpaman, gumagamit ang ilang hosting company ng mga system (tulad ng suexec) na nagbibigay-daan para patakbuhin ang mga script ng LimeSurvey gamit ang inyong personal na user. Siyempre, dapat may karapatan ang web server user na basahin ang mga file ng LimeSurvey. Gayunpaman, maliit na bahagi lamang ng mga sub-directory ng LimeSurvey ang kailangang masulatan ng web server user.

Tip: napakahalagang bawiin ang pahintulot sa pagsulat ng web server user sa mga sub-directory ng LimeSurvey na hindi nangangailangan nito. Kahit pa may matuklasang kahinaan sa LimeSurvey, mapoprotektahan pa rin ang mga pangunahing file laban sa hindi awtorisadong pagbabago dahil sa mga pahintulot ng file system.

Pagtatakda ng mga pahintulot sa file sa isang self-managed na Linux system

Kung kayo mismo ang namamahala sa configuration ng inyong web server at operating system (kayo ang may-ari ng pisikal na server o umuupa ng virtual server na may root access kayo), maaari ninyong isaalang-alang ang mga rekomendasyon sa ibaba.

Maaari muna ninyong itakda ang may-ari at group ng inyong mga file ng LimeSurvey upang mapadali ang pagtatakda ng mga pahintulot sa file. Isang posibleng estratehiya ang itakda ang may-ari ng mga file ng LimeSurvey sa inyong personal na username, at ang group ng mga file ng LimeSurvey sa group ng web server. Karaniwan, ang account lamang ng web server (at posibleng isa pang webmaster account) ang laman ng group na ito. Halimbawa, kung 'myaccount' ang inyong username at 'apache' ang webserver user sa group na 'apache', maaari ninyong gamitin mula sa shell access ang sumusunod na command: $ chown -R myaccount:apache limesurvey/. Pagkatapos, itakda ang mga pahintulot ng mga file at sub-directory.

Upang gumana nang maayos ang script, kailangan ng write access sa ilang directory:

  • Kailangan ng Read & Write ng directory na /limesurvey/application/config para ma-save ang mga setting ng configuration ng application
  • Ginagamit ang directory na /limesurvey/tmp at ang mga sub-directory nito para sa mga import/upload at dapat itakda sa Read & Write para sa inyong web server
  • Dapat ding may Read & Write na mga pahintulot ang upload/directory at lahat ng sub-directory nito upang makapag-upload ng mga larawan at media file
  • Maaaring itakda sa Read Only ang lahat ng iba pang directory at file

Pagtatakda ng mga pahintulot sa file sa isang hosted na web server

Dahil mahirap magkaroon ng karaniwang pamamaraan para pangalagaan ang isang web application sa hosted na kapaligiran, medyo mahirap ito dahil iba-iba ang mga hosted na kapaligiran sa maraming aspeto.

Sa kaso ng managed server, kailangan ng server ng write access sa ilang directory upang gumana nang maayos ang script:

  • Ginagamit ang directory na /limesurvey/tmp para sa mga import/upload at dapat itakda sa Read & Write para sa inyong web server
  • Dapat ding may Read & Write para sa inyong web server ang upload/directory at lahat ng sub-directory nito upang makapag-upload ng mga larawan at media file
  • Dapat itakda sa Read Only ang iba pang mga directory at file
Tip:
  • Depende sa configuration ng inyong web server, kailangan ninyong i-chmod ang mga karapatan sa mga writable na folder sa 755 o 777 para masulatan ito ng web server. Subukan muna ang 755; kung hindi gumana, i-'upgrade' sa 777
  • Maaari rin ninyong subukang alisin ang read access ng ibang user sa config.php sa pamamagitan ng pagtatakda ng mga pahintulot ng file na ito sa 750 - kung hindi gumana, i-'upgrade' sa 755

Mga pahintulot sa file sa Windows

Kung gumagamit kayo ng Windows server, tiyaking pinapayagan ng admin folder ang may-ari ng web server process na magsulat ng mga file sa directory na ito. Maaaring itakda sa read-only at execute ang iba pang mga file.

Iba pang isyu sa seguridad

Mga rekomendasyon lamang ang sumusunod. Ligtas na ang LimeSurvey sa pangkalahatan kahit walang mga karagdagang hakbang na ito. Gayunpaman, kung nangongolekta kayo ng napakasensitibong data, makakatulong ang kaunting karagdagang seguridad:

Paggamit ng SSL

Inirerekomenda namin sa pangkalahatan ang paggamit ng SSL para sa sensitibong data ng survey. Karaniwan ninyong ina-enable ang SSL sa pamamagitan ng tamang pag-configure ng inyong web server at paggamit ng SSL certificate. Kung na-enable ninyo ang SSL, dapat ninyong ipatupad ang SSL sa lahat ng oras mula sa mga pangkalahatang setting ng LimeSurvey. Bukod dito, maaari ninyong itakda na gumamit lamang ng mga 'secure' na cookie sa pamamagitan ng pag-edit ng kaukulang opsyon sa config.php.

Ang access sa config.php file

  Dapat mo lamang i-update ang application/config/config.php pagkatapos makumpleto ang unang pag-install at kapag gumagana na ito.


Ang file na /application/config/config.php ay naglalaman ng username at password para sa iyong database server. Ito ay nagdudulot ng ilang isyu sa seguridad, lalo na kung gumagamit ka ng login na may mataas na antas ng administratibong access sa iyong database. Kung magkaroon ng error na magbabalik ng nilalaman ng PHP file na ito sa browser ng isang user, maaaring malagay sa panganib ang password ng iyong database at iba pang detalye (gayunpaman, napakaliit ng posibilidad ng ganitong sitwasyon). Ang pinakamainam na paraan para mabawasan ang panganib ay ang gumawa ng hiwalay na login na may mga partikular na karapatan lamang sa iyong LimeSurvey database.

Ang isa pang paraan para ma-secure ang impormasyong ito ay ang ilagay ang impormasyon mula sa file na /application/config/config.php sa isang non-web directory, ibig sabihin, para sa mga gumagamit ng Apache, ito ang directory sa itaas ng folder na htdocs (kilala rin bilang public_html o www). Sa madaling salita, gagamitin mo pa rin ang config.php, ngunit isang linya lamang ang laman nito - isang linyang nag-i-include ng file na may AKTUWAL na impormasyon sa configuration (hal.: <?php return include("/home/hostfolder/safedata/configreal.php"); ?>). Alisin ang lahat ng aktuwal na impormasyon sa configuration mula sa /application/config/config.php at i-paste ito sa kabilang file (configreal.php) na binanggit sa file na /application/config/config.php. Dapat nasa isang non-web directory ang kabilang file na ito. Pagkatapos, hindi na maglalaman ang /application/config/config.php ng mga password ng database at iba pa - tanging ang pangalan na lang ng file na MAY laman ng impormasyon ng database.

Dahil dito, hindi mo na kailangang baguhin ang lahat ng iba pang file na nag-i-include ng /application/config/config.php, sapagkat 'inire-redirect' sila ng config.php patungo sa configuration file na nasa isang non-web directory, na naglalaman ng lahat ng tunay na impormasyon sa configuration.

Gayundin, huwag gamitin ang "admin" o "administrator" bilang default na user. Pumunta sa iyong MySQL database (o sa database kung saan mo na-install ang LimeSurvey) at palitan ang default na username na "admin" ng anumang gusto mo (hal. "admin_xyz"). Magiging mas mahirap nang hulaan ang bagong username ng administrator. Tandaan, ito ay isa sa dalawang variable na magagamit ng mga manghihimasok para makapasok. Ang password ng admin ang isa pang variable. Kaya piliin ang pareho nang may matinding pag-iingat.

Content Security Policy (CSP)

DISCLAIMER - Ang CSP na ibinigay dito ay halimbawa lamang at hindi dapat gamitin nang eksakto kung ano ito. Ito ay panimulang punto lamang at DAPAT mo itong iangkop sa iyong pangangailangan at subukan nang mabuti.

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