x

Ana bölümler

  1. LimeSurvey Cloud ve LimeSurvey CE karşılaştırması
  2. Hızlı başlangıç kılavuzu - LimeSurvey 3.0+
  3. Kurulum - LimeSurvey CE
  4. İyi bir anket nasıl tasarlanır (kılavuz)
  5. Başlarken
  6. LimeSurvey'i Yönetme
  7. Anketler - giriş
  8. Anket ayarları
  9. Anket menüsü
  10. Anket yapısı
  11. Sorular - giriş
  12. Soru grupları - giriş
  13. Anketler - yönetim
  14. Anket araç çubuğu seçenekleri
  15. Çok dilli anket
  16. ExpressionScript Motoru - Hızlı başlangıç kılavuzu
  17. Kategorize edilmemiş ve gelişmiş özellikler
  18. Genel SSS
  19. Sorun giderme
  20. Geçici çözümler
  21. Lisans
  22. Sürüm değişiklik günlüğü
  23. Eklentiler
 Actions

Kurulum güvenliği ipuçları

From LimeSurvey Manual

Bu sayfa makine çevirisiyle çevrilmiş olabilir ve hatalar içerebilir. İngilizce orijinali göster · Bu çeviriyi iyileştir
This page is a translated version of the page Installation security hints and the translation is 100% complete.

Genel

Güvenlik sorunlarını çok ciddiye aldığımızı ve hızlı tepki verdiğimizi lütfen unutmayın. Bu nedenle LimeSurvey içinde herhangi bir güvenlik sorunu fark ederseniz, hata takip sistemimizde bir hata raporu açarak bizi bilgilendirin (lütfen hatayı önem derecesi veya kategori olarak 'security' şeklinde işaretleyin).

Güvenlik sorunlarını/açıklarını bildirmeyle ilgili daha fazla ayrıntı için lütfen Güvenlik politikamızı inceleyin.

Web sunucusu kısıtlaması

Apache kullanıyorsanız LimeSurvey, kısıtlama için farklı htaccess dosyaları içerir. Dahil edilen htaccess dosyalarına AllowOverride ile izin verdiğinizden emin olun.

Başka bir web sunucusu kullanıyorsanız veya AllowOverride None kullanmak istiyorsanız şunları yapmalısınız:

  • (isteğe bağlı) application, protected, framework ve themes/*/views içindeki tüm dosyalara erişimi devre dışı bırakın
  • kullanıcılar tarafından yüklenen /upload/surveys/.*/fu_[a-z0-9] dosyalarına erişimi devre dışı bırakın
  • (isteğe bağlı) upload dizinindeki çalıştırılabilir dosyalara erişimi devre dışı bırakın

nginx için bir örneği Genel SSS sayfamızda bulabilirsiniz.

Linux dosya izinleri

Linux sunucu kullanıyorsanız LimeSurvey kurulumunuzun güvenliğini sağlamak için dosya izinlerini uygun şekilde ayarlamanız gerekir.

