Skocz do zawartości
Zaloguj się, aby obserwować  
Mateusz Sojda

Grsecurity

Polecane posty

Nałożyłem na jądro łatkę grsecurity, ale niestety nie wyszło,

 

korzystałem z tego tutoriala:

 

http://www.grsecurity.net/quickstart.pdf

 

System sypie dziwnymi błędami, a nawet uruchomienie 'wget' rozpoznaje jako Untrusted Exec...

 

Które z włączonych przeze mnie opcji mogą zakłócać pracę systemu?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Akurat TPE potrzebuje, gdyż ma on możliwość ustawienia "trusted group". Jak użytkownik nie był w tej grupie to przy wykonaniu jakiegokolwiek pliku z prawami usera:

 

"Brak dostępu"

 

Natomiast gdy dodałem go do tej grupy:

 

"cannot execute binary file".

 

Czyli musi to być coś innego.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Akurat TPE potrzebuje, gdyż ma on możliwość ustawienia "trusted group". Jak użytkownik nie był w tej grupie to przy wykonaniu jakiegokolwiek pliku z prawami usera:

 

"Brak dostępu"

 

Natomiast gdy dodałem go do tej grupy:

 

"cannot execute binary file".

 

Czyli musi to być coś innego.

TPE to Trusted Path Execution, które definiuje zaufane katalogi, z których możesz uruchamiać programy. Nie wiem jak wygląda implementacja TPE w grsecurity, być może obejmuje też 'trusted group', o którym wspominałeś. Nie mniej jednak nadal uważam, że błąd polega na nieskonfigurowanym TPE i napisanie przez Ciebie, że tak nie jest, wcale tego nie zmienia :D

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

TPE - umożliwia wykonywanie binarek tylko z katalogów do których jedyną osobą mającą prawa zapisu jest root; to tak per default.

 

Pokaż no config swojego kernela. ( vide: wrzuć gdzieś na serwer www plik txt )

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Pokaż no config swojego kernela. ( vide: wrzuć gdzieś na serwer www plik txt )

 

http://matte.pl/pub/config.txt

 

Proszę :)

 

Nie mniej jednak nadal uważam, że błąd polega na nieskonfigurowanym TPE i napisanie przez Ciebie, że tak nie jest, wcale tego nie zmienia :)

 

Tu się z Tobą zgodzę :) Gdyby był skonfiurowany odpowiednio, nie prosiłbym o pomoc :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gdyby był skonfiurowany odpowiednio, nie prosiłbym o pomoc :)
Nie prosiłeś o pomoc, tylko o wskazanie opcji, która może 'zakłócać' pracę Twojego systemu :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Nie prosiłeś o pomoc, tylko o wskazanie opcji, która może 'zakłócać' pracę Twojego systemu :)

 

Jak zwał tak zwał :) wg. mnie to jednoznaczne :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
odznacz w konfiguracji kernela opcje: "partially..." i powinno być tak jak chcesz

 

Spójrz na screena powyżej... Jest odznaczone i nadal nie przyniosło rezultatu :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Wiem, ze to jest forum i tutaj nikt nie musi mi pomagac, jednak bardzo zalezy mi na konfiguracji tej funkcjonalnosci i moze jednak ktos by sie zlitowal :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Wiem, ze to jest forum i tutaj nikt nie musi mi pomagac, jednak bardzo zalezy mi na konfiguracji tej funkcjonalnosci i moze jednak ktos by sie zlitowal ;)
To napisz coś konkretnego (w tym przypadku: czy tylko doinstalowane aplikacje się nie uruchamiają czy wszystkie? a może sh się jednak uruchamia? jakie są prawa do katalogu z aplikacją, która się nie uruchamia? itp., itd.), bo na pytania typu 'bla, bla, bla coś mi nie działa' naprawdę nikomu się nie chce odpisywać.

Generalnie odnoszę wrażenie, że nie wiesz jak działa TPE i próbujesz naprawić coś co działa, ale to już inna kwestia :P

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
To napisz coś konkretnego (w tym przypadku: czy tylko doinstalowane aplikacje się nie uruchamiają czy wszystkie? a może sh się jednak uruchamia? jakie są prawa do katalogu z aplikacją, która się nie uruchamia? itp., itd.), bo na pytania typu 'bla, bla, bla coś mi nie działa' naprawdę nikomu się nie chce odpisywać.

Generalnie odnoszę wrażenie, że nie wiesz jak działa TPE i próbujesz naprawić coś co działa, ale to już inna kwestia ;)

 

TPE z włączoną opcją Partially restrict non-root users pozwala na uruchamianie plików z własnych katalogów, jeśli nie mają one prawa zapisu dla wszystkich lub dla grupy.

 

I coś takiego działa. Jednak działa tylko taka możliwość, że mam grupę o danym GID i w tej grupie trzymam użytkowników 'untrusted', którzy nie mogą uruchamiać nic.

 

Do funkcjonalności, którą chcę osiągnąć służy opcja Invert GID Option, która ma odwracać działanie powyższego i sprawiać, że tylko użytkownicy grupy o podanym GID mogą wykonywać własne pliki.

 

I tutaj pojawia się problem, bo gdy zaznaczę tę opcję to TPE w ogóle wariuje i nie można uruchomić żadnego pliku, nawet gdy użytkownik jest w grupie o podanym wcześniej GID.

 

Znalazłem coś takiego na ten temat - http://bugs.gentoo.org/show_bug.cgi?id=216908

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
TPE z włączoną opcją Partially restrict non-root users pozwala na uruchamianie plików z własnych katalogów, jeśli nie mają one prawa zapisu dla wszystkich lub dla grupy.

 

