Neden chroot yerine lxc kullanıyorsunuz?


11

Bir ubuntu sunucusu tamamen ayrı alanlarda 3 uygulama barındırır.
Her uygulamanın kendi geliştiricileri vardır.
Uygulama geliştiricileri linux "sftp" grubuna aittir.
chroother uygulama geliştiricisi için şifre sftp erişimine izin verir.

/home/app1/prod
/home/app2/prod
/home/app3/prod

Sshd_config içinde

Match Group sftp  
  PasswordAuthentication yes
  ChrootDirectory %h
  ForceCommand internal-sftp
  AllowTcpForwarding no

Endişemiz, bir uygulamadaki diğer 2 uygulamada sorunlara neden olan bir programlama güvenlik açığıdır.

Chot yerine lxc kap kullanmalı mıyız? Neden? Lxc kapsayıcılarındaki değişiklik uygulama geliştiricilerine şeffaf olacak mı?


2
Tek chrootyapmanız gereken bir işlemin kök dizinini değiştirmek. Hiçbir izolasyon veya başka bir şey sunmaz.
Zoredache

Yanıtlar:


14

Linux Kapsayıcılar (LXC), tek bir denetim ana bilgisayarında birden çok yalıtılmış sunucu yüklemesi (kapsayıcı) çalıştırmak için işletim sistemi düzeyinde bir sanallaştırma yöntemidir. LXC sanal bir makine sağlamaz, bunun yerine kendi süreci ve ağ alanı olan bir sanal ortam sağlar. Bir chroot'a benzer, ancak çok daha fazla izolasyon sunar.

Linux kapsayıcılarının çeşitli özellikleri / avantajları vardır:

Avantajları:

Bir chroot (chroot jail) ile karşılaştırıldığında daha iyi izolasyon. Düşük havai. LXC, sanal bir makineye (VMWare / VirtualBox / KVM) konuk işletim sistemi kurma yükü olmadan RAM ve sabit disk alanı açısından minimum kaynak kullanır.

Uygulamalar ve hizmetler (sunucular) yerel hızda çalışır.

Libvirt'te Linux kapsayıcıları için destek var.

Linux kapsayıcıları btrfs ile iyi çalışır.

Ancak bir dezavantajı da var:

Linux kapsayıcıları Linux işlemlerini bir Linux çekirdeğinde çalıştırır. Bu, Linux'u (bir Ubuntu ana bilgisayarında Fedora kapsayıcısı) çalıştırabileceğiniz, ancak diğer işletim sistemlerini (BSD / OSX / Windows değil) çalıştırabileceğiniz anlamına gelir.

Kapsayıcıları yapılandırmak veya yönetmek için GUI (grafik) arabirimleri yoktur.

Bir kabın nasıl kurulacağına ve yapılandırılacağına dair çok az belge vardır. Bir konteynerin yapılandırılması, mütevazı bir teknik bilgi ve beceri (ve büyük bir sabır zemini) gerektirir.


1
LXC içinde hangi çekirdek kullanılır? (ev sahibinden mi misafir mi?)
Francesco

4
Avantaj ve dezavantajların birçoğu, LXC'yi, sorulan soru ile ilgisi olmayan ve hatta belki de yanıltıcı olan tam sanallaştırma ile karşılaştırır.
Roger Dueck

@Francesco, LXC ile (ve genel olarak Linux kapsayıcılarıyla), yalnızca bir çekirdek vardır - ana çekirdek. Bunun bazı istisnaları, örneğin, sanal bir makinede çalışan bir Linux çekirdeği kullandığından MacOS veya Windows üzerinde çalışan Docker'dır; ancak, bu platformlardaki tüm Linux kapsayıcıları hala aynı çekirdeği kullanıyor.
öfke
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.