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/.
Witajcie
Szukam sposobu na ograniczenie możliwości wyjście użytkownika poza swój katalog roboczy.
Userzy łączą się po ssh.
Mają przycięte środowisko za pomocą lshell-a, natomiast jeśli dać im dostęp do mc - spokojnie mogą wychodzić poza swój katalog domowy.
Od kilku dni jednak domagają się przywrócenia mc - czy znacie może sposób na zablokowanie wyjścia poza ~ z poziomu mc ?
Z góry dziękuje za odpowiedź
Offline
W profilu Apparmora da się to zrobić.
Dać MC dostęp tylko do niezbędnych plików, konfigów i biliotek (potrzebnych do uruchomienia programu), a poza tym:
deny / mrwxlk, owner @{HOME}/** rwl,
Identycznie można zrobić "jaila" dla Basha i każdej powłoki.
To samo można zrobić w Grsecurity RBAC czy SELinuxie, ale to już inny poziom gimnastyki.
Tu masz niezły przykład profilu Apparmoa dla Basha, który ogranicza także MC, tam tylko do poprawki są reguły dla dla /home/*/ do kształtu, jaki dałem wyżej.
https://blog.cryptomilk.org/2011/09/02/jailbash/
Po prostu sposób konfiguracji Apparmora od wersji obowiązującej w 2011 roku się troszkę zmienił.
Ostatnio edytowany przez Jacekalex (2015-04-15 05:03:43)
Offline
Nie prościej dać chmod np. 711 na /home?
Offline
Pavlo950 napisał(-a):
A nie wystarczy 700 dla root dla /home i 777 dla /home/user?
Bzdury totalne z 777 dla /home/user, i w ogóle uprawnieniami się powłoki nie zmodyfikuje.
Jeśli już samymi uprawnieniami dla systemowymi takie klatki bym musial budować, to wyłącznie przez mechanizm ACL, a i tak jażdy by bylo z tym na tydzień, podczas, gdy profil Apparmora mogę naskrobać w godzinkę czy dwie.
Powód jest taki, ze wewnątrz konta użyszkodnika musi być dostęp do poleceń powłoki, i bibliotek, które te programy używane w powłoce potrzebują.
Jak ktoś potrafi majstrować uprawnieniami całego systemu do takiej roboty, to skończy i tak podobnie do chyba rotnode (o ile mnie pamięć nie myli) (mieli konta shell, oberwali przez dziurawe sudo).
Uprawnienia to troszkę za mało do szczelnego skonfigurowania klatki na konto shellowe, najłatwiejszym z bezpiecznych rozwiązań jest Apparmor, trudniejszym i dużo bardziej dziurawym od profilu Apparmora jest Chroot,
Względnie w miarę bezpieczny Chroot można zrobić, jak go dozbroić opcjami Chroot-protect z Grsecurity, ale Grsec, to już inny poziom gimnastyki, niewiele jest z resztą dystrybucji, które dostarczają gotowe jajko z Grsec,
a samodzielna kompilacja, to już wykracza poza standardową adminkę, i trzeba znacznie bardziej czaić bazę, żeby się w Grsec/Pax bawić.
Ale zamian do chroota możemy mieć takie kfiatki:
kernel.grsecurity.chroot_caps = 1 kernel.grsecurity.chroot_deny_bad_rename = 1 kernel.grsecurity.chroot_deny_chmod = 1 kernel.grsecurity.chroot_deny_chroot = 1 kernel.grsecurity.chroot_deny_fchdir = 1 kernel.grsecurity.chroot_deny_mknod = 1 kernel.grsecurity.chroot_deny_mount = 1 kernel.grsecurity.chroot_deny_pivot = 1 kernel.grsecurity.chroot_deny_shmat = 1 kernel.grsecurity.chroot_deny_sysctl = 1 kernel.grsecurity.chroot_deny_unix = 1 kernel.grsecurity.chroot_enforce_chdir = 1 kernel.grsecurity.chroot_execlog = 0 kernel.grsecurity.chroot_findtask = 1 kernel.grsecurity.chroot_restrict_nice = 1
Do tego bardzo sympatyczny ACL - RBAC - też z Grsec.
Jest jeszcze SELinux (w każdym standardowym jaju, często domyślnie), który może tworzyć takie klatki typu sandbox, ale Selinux w konfiguracji jest ze 20 razy trudniejszy od Apparmora.
Klatka przy pomocy profilu Apparmora, to moim zdaniem najprostsza
z naprawdę skutecznych opcji, i w przeciwieństwie do majstrowania uprawnienia mi w całym systemie nie daje ryzyka rozpieprzenia całego systemu w drobny mak.
Pozdro
;-)
Ostatnio edytowany przez Jacekalex (2015-04-16 06:37:51)
Offline