Skocz do zawartości
Fizyda

Linux - jail/chroot kiedy stosować?

Polecane posty

Konfiguruję sobie wstępnie serwer VPS, początkowo będzie pod wiele usług, ale mało używanych, w razie potrzeby dołożę kolejnego VPS.

 

Moje pytanie brzmi kiedy używać tak zwanego jail'a. Wiem że bind'a ze względów bezpieczeństwa należy zamknąć, pytanie co z resztą usług. Czy nie warto pozamykać wszystkiego na serwerze (apache, mysql, proftpd, postfix+dovecot)?

 

Kolejna rzecz jaka mnie zastanawia to jaki wpływ ma jail na serwer, poza oczywiście zajętym dodatkowo miejscem.

 

Prosiłbym nie dyskutować o sensie wyboru apache bo lepszy nginx, plany rozwoju i migracji są. Na tą chwilę ważne jest uruchomienie wszystkiego, a nginxa będę wprowadzał w późniejszym czasie ponieważ trzeba przetestować i dostosować aplikację do niego.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ja np. Jail'a używałem gdy miałem serwer dedykowany i część zasobów (chodziło przede wszystkim o ftp'a) chciałem oddać "w dzierżawę" innej osobie. Utworzyłem folder w którym tylko mógł się poruszać (by nie zaglądał do innych na serwerze itp..).

 

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Teoretycznie ze względów bezpieczeństwa i limitowania przydziału czasu CPU i ilości RAM, najlepiej wszystkie usługi wrzucić do oddzielnych kontenerów LXC.

Praktycznie - czy w ostatnim czasie wyszły jakieś podatności na BIND'a, Apache'a czy ProFTPd (Kto używa FTP na prywatnym serwerze? :blink:), które umożliwiałyby zwiększenie uprawnień i popsucie systemu/danych?

