önsöz
insanların internetten yanlış anlamaları tekrarladığını duymaya devam ediyorum.
ilki; kaç tane kazara keşif oldu, ki bu sadece .. neden ve sonuçtan dolayı , amaçlanandan başka bir şey için kullanıldı ?
Chroot hapishanesi neydi ve nedir
Chroot başlangıçta işlem veya kullanıcı için kök dizini değiştirmek üzere tasarlanmıştır (bilinmeyen kaynaklardan yazılım derlemek için idealdir). bu , temel sistem için güvenliğin yanı sıra kolay temizlik de dahil olmak üzere hızlı bir test yatağı cihazı sağladı . o günden bu yana yıllar geçtikçe, konsepti ve ima edilen kullanımları da kesinlikle değişti.
chroot etkin bir şekilde kullanılmıştır ve birkaç program ve kitaplık için doğrudan kod tabanındadır (ör. openSSHd, apache2 + mod_security2 / mod_chroot, dovecot, sendmail, openVPN, pam_chroot ve daha fazlası ). tüm bu ana uygulamaların hatalı güvenlik çözümleri uyguladığını varsayarsak, bu doğru değildir
chroot, dosya sistemi sanallaştırması için bir çözümdür: hiçbir şey, hiçbir şey. kroot hapishanesinde süreçleri yürütme yönergelerine uyduğunuz sürece, bir kroottan kolayca çıkabileceğiniz varsayımı da doğru değildir.
chroot hapishanenizi korumak için bazı adımlar
yani do DEĞİL KÖK olarak prosesleri çalıştırın. bu, bir kök yükselme vektörü açabilir (bu, krootun içinde veya dışında da geçerlidir). kroot dışında başka bir işlemle aynı kullanıcıyı kullanarak, kroot içinde bir işlem yürütmeyin . saldırı yüzeylerini sınırlamak ve gizlilik sağlamak için her işlemi ve kullanıcıyı kendi Chroot'una ayırın. yalnızca gerekli dosyaları, kitaplıkları ve aygıtları bağlayın. son olarak, chroot temel sistem güvenliğinin yerine DEĞİLDİR. sistemi tamamen güvenli hale getirin.
bir başka önemli not: birçok insan OpenVZ'nin Kırık olduğunu veya tam sistem sanallaştırmasına kıyasla eşit olmadığını düşünüyor. bu varsayımı yaparlar çünkü esasen bir Chroot'dur, sterilize edilmiş bir işlem tablosu vardır. donanım ve cihazlarda güvenlik önlemleri uygulanmaktadır. çoğu bir chroot içinde uygulayabilirsiniz.
her yönetici, özel bir sunucuda veya tam sistem sanallaştırması altında gerekli tüm çekirdek parametrelerini korumak için gereken bilgi düzeyine sahip değildir. Bu, OpenVZ'yi dağıtmanın, müşterilerinizin uygulamalarını dağıtmadan önce denemeyi ve kapsamayı ve güvenliğini sağlamak için çok daha az saldırı yüzeyine sahip olacağı anlamına gelir. iyi bir ev sahibi bu parametreleri güvence altına almak için iyi bir iş çıkarır ve sırayla, bu sadece Düğümdeki veya veri merkezindeki herkes için değil, bir bütün olarak internet için daha iyidir ...
belirtildiği gibi, chroot dosya sistemi sanallaştırması sağlar. hiçbir saldırgan çalıştırılamaz, güvenli olmayan uygulamalar, kütüphaneler, sarkan sahipsiz semboller vb. olmadığından emin olmalısınız. Saldırganın bağlanması tehlikeye girerse, sanal dosya sistemini arabellek taşması, dosya tanımlayıcılarıyla oynaması veya başka bir şekilde, hapishaneden kaçan bir şeyin içinde genellikle ayrıcalık yükseltme yoluyla veya yükünü temel sisteme enjekte ederek tehlikeye atar.
bu olursa, genellikle kötü bir güncellemenin, sıfır gün istismarının veya deyimsel insan hatasının sonucudur .
Tam sistem sanallaştırmasının aksine neden kroot hala kullanılıyor?
şu senaryoyu inceleyin: ana bilgisayar düğümü OpenVZ ile çalışan bir Sanal Özel Sunucu çalıştırıyorsunuz. sadece edemez çekirdek seviyesinde çalışır şey çalıştırın. bu ayrıca işlemleri ayırmak ve ek güvenlik sağlamak için işletim sistemi sanallaştırmasını kullanamayacağınız anlamına gelir. Böylece, sen GEREKİR bu amaçla chroot kullanın.
ayrıca, mevcut kaynaklara bakılmaksızın, chroot herhangi bir sistemde sürdürülebilirdir. Basitçe söylemek gerekirse, herhangi bir sanallaştırma türünün en az yüküne sahiptir. Bu, birçok düşük uçlu kutuda hala önemli olduğu anlamına gelir.
başka bir senaryo düşünün: sanallaştırılmış bir ortamda çalışan bir apache var. her kullanıcıyı ayırmak istiyorsunuz. apache'ye bir chroot eklentisi (mod_chroot, mod_security, vb.) aracılığıyla sanallaştırılmış bir dosya sistemi sağlamak, son kullanıcılar arasında en yüksek gizliliği sağlamak için en iyi seçenek olacaktır. bu aynı zamanda intel'in toplanmasını önlemeye yardımcı olur ve başka bir güvenlik katmanı sunar.
Kısacası, güvenliği katmanlar halinde uygulamak önemlidir . Chroot potansiyel olarak onlardan biri. herkes ve her sistem Çekirdeğe erişim lüksüne sahip değildir, bu nedenle STILL chroot bir amaca hizmet eder. tam sistem erdeminin esasen aşırı olduğu çeşitli uygulamalar vardır.
Sorunuza cevap olarak
özellikle CentOS kullanmıyorum, ama Bind'in operasyonlardan önce ayrıcalıklarını bıraktığını biliyorum. Bununla birlikte, bağlanma öyküsünün saldırı vektörleri ve potansiyel güvenlik açıkları nedeniyle köklü olduğunu varsayıyorum.
ayrıca ... HERKES tam sistem / işletim sistemi düzeyinde sanallaştırmaya erişemediğinden, bu uygulamayı otomatik olarak kroke etmek daha mantıklıdır. bu da ve teorik olarak, CentOS kullanıcı tabanına güvenlik sağlamaya yardımcı olur:
işletim sistemi sağlayıcıları, her birinin aynı sistemi çalıştırdığını varsayarak dolaşmazlar. bu şekilde, genel olarak ek bir güvenlik katmanı sağlamaya yardımcı olabilirler ...
bu kadar çok uygulamanın bunu kullanmasının ve işletim sisteminizin varsayılan olarak neden kullanmasının bir nedeni vardır : çünkü bir güvenlik özelliği olarak kullanılır ve çalışır. dikkatli bir hazırlık ile, daha önce de belirtildiği gibi, potansiyel saldırganın üstesinden gelmesi gereken başka bir engeldir - çoğu zaman sadece kroke hapishanesine verilen hasarı kısıtlar.