I coś takiego działa. Jednak działa tylko taka możliwość, że mam grupę o danym GID i w tej grupie trzymam użytkowników 'untrusted', którzy nie mogą uruchamiać nic.

Ta opcja pozwala na uruchamianie plików tylko z własnego katalogu (bez prawa zapisu dla reszty). Jeżeli jej nie zaznaczysz, to każdy kto nie będzie w grupie untrusted i tak będzie mógł uruchamiać te pliki, a także wszystkie pozostałe (do których oczywiście ma prawo dostępu).

 

Do funkcjonalności, którą chcę osiągnąć służy opcja Invert GID Option, która ma odwracać działanie powyższego i sprawiać, że tylko użytkownicy grupy o podanym GID mogą wykonywać własne pliki.

 

I tutaj pojawia się problem, bo gdy zaznaczę tę opcję to TPE w ogóle wariuje i nie można uruchomić żadnego pliku, nawet gdy użytkownik jest w grupie o podanym wcześniej GID.

Nie prawda. TPE w grsecurity nie oferuje w ogóle takiej funkcjonalności, a opcja Invert GID option dotyczy wyłącznie zezwalania na uruchamianie plików jedynie z katalogu należącego do root'a (bez prawa zapisu dla pozostałych).

 

Jak to dokładnie działa możesz sprawdzić w funkcji odpowiedzialnej za TPE w grsecurity: klik.

 

Znalazłem coś takiego na ten temat - http://bugs.gentoo.org/show_bug.cgi?id=216908
Jak już znalazłeś bug report, to mogłbyś:

1) Przeczytać go do końca,

2) Nauczyć się w jakiej formie należy opisywać błędy, aby było to użyteczne ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Co nie zmienia faktu, ze sprawdzalem i nie dziala :)
Co znowu sprawdzałeś (najlepiej napisz od razu jak) i co niby nie działa?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Co znowu sprawdzałeś (najlepiej napisz od razu jak) i co niby nie działa?

 

Obsługę TPE. Zwykly user nie moze wykonywac zadnego pliku, obojetnie czy jest w grupie o podanym GID czy tez nie

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Obsługę TPE. Zwykly user nie moze wykonywac zadnego pliku, obojetnie czy jest w grupie o podanym GID czy tez nie
Nie przeczytałeś tego co napisałem, prawda?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Nie przeczytałeś tego co napisałem, prawda?

 

Przeczytałem. Może i masz rację.

 

W takim razie co pozwala na zablokowanie niektórym userom możliwości uruchamiania plików?

 

Wykluczając noexec na partycji

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Przeczytałem. Może i masz rację.
Nie może, tylko mam :)

 

W takim razie co pozwala na zablokowanie niektórym userom możliwości uruchamiania plików?

 

Wykluczając noexec na partycji

1) jail / chroot,

2) zmodyfikowany grsecurity,

3) inna implementacja TPE dla Linuxa (nie pytaj jaka, bo sam nie wiem czy takie w ogóle istnieją :)),

4) własna modyfikacja kernela.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

2) Wystarczy zmodyfikować funkcję gr_tpe_allow (o której zresztą już wcześniej wspominałem), tak aby spełniała Twoje założenia funkcjonalne. Jest to dosyć prosta funkcja i jej modyfikacja nie powinna przysporzyć żadnych problemów, nawet średnio inteligentnemu programiście :)

 

4) Jądro systemu operacyjnego to nie czarna skrzynka. Wystarczy dopisać kod odpowiedzialny za sprawdzanie praw dostępu przed wykonaniem pliku w funkcjach:

- compat_do_execve (w /fs/compat.c),

- do_execve (w /fs/exec.c),

a także w funkcjach odpowiedzialnych za odwzorowywanie plików do pamięci operacyjnej (w ramach ochrony przed bardziej zaawansowanymi użytkownikami):

- do_mmap_pgoff (w /mm/mmap.c),

- sys_mprotect (w /mm/mprotect.c).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
2) Wystarczy zmodyfikować funkcję gr_tpe_allow (o której zresztą już wcześniej wspominałem), tak aby spełniała Twoje założenia funkcjonalne. Jest to dosyć prosta funkcja i jej modyfikacja nie powinna przysporzyć żadnych problemów, nawet średnio inteligentnemu programiście :)

 

4) Jądro systemu operacyjnego to nie czarna skrzynka. Wystarczy dopisać kod odpowiedzialny za sprawdzanie praw dostępu przed wykonaniem pliku w funkcjach:

- compat_do_execve (w /fs/compat.c),

- do_execve (w /fs/exec.c),

a także w funkcjach odpowiedzialnych za odwzorowywanie plików do pamięci operacyjnej (w ramach ochrony przed bardziej zaawansowanymi użytkownikami):

- do_mmap_pgoff (w /mm/mmap.c),

- sys_mprotect (w /mm/mprotect.c).

 

Dzięki. Nie jestem programista, ale może coś się da zrobić :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Teraz to ja już nie wiem co jest grane.

 

Wyłączyłem TPE i ustawiłem security level na Medium.

 

Dalej nikt nie może nic uruchomić. Nawet root:

 

v164:~# ./test
-bash: ./test: cannot execute binary file

 

Sprawdziłem uruchamiając system korzystając z wcześniej skompilowanego kernela z TPE i również to samo.

 

Z czego to wynika? Z jakichś opcji Grsecurity? Z mojej nieumiejętnej konfiguracji kernela?

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ę

Zaloguj się, aby obserwować  

×