Linux/*nix dosya izinleri hakkında temel bilgiler

Linux/*nix işletim sistemleri çok kullanıcılıdır. Bu, kişisel hesabınızın yanı sıra sistemde başka kullanıcı hesaplarının da bulunabileceği ve diğer kullanıcılara hangi izinleri verdiğinize dikkat etmeniz gerektiği anlamına gelir.

İpucu: dosya izinlerini ayarlamak, parola gibi kritik verileri içeren yapılandırma dosyalarının güvenliğini sağlamak için özellikle önemlidir.

Süper yönetici kullanıcı olduğu için 'root' hesabının (hangi dosya izinlerini ayarlarsanız ayarlayın) dosyalarınıza erişim iznine her zaman sahip olacağını unutmayın.

LimeSurvey'i çalıştıran web sunucusu da belirli bir kimlik (kullanıcı) altında çalışır. Linux'ta bu genellikle 'www', 'www-data' (Debian/Ubuntu'da), 'apache' veya 'nobody' kullanıcısıdır. Ancak bazı barındırma şirketleri, LimeSurvey betiklerini kişisel kullanıcınızla çalıştırmanıza olanak tanıyan sistemler (suexec gibi) kullanır. Web sunucusu kullanıcısının LimeSurvey dosyalarını okuma yetkisi elbette olmalıdır. Ancak LimeSurvey alt dizinlerinin yalnızca küçük bir bölümü web sunucusu kullanıcısı tarafından yazılabilir olmalıdır.

İpucu: web sunucusu kullanıcısının, yazma izni gerektirmeyen LimeSurvey alt dizinleri üzerindeki yazma iznini kaldırmak çok değerlidir. Nitekim bir LimeSurvey güvenlik açığı keşfedilse bile, dosya sistemi izinleri sayesinde ana dosyalar yetkisiz değişikliklere karşı korunmaya devam eder.

Kendi yönettiğiniz bir Linux sisteminde dosya izinlerini ayarlama

Web sunucunuzun ve işletim sistemi yapılandırmanızın yönetimi size aitse (fiziksel sunucunun sahibiyseniz veya root erişiminiz olan bir sanal sunucu kiralıyorsanız) aşağıdaki önerileri dikkate alabilirsiniz.

Dosya izinlerinin ayarlanmasını kolaylaştırmak için önce LimeSurvey dosyalarının sahibini ve grubunu ayarlayabilirsiniz. Olası bir strateji, LimeSurvey dosyalarının sahibini kişisel kullanıcı adınız, grubunu ise web sunucusu grubu olarak ayarlamaktır. Bu web sunucusu grubu genellikle yalnızca web sunucusu hesabını (ve muhtemelen başka bir web yöneticisi hesabını) içerir. Örneğin kullanıcı adınız 'myaccount' ve web sunucusu kullanıcısı 'apache' grubundaki 'apache' ise, kabuk erişimiyle şu komutu kullanabilirsiniz: $ chown -R myaccount:apache limesurvey/. Ardından dosya ve alt dizin izinlerini ayarlayın.

Betiğin düzgün çalışması için bazı dizinlere yazma erişimi gerekir:

  • /limesurvey/application/config dizini, uygulama yapılandırma ayarlarını kaydetmek için Okuma ve Yazma izni gerektirir
  • /limesurvey/tmp dizini ve alt dizinleri içe/dışa aktarma ve yükleme işlemleri için kullanılır ve web sunucunuz için Okuma ve Yazma olarak ayarlanmalıdır
  • upload/ dizini ve tüm alt dizinleri de resim ve medya dosyalarının yüklenebilmesi için Okuma ve Yazma izinlerine sahip olmalıdır
  • Diğer tüm dizinler ve dosyalar Salt Okunur olarak ayarlanabilir

Barındırılan bir web sunucusunda dosya izinlerini ayarlama

Barındırılan ortamlar birçok bakımdan farklılık gösterdiğinden, bu ortamda bir web uygulamasının güvenliğini sağlamak için standart bir yöntem izlemek oldukça zordur.

Yönetilen sunucu durumunda, betiğin düzgün çalışması için sunucunun bazı dizinlere yazma erişimine ihtiyacı vardır:

  • /limesurvey/tmp dizini içe/dışa aktarma ve yükleme işlemleri için kullanılır ve web sunucunuz için Okuma ve Yazma olarak ayarlanmalıdır
  • upload/ dizini ve tüm alt dizinleri de resim ve medya dosyalarının yüklenebilmesi için web sunucunuz adına Okuma ve Yazma iznine sahip olmalıdır
  • Diğer dizinler ve dosyalar Salt Okunur olarak ayarlanmalıdır
İpucu:
  • Web sunucusu yapılandırmanıza bağlı olarak, yazılabilir klasörlerin web sunucusu tarafından yazılabilmesi için haklarını chmod ile 755 veya 777 olarak ayarlamanız gerekebilir. Önce 755'i deneyin, çalışmazsa 777'ye 'yükseltin'
  • config.php dosyasının izinlerini 750 olarak ayarlayarak diğer kullanıcıların bu dosyaya okuma erişimini kaldırmayı da deneyebilirsiniz - çalışmazsa 755'e 'yükseltin'

Windows dosya izinleri

Windows sunucu kullanıyorsanız admin klasörünün, web sunucusu işleminin sahibine bu dizine dosya yazma izni verdiğinden emin olmalısınız. Diğer dosyalar salt okunur ve çalıştırılabilir olarak ayarlanabilir.

Diğer güvenlik sorunları

Aşağıdakiler yalnızca önerilerdir. LimeSurvey, bu ek önlemler olmadan da genel olarak çok güvenlidir. Ancak son derece hassas veriler topluyorsanız biraz ek güvenlik yardımcı olabilir:

SSL kullanımı

Hassas anket verileri için genel olarak SSL kullanımını öneriyoruz. SSL'yi genellikle web sunucunuzu doğru yapılandırarak ve bir SSL sertifikası kullanarak etkinleştirirsiniz. SSL'yi etkinleştirdiyseniz, LimeSurvey'in Genel ayarlar bölümünden SSL'yi her zaman zorunlu kılmalısınız. Ayrıca config.php dosyasındaki ilgili seçeneği düzenleyerek yalnızca 'secure' çerezlerin kullanılmasını sağlayabilirsiniz.

config.php dosyasına erişim

  application/config/config.php dosyasını yalnızca ilk kurulum tamamlandıktan ve çalıştığından emin olduktan sonra güncellemelisiniz.


/application/config/config.php dosyası, veri tabanı sunucunuz için bir kullanıcı adı ve parola içerir. Bu durum, özellikle veri tabanınıza yüksek düzeyde yönetici erişimi olan bir oturum açma bilgisi kullanıyorsanız bazı güvenlik sorunlarına yol açar. Bir hata nedeniyle bu PHP dosyasının içeriğinin kullanıcının tarayıcısına gönderilmesi durumunda, veri tabanı parolanız ve diğer bilgileriniz ele geçirilebilir (ancak bu çok düşük bir olasılıktır). Riski en aza indirmenin en iyi yolu, yalnızca LimeSurvey veri tabanınız üzerinde belirli haklara sahip özel bir oturum açma bilgisi oluşturmaktır.

Bu bilgileri güvence altına almanın bir başka yolu, /application/config/config.php dosyasındaki bilgileri web dışı bir dizine taşımaktır. Apache kullanıcıları için bu dizin, htdocs (public_html veya www olarak da bilinir) klasörünün bir üst dizinidir. Temel olarak config.php dosyasını kullanmaya devam edersiniz, ancak içinde yalnızca tek bir satır bulunur: GERÇEK yapılandırma bilgilerini içeren dosyayı dahil eden bir satır (örn: <?php return include("/home/hostfolder/safedata/configreal.php"); ?>). Tüm gerçek yapılandırma bilgilerini /application/config/config.php dosyasından kaldırın ve /application/config/config.php dosyasında belirtilen diğer dosyaya (configreal.php) yapıştırın. Bu diğer dosya web dışı bir dizinde bulunmalıdır. Böylece /application/config/config.php dosyası veritabanı parolalarını vb. içermez; yalnızca veritabanı bilgilerini İÇEREN dosyanın adını içerir.

Bu sayede, /application/config/config.php dosyasını dahil eden diğer tüm dosyaları değiştirmek zorunda kalmazsınız; çünkü config.php, bunları gerçek yapılandırma bilgilerinin tamamını içeren ve web dışı bir dizinde bulunan yapılandırma dosyasına 'yönlendirir'.

Ayrıca varsayılan kullanıcı olarak "admin" veya "administrator" kullanmayın. MySQL veritabanınıza (veya LimeSurvey'i kurduğunuz veritabanına) gidin ve varsayılan Kullanıcı adı olan "admin" değerini istediğiniz bir değerle (örn. "admin_xyz") değiştirin. Böylece yöneticinin yeni kullanıcı adını tahmin etmek çok daha zor olur. Unutmayın, bu, saldırganların erişim sağlamak için kullanabileceği iki değişkenden biridir. Yönetici parolası ise diğer değişkendir. Bu nedenle ikisini de son derece dikkatli seçin.

İçerik Güvenliği Politikası (CSP)

SORUMLULUK REDDİ - Burada verilen CSP yalnızca bir örnektir ve olduğu gibi kullanılmak üzere hazırlanmamıştır. Bir başlangıç noktası olarak sunulmuştur; bunu ihtiyaçlarınıza göre uyarlamanız ve kapsamlı biçimde test etmeniz ZORUNLUDUR.

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