Paylaşımlı barındırmadaki Drupal siteleri için en uygun kullanıcılar ve izin düzeyleri nelerdir?


14

Drupal sitesi izinler ve güvenlik hakkında büyük ayrıntılara girmesine rağmen, paylaşılan barındırma için yalnızca belirsiz / belirsiz referanslar vardır . Drupal bakış açısından, paylaşılan barındırmada bir site için en güvenli kurulum (sahiplik ve izin düzeyleri) nedir?

Aradığım bilgi türüne örnek olarak, WordPress aşağıdaki paylaşılan barındırma ayarlarını önerir:

  • Tüm dosyaların httpd işlemi için kullanılan kullanıcı hesabına değil, gerçek kullanıcının hesabına ait olması gerekir.
  • Web sunucusu işlem izinleri denetimi için belirli grup gereksinimleri yoksa, grup sahipliği önemsizdir. Bu genellikle böyle değildir.
  • Tüm dizinler 755 veya 750 olmalıdır.
  • Tüm dosyalar 644 veya 640 olmalıdır. İstisna: Sunucudaki diğer kullanıcıların dosyayı okumasını önlemek için wp-config.php 600 olmalıdır.
  • Hiçbir dizin 777 verilmemeli, hatta dizinler yüklenmemelidir. Php işlemi dosyaların sahibi olarak çalıştığı için sahiplerinin izinlerini alır ve hatta 755 dizinine yazabilir.

2
Wordpress'te bazı Hacking'lerle tanıştığınızı düşünüyorum;) Drupal'da böyle şeylerin olasılığı daha azdır.
niksmac


Hala gerçekten anlamıyorum. Adınız Johnny ise ve paylaşılan barındırma sağlayıcınız size johnny99 kullanıcı adını verdiyse, yüklemeden önce dosyaları "johnny99: www-data" olarak seçmeniz gerektiği anlamına mı gelir? Yoksa paylaşılan barındırma ile alakasız mı?
Simon Hoare

Yanıtlar:


9

Barındırma seçenekleri

Bir web sitesi sitesi için barındırma seçenekleri genellikle aşağıdakilerden biridir:

  • adanmış sunucu
  • sanal özel sunucu (VPS)
  • Paylaşılan Evsahipliği

Adanmış bir sunucuda, fiziksel bir bilgisayarda yalnızca bir site barındırılır ve yapılandırma bilgisayarın kendisi kadar güvenlidir.

Bir VPS ile, yazılımınız diğer kullanıcıların sanal makineleriyle aynı fiziksel bilgisayarda çalışır. Ancak, işlevsel olarak özel bir sunucuya eşdeğerdir. En önemlisi, bir VPS, özel bir sunucunun gizliliğine ve güvenliğine sahiptir.

Paylaşılan barındırma ile web siteniz diğer kullanıcılarla paylaşılan bir dosya sisteminde bulunur. Bu ne yazık ki, onu özel bir sunucuda veya VPS'de çalıştığından daha az güvenli hale getiriyor. Bu makalenin geri kalanında, paylaşılan barındırma ortamında bir WCMS'nin güvenliği açıklanmaktadır.

çevre

Paylaşılan bir barındırma ortamının bir web sunucusu, bir dosya sistemi, bir ayarlar dosyası, bir veritabanı ve bazı kullanıcılardan oluştuğu düşünülebilir.

Aşağıdaki örneklerde, sahip hesabının "tom" olduğu ve ayarlar dosyasının (veritabanı kimlik bilgilerini tutan) "settings.php" olarak adlandırıldığı varsayılmaktadır.

Web sunucusu işlemi, yapılandırmaya bağlı olarak "tom" sahip hesabının kullanıcı izinleriyle veya "www" grubunun grup izinleriyle çalışabilir.

Ayrıca, standart bir Gnu / Linux veya Unix ortamı olduğu varsayılır ve okuyucunun Unix erişim kontrol sistemini, üç bloğa bölünmüş ayrı okuma (r), yazma (w) ve yürütme / erişim dizini (x) izinleriyle anladığı varsayılır. (kullanıcı, grup, diğer).