Warto wynieść MySQL na oddzielnego VPS'a, WWW na oddzielnego, a pocztę na jeszcze innego - ale to może w przyszłości, jak Ci się zacznie robić ciasno.

  • Upvote 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie, i dlatego też nie należy degradować wydajności (np. stawiając oddzielne instancje php-fpm, które nie mogą współdzielić cache'a) na rzecz wyimaginowanego bezpieczeństwa. Jeśli aplikacja wspiera chroota (bind wspiera), lub zapewnia inne możliwości kontroli dostępu (patrz php i open_basedir) to jailowanie powinno być ostatnią rzeczą na jaką się decydujemy, po zadaniu sobie pytań czy to co robimy jest warte zachodu.

 

To co warto jailować to pojedyncze aplikacje, w szczególności te którego kodu nie możemy być pewni (patrz TS3), a nie te których zjailowanie spowodowałoby poważne utrudnienia w administracji czy nawet degradację wydajności (tak jak w przypadku php-fpm).

 

Z chroota jak najbardziej warto korzystać, w szczególności jeśli aplikacja sama go oferuje.

Edytowano przez Archi (zobacz historię edycji)
  • Upvote 2

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dobra a co w takim razie z LXC które padło w temacie? Warto wszystko upchnąć w osobnych kontenerach + jail dla binda i ts3?

 

I jaka jest różnica pomiędzy LXC a dockerem? Bo z tego co wyczytałem to podobne mechanizmy i szczerze mówiąc zastanawiałem się nad tym czy docker ma sens bytu w środowisku produkcyjnym, większość materiałów o nim raczej mówi o zastosowaniach developerskich.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jak to VPS na KVM/Xen/VMWare to śmiało można tam wrzucić Proxmoxa i postawić sobie kontenery pod poszczególne usługi. Co to daje? Możesz robić przeróżne czary z całymi środowiskami na których stoją usługi, bez możliwości popsucia pozostałych usług. Możesz strzelić migawkę całego systemu, zmienić całą konfigurację, popsuć i przywrócić działającą migawkę.
Brakuje procka lub pamięci? Żaden problem. Bierzesz cały kontener LXC i przenosisz go na wydajniejszą maszynę.
LXC robi minimalny narzut na CPU i pamięć.

Docker do którejś wersji korzystał z LXC, a jak jest teraz - nie wiem. To co potrafi Docker, to da się zorganizować na podstawowych możliwościach Kernela i filesystemu.

Jednego z użytkowników WHT namówiłem na konteneryzację blachy z SYS'a. Wprawdzie dzień roboty, ale teraz jest przezadowolony ;)

Edytowano przez Bartosz Z (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jak to VPS na KVM/Xen/VMWare to śmiało można tam wrzucić Proxmoxa i postawić sobie kontenery pod poszczególne usługi. Co to daje? Możesz robić przeróżne czary z całymi środowiskami na których stoją usługi, bez możliwości popsucia pozostałych usług. Możesz strzelić migawkę całego systemu, zmienić całą konfigurację, popsuć i przywrócić działającą migawkę.

Brakuje procka lub pamięci? Żaden problem. Bierzesz cały kontener LXC i przenosisz go na wydajniejszą maszynę.

LXC robi minimalny narzut na CPU i pamięć.

 

Docker do którejś wersji korzystał z LXC, a jak jest teraz - nie wiem. To co potrafi Docker, to da się zorganizować na podstawowych możliwościach Kernela i filesystemu.

 

Jednego z użytkowników WHT namówiłem na konteneryzację blachy z SYS'a. Wprawdzie dzień roboty, ale teraz jest przezadowolony ;)

 

Wirtualizacja KVM w OVH konkretnie VPS SSD 1. Gdybym brał dedyka to oczywistym byłoby stawianie wszystkiego na VPSach, ale VPSy na VPS hmm jakoś słabo to widzę.

Bardziej skłonny byłbym iść w stronę LXC, ewentualnie Docker nad którym już wcześniej myślałem.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gdybym brał dedyka to oczywistym byłoby stawianie wszystkiego na VPSach, ale VPSy na VPS hmm jakoś słabo to widzę.

Bardziej skłonny byłbym iść w stronę LXC, ewentualnie Docker nad którym już wcześniej myślałem.

 

VPS VPS'owi nierówny :P

Tak jak wspomniałem - LXC zrobi Ci pomijalny narzut na CPU i RAM i powinien działać równie dobrze jak na blasze. Może sam Proxmox nie jest najlepszym pomysłem - jego usługi (w tym WebUI) mogą zjadać za dużą część zasobów maszyny, chociaż na moim Kimsufi z biednym Atomem N2800 i 2 GB RAM działa to bardzo przyzwoicie z kilkoma kontenerami.

Zawsze możesz tworzyć LXC na dowolnym Linuxie ze świeżym Kernelem.

 

Docker też jest jakimś wyjściem, choć nigdy z niego nie korzystałem, a w środowisku administratorów jest często podśmiewany (Nie zagłębiałem się czemu :P Może dlatego, że to samo da się osiągnąć wbudowanymi, linuxowymi narzędziami).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

 

Docker też jest jakimś wyjściem, choć nigdy z niego nie korzystałem, a w środowisku administratorów jest często podśmiewany (Nie zagłębiałem się czemu :P Może dlatego, że to samo da się osiągnąć wbudowanymi, linuxowymi narzędziami).

 

W tej chwili docker wygląda mi tak trochę jako gotowy uproszczony LXC dla osób które niekoniecznie chcą wchodzić w szczegóły administracji linuxem.

Takie rozwiązanie dla mass developerów którzy mają znać się na czymś innym.

 

Widzę że jesteś obeznany w temacie czy mógłbym Cię prosić abyś zerknął do mojego drugiego tematu w tym dziale? Próbuję w nim ułożyć swoją wiedzę dotycząca linuxa i poszczególnych usług i spiąć to w całość ;). Będę wdzięczny jeśli zajrzysz i się wypowiesz ;), choćby tylko po to żeby powiedzieć że w dobrą stronę idę :D.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×