Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2014-07-09 19:06:05

  HaPe - Użytkownik

HaPe
Użytkownik
Zarejestrowany: 2014-07-09

Kontener LXC bezd bootstrap, z osobna dla każdego z użytkowników

Witam, z opisu https://wiki.debian.org/LXC wywnioskowałem, że w lxc instaluje się system za pomocą debootstrap, celem jego izolacji od systemu matki. Całość pracuje na tym samym kernelu jak w przypadku vserver, openvz, chroot itd.
Jednak czy możliwe jest stworzenie dla każdego z użytkowników systemowych odrębnego kontenera lxc, jednak bez potrzeby stawiania w nim na nowo debiana, tylko dowiązując (ew. montując rbind) potrzebne liby, binarki z systemu matki? Chcę za pomocą lxc uzyskać coś na zasadzie jailkita, jednak z możliwością przypisania każdemu z lxc odrębnego adresu IP. Logowanie po ssh może odbywać się dla wszystkich użytkowników przy pomocy tego samego adresu ip oraz portu.

Offline

 

#2  2014-07-09 19:35:11

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Kontener LXC bezd bootstrap, z osobna dla każdego z użytkowników

Jak stworzysz pierwszy kontener, to w cache będziesz miał jego kopię, potem przy próbie tworzenia kolejnego kontenera, system ci będzie tworzył z tego cache, a ty sobie tylko edytujesz odpowiednie pliki i masz tyle maszyn ile chcesz i konfigurujesz im sieć jak chcesz.

Offline

 

#3  2014-07-09 19:47:44

  HaPe - Użytkownik

HaPe
Użytkownik
Zarejestrowany: 2014-07-09

Re: Kontener LXC bezd bootstrap, z osobna dla każdego z użytkowników

Jednak czy można zrobić lxc per user, tak aby po połączeniu przez ssh (pracujące na głównym OS) użytkownik był zamykany w konterze lxc?
Chcę osiągnąć nieco bardziej rozbudowanego jailkita, który pozwoli mi stworzyć teoretycznie odrębnego jaila dla każdego użytkownika systemowego (pliki systemowe będą odpowiednio dowiązane/zamontowane), tak aby móc ustawić odrębny adres IP każdemu użytkownikowi.

Offline

 

#4  2014-07-09 20:33:20

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Kontener LXC bezd bootstrap, z osobna dla każdego z użytkowników

LCX i te Jaile?
Nie jest to jakaś szczególna rewelacja, jeżeli procek wspiera wirtualizację, to maszyna wirtualna maszyna kvm powoduje podobne obciążenie, jak kontener LXC, a oferuje pełną wirtualizację, każda maszyna ma własne jajo, własne sterowniki, i mim zdaniem to jest trochę lepsze wyjście, niż  chrooty na sterydach, jak OpenVZ czy LXC.

Jeśli zależy Ci na ovecommit-memory, to w KVM też jest.

Ostatnio edytowany przez Jacekalex (2014-07-09 20:40:30)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#5  2014-07-09 20:37:04

  HaPe - Użytkownik

HaPe
Użytkownik
Zarejestrowany: 2014-07-09

Re: Kontener LXC bezd bootstrap, z osobna dla każdego z użytkowników

Ujmijmy to nieco inaczej. Sprawa związana jest z moim drugim wątkiem. Chcę niektórym użytkownikom w systemie zarezerwować porty tcp/udp.
I nie wiem na razie jak to rozwiązać, pewnie skończy się na Debianie z jądrem kfreebsd.

Offline

 

#6  2014-07-09 20:53:02

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Kontener LXC bezd bootstrap, z osobna dla każdego z użytkowników

[quote=HaPe]Ujmijmy to nieco inaczej. Sprawa związana jest z moim drugim wątkiem. Chcę niektórym użytkownikom w systemie zarezerwować porty tcp/udp.
I nie wiem na razie jak to rozwiązać, pewnie skończy się na Debianie z jądrem kfreebsd.[/quote]
Od Debiana z jajem BSD znacznie lepszy i stabilniejszy jest BSD.

Rezerwacja portów tcp i udp per user?
Po co?

Stawiasz jedną maszynkę KVM, potem kopiujesz obraz VM dla każdego pacjenta, każdej robisz interfejs TAP z osobnym IP, i każdy ma 65536 portów do dyspozycji w przypadku, kiedy maszyna ma publiczny IP.
W przypadku Ip prywatnego, połączenia do sieci idą przez maskaradę, i wtedy maszyny muszą się tymi portami podzielić.

Jeszcze jest opcja zrobiona chyba specjalnie do LXC, osobny podsystem sieciowy, ale tam też jest wirtualny interfejs z własnym IP, i też nie ma osobnej zabawy z portami.

W FAQ na forum masz przepis na Firefoxa w osobnym podsystemie sieciowym.
http://dug.net.pl/drukuj/262/uruchamianie_firefoksa_w_osobnej_przestrzeni_nazw_zasobow_sieciowych_%28osobna_kopia_stosu_sieciowego%29_i_przekierowanie_calego_ruchu_poprzez_siec_tor/
Możesz się tym pobawić.

Chyba, że chcesz zalatwiać sprawę systemem ACL, w SElinuxie nie pomogę, bo się nim nie bawiłem na tym poziomie (choć wiem, że to wykonalne), ale w ACL Grseca to bułka z masłem:
https://grsecurity.net/gracldoc.htm#IP_ACLs
Tylko łatkę grsec trzeba nałożyć na źródła i skompilować kernel,
do tego skompilować Gradm i narzędzia do Paxa, w Debianie o ile mi wiadomo, nie ma ich w repo.
Tu masz więcej "po polskiemu" o konfiguracji Grsec ACL.
http://www.gentoo.org/proj/pl/hardened/grsecurity2.xml?style=printable

To by było na tyle
;-)

Ostatnio edytowany przez Jacekalex (2014-07-09 20:58:12)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#7  2014-07-09 20:54:31

  HaPe - Użytkownik

HaPe
Użytkownik
Zarejestrowany: 2014-07-09

Re: Kontener LXC bezd bootstrap, z osobna dla każdego z użytkowników

Ten dokument czytałem, jednak czy ACL mogą mieć zastosowanie do konkretnego usera, a nie tylko dla konkretnych binarek?

Offline

 

#8  2014-07-09 21:07:49

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Kontener LXC bezd bootstrap, z osobna dla każdego z użytkowników

Kiepściutko czytałeś, w tym ACL, dlka każdego pacjenta można zdefiniować osobną rolę z osobnymi uprawieniami dla binarek, portów i flag paxa.
Ta dokumentacja gracl wyżej, jest zgodna z prawda, ale dokument ma 10 latek.
Tu masz aktualniejszą wersję:
http://en.wikibooks.org/wiki/Grsecurity/The_RBAC_System
Rolę dla konkretnego pacjenta robi się tak:
http://en.wikibooks.org/wiki/Grsecurity/The_RBAC_System#User_Roles

Składnia jest stosunkowo prosta, jest też rola default, ale przy kilku - kilkunastu pacjentach, polityka może mieć ze trzy metry, a przy okazji poważnie spowolnić działanie sytemu.
Także lepiej nie przesadzać z nadmierną szczegółowością polityki.
http://grsecurity.net/researchpaper.pdf

Ostatnio edytowany przez Jacekalex (2014-07-09 21:13:59)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#9  2014-07-09 22:06:23

  mati75 - Psuj

mati75
Psuj
Skąd: default city
Zarejestrowany: 2010-03-14
Serwis

Re: Kontener LXC bezd bootstrap, z osobna dla każdego z użytkowników

[quote=HaPe]I nie wiem na razie jak to rozwiązać, pewnie skończy się na Debianie z jądrem kfreebsd.[/quote]
Nawet nie próbuj tego badziewia.


[img]https://l0calh0st.pl/obrazki/userbar.png[/img]

Offline

 

#10  2014-07-09 22:07:22

  HaPe - Użytkownik

HaPe
Użytkownik
Zarejestrowany: 2014-07-09

Re: Kontener LXC bezd bootstrap, z osobna dla każdego z użytkowników

Złe przeżycia? I tak spróbuję, choćby z ciekawości.
Czy możliwe jest poskromienie lxc z rbac, tak aby reguły miały zastosowanie do użytkowników wewnątrz kontenera?

Ostatnio edytowany przez HaPe (2014-07-09 22:15:49)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.008 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00009 SET CHARSET latin2
0.00005 SET NAMES latin2
0.00139 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.22.42.189' WHERE u.id=1
0.00066 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.22.42.189', 1732825710)
0.00047 SELECT * FROM punbb_online WHERE logged<1732825410
0.00054 SELECT topic_id FROM punbb_posts WHERE id=271234
0.00059 SELECT id FROM punbb_posts WHERE topic_id=26109 ORDER BY posted
0.00030 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=26109 AND t.moved_to IS NULL
0.00022 SELECT search_for, replace_with FROM punbb_censoring
0.00076 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=26109 ORDER BY p.id LIMIT 0,25
0.00080 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=26109
Total query time: 0.00587 s