Belirli ayarları tartışmaya devam etmeden önce, karşılamak istediğimiz koşulları listelemek faydalı olabilir:

  1. Bir web sitesinin çalışması için, web sunucusunun siteyi oluşturan tüm dosyalara okuma erişimi ve siteyi oluşturan tüm dizinlere erişim dizini erişimi olmalıdır.
  2. Güvenli çalışma için, web sunucusunun işlediği dosyalara yazma erişimi olmamalıdır .
  3. Güvenli işlem için, sahte bir kullanıcı tarafından çalıştırılan bir web komut dosyasının başka bir kullanıcının sahip olduğu dosyalara okuma erişimi olmamalıdır .
  4. Sahibinin CLI kullanarak kendi sitesinde çalışması için kullanıcının kendi dosyalarına okuma ve yazma erişimi olması gerekir .
  5. CLI kullanan diğer kullanıcılar tarafından erişilen dosyaları korumak için, "öteki" blok olmalıdır hiçbir set izinleri.

Ne yazık ki, paylaşılan bir ev sahibi, sadece 5 üzerinden 4 olabilir . Paylaşılan bir ana bilgisayardaki beş koşulların tümünü yerine getiremezsiniz biliyorum .

Bildiğim kadarıyla, paylaşılan ana makine sağlayıcıları tarafından iki farklı yapılandırma kullanılır. Her ikisi de, dosyaları ve dizinleri en iyi şekilde korumak için kullanılacak izinler ve yapılandırmanın hangi koşulun yerine getiremediğiyle birlikte aşağıda ele alınmıştır.

Yapılandırma 1: Web sunucusu sahip olarak çalışıyor

Bu AFAIK en yaygın kullanılan yapılandırmadır. Web sunucusu dosyaların sahibi olarak çalışıyor. Bu, sahte bir kullanıcının web sunucusu kullanıcısını başka bir kullanıcının dosyalarını okumak için bir komut dosyası çalıştırmak için kullanamayacağı anlamına gelir. Bu tür yapılandırma ayrıca CLI'de kullanıcıları birbirinden korur.

Ancak, bu, sahip ve web sunucusu için ayrı izinlere sahip olamayacağımız anlamına da gelir. Koşul 2'yi bu tür bir kurulumla karşılamak için, web sunucusunun yükleme dizini dışındaki her şeye yazma erişimini önlemek için sahibinin yazma izinlerini kısıtlamanız gerekir.

İzinler:

Directories:  500 r-x --- --- tom.tom
Files:        400 r-- --- --- tom.tom
settings.php: 400 r-- --- --- tom.tom
Upload Dir.:  700 rwx --- --- tom.tom

Ne yazık ki, bu, koşul 4'ün karşılanamayacağı anlamına gelir. Yani site CLI aracılığıyla sürdürülemez. Sitenin sahibine siteye erişmek için bir tür web tabanlı gösterge tablosu kullanmakla kısıtlanacaktır (tavsiyem, sahibin, kısıtlama erişimi olmayan bazı hazırlama sunucusunda bir kopyasını tutması ve hazırlama sunucusunda paylaşılan ana bilgisayara yapılan değişiklikleri yansıtmasıdır. ).

Config 2: Web sunucusu www grubunun bir üyesi olarak çalışıyor

Bu yapılandırma, paylaşılan bir ana bilgisayar çözümünün (IMHO) daha az profesyonel sağlayıcıları tarafından kullanılır. Web sunucusu www grubunun bir üyesi olarak çalışıyor ve grup bloğu üzerinden gerekli okuma erişimine izin veriliyor:

İzinler:

Directories:  750 rwx r-x --- tom.www
Files:        640 rw- r-- --- tom.www
settings.php: 640 rw- r-- --- tom.www
Upload Dir.:  770 rwx rwx --- tom.www

