Czy istnieją jakieś znaczące różnice między LXC (kontenery Linux) a więzieniem FreeBSD pod względem bezpieczeństwa, stabilności i wydajności?
Na pierwszy rzut oka oba podejścia wyglądają bardzo podobnie.
Czy istnieją jakieś znaczące różnice między LXC (kontenery Linux) a więzieniem FreeBSD pod względem bezpieczeństwa, stabilności i wydajności?
Na pierwszy rzut oka oba podejścia wyglądają bardzo podobnie.
Odpowiedzi:
Bez względu na zastosowaną tutaj fantazyjną nazwę, oba są rozwiązaniami konkretnego problemu: lepszym rozwiązaniem do segregacji niż klasyczny chroot z Uniksa . Wirtualizacja na poziomie systemu operacyjnego, kontenery, strefy, a nawet „chroot ze sterydami” to nazwy lub tytuły komercyjne, które definiują tę samą koncepcję separacji przestrzeni użytkownika, ale z różnymi funkcjami.
Chroot został wprowadzony 18 marca 1982 r., Kilka miesięcy przed wydaniem 4.2 BSD , jako narzędzie do testowania jego systemu instalacyjnego i kompilacji, ale dziś wciąż ma swoje wady. Ponieważ pierwszym celem chroot było jedynie zapewnienie ścieżki newroot , odkryto inne aspekty systemu, które musiały być izolowane lub kontrolowane (sieć, widok procesu, przepustowość we / wy). Tutaj pojawiły się pierwsze kontenery (wirtualizacja na poziomie użytkownika).
Obie technologie (FreeBSD Jails i LXC) wykorzystują izolację przestrzeni użytkownika, aby zapewnić kolejną warstwę bezpieczeństwa. Podział ten zapewni, że określony proces będzie komunikował się tylko z innymi procesami w tym samym kontenerze na tym samym hoście, a jeśli użyjesz dowolnego zasobu sieciowego do osiągnięcia komunikacji „na zewnątrz”, wszystko zostanie przesłane do przypisanego interfejsu / kanału, który ten kontener ma.
cechy
JBS FreeBSD:
allow.mount.zfs
aby uzyskać większą moc, a inne zmienne, takie jakchildren.max
do, określają maksymalną liczbę więzień dla dzieci.vnet
, umożliwiająca każdemu więzieniu posiadanie własnego stosu sieciowego, interfejsów, tablic adresowania i routingu;nullfs
pomoc w łączeniu folderów z folderami znajdującymi się na prawdziwym serwerze w więzieniu;sysctl
).security.jail.allow.*
parametry ograniczą działania użytkownika root w tym więzieniu.Kontenery Linux (LXC):
Opracowywana jest funkcja migracji na żywo. To naprawdę trudno powiedzieć, kiedy będzie gotowy do użytku produkcyjnego, ponieważ doker / lxc mają do czynienia z przerwą proces przestrzeni użytkownika, snapshot, migracji i konsolidacji - ref1 , ref2 .Migracja na żywo działa z podstawowymi kontenerami (bez przechodzenia przez urządzenie ani złożonych usług sieciowych ani specjalnych konfiguracji pamięci masowej).Docker nie używa już LXC. Mają teraz określoną bibliotekę lib o nazwie libcontainer, która bezpośrednio obsługuje integrację z przestrzenią nazw jądra niskiego poziomu i funkcjami cgroups.
Żadna z tych technologii nie stanowi panaceum na bezpieczeństwo, ale oba są całkiem dobrym sposobem izolowania środowiska, które nie wymaga pełnej wirtualizacji z powodu mieszanej infrastruktury systemów operacyjnych. Bezpieczeństwo przyjdzie po wielu dokumentacjach i implementacji tunerów jądra, MAC i izolacji, które oferują ci te virt na poziomie systemu operacyjnego.
Zobacz też:
źródło
root
(i dlatego znajdowały się w ogólnosystemowej lokalizacji kontenerów).