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:
- 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.
- Güvenli çalışma için, web sunucusunun işlediği dosyalara yazma erişimi olmamalıdır .
- 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 .
- Sahibinin CLI kullanarak kendi sitesinde çalışması için kullanıcının kendi dosyalarına okuma ve yazma erişimi olması gerekir .
- 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.