Bu ayarların, sahibine dosyalarına CLI üzerinden tam erişim sağlama avantajı vardır ve web sunucusunun yalnızca okuma erişimini kısıtlar.

Ancak, aynı zamanda bu paylaşılan ana bilgisayarda sahtekar kullanıcı sağlayan koşul 3. Ie tatmin edememesi okumak için bir komut dosyası çalıştırmak için (veya bir hacker ana paylaşan başka bir kullanıcı sitenin güvenliğini ihlal olarak bu) herhangi tarafından okunabilir dosya Web sunucusu. Bu, sahte komut dosyasının veritabanı kimlik bilgileriyle settings.php dosyasına erişmesini sağlar, bu da siteyi tamamen ele almayı önemsiz hale getirir.

Benim tavsiyem bu tür bir konfigürasyondan kaçınmak.

Zeyilname: Paylaşılan bir sunucu kullanmak ne kadar tehlikelidir?

Paylaşılan bir ev sahibine kesinlikle kredi kartı numarası veya tıbbi kayıt gibi hassas hiçbir şey koymam. Ancak paylaşılan barındırma ucuz ve orada bir cazibe var. Sitelerimden bazıları için paylaşılan barındırma kullanıyorum. Henüz saldırıya uğramadım, ancak riskin var olduğunu biliyorum ve gerçekleştiği güne hazırım. Saldırıya uğradıysam, paylaşılan ana bilgisayardaki her şeyi silerim ve siteyi güvenli bir hazırlama sunucusunda sakladığım ayna kopyasından yeniden yüklerim.

"Config 2" ile ana sorun diğerleri . Ana bilgisayarla paylaştığınız başka bir web sitesi tehlikeye girerse , web siteniz de öğle yemeği demektir. Güvenliği, tanımadığınız ve üzerinde kontrol sahibi olmadığınız başka bir partiye bağlıdır, iyi bir fikir değildir. Bu nedenle benim önerim "yapılandırma 2" tipi barındırma düzenlemelerinden kaçınmaktır.

"Config 1" ile web sitenizin güvenliğini tek başına kontrol edersiniz. Bu daha iyidir (özellikle ne yaptığınızı biliyorsanız). Ancak bu aptalca bir kanıt değildir. Kimse mükemmel değildir ve siteyi tehlikeye atarsanız ve siteniz tehlikeye girerse, saldırgan size ait olan bu ana bilgisayarda depolanan her dosyaya erişebilir . Başka bir deyişle, saldırıya uğradığınız zamanki zararı en aza indirmek için , o ana bilgisayarda başkası erişirse zarar verecek hiçbir şey tutmayın . Özellikle, do not paylaşılan ana bilgisayarda e-posta tutmak. E-postada genellikle tonlarca hassas veri vardır, bu nedenle "siz" olarak çalışan bir web sunucusunun yakınında hiçbir yerde istemezsiniz.

Web uygulamanız hassas verileri işliyorsa, bütçenizin ayrılmış bir ana bilgisayara veya bir VPS'ye izin verdiğinden emin olun.

Drupal.org'da dosya izinlerini ve sahipliğini koruma ile ilgili bu kılavuzu da görmek isteyebilirsiniz.


Tamam, sana 50 puan verdim. Ayrıntılı cevabınız için teşekkürler. Bu paylaşılan barındırma esas olarak kaçınılması gerektiği anlamına gelir, çünkü güvenli olamaz?
Simon Hoare

Aslında şimdi tekrar okudum, bu düzenleme altında dosyaların canlı bir ortamda değiştirilmemesi / değiştirilmemesi gerektiğini ve sadece değiştirilen dosyaları canlı sitenin gereksinimlerini gerektiği gibi değiştireceği bir sahne ortamında çalışacağını etkili bir şekilde söylüyorsunuz. . Başka bir deyişle, hiç kimse canlı siteyi değiştiremez.
Simon Hoare
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.