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!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
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
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
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
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)
Offline
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
[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)
Offline
Ten dokument czytałem, jednak czy ACL mogą mieć zastosowanie do konkretnego usera, a nie tylko dla konkretnych binarek?
Offline
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)
Offline
[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.
Offline
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
Strony: 1
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 |