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. Pytanie dość ogólne, ale zastanawiam się jak powinno się zabezpieczyć komputery desktopowe z Linuksem na pokładzie którego codziennie używa garstka ludzi. Załóżmy, że tym miejscem będzie szkoła z dual-boot. Komputer będzie służył do przeglądania internetu i nauki programowania, więc serwer MySQL/PHP będzie zainstalowany, kompilatory różnych języków też. Pozostawienie możliwości przełączania się na TTY czy resetowania X skrótem klawiszowym nie jest zbyt mądrym posunięciem. Sytuacja w której jakiś zielony user potrafi zmienić hasło roota z livecd również nie jest pożądana(jak się przed tym zabezpieczyć?). Dlatego moje pytanie brzmi na co zwrócić największą uwagę i jak odpowiednio zabezpieczyć taki system aby średnio ogarnięty użytkownik nie wyrządził szkód w systemie do którego ma fizyczny dostęp ?
PS: Wszelkie odnośniki (a wasze sugestie jeszcze bardziej) do tego zagadnienia są mile widziane, to co znalazłem zazwyczaj tyczy się Linuksa w środowisku sieciowym a nie stacji roboczej.
Ostatnio edytowany przez sp3cu (2009-09-11 15:21:37)
Offline
Co to jest szkoła z dual-boot? Jeśli to szkoła to ja proponuje stawiać pałe jak ktoś tak bardzo coś popsuje. A tak poważnie to takie kompy w szkole są po to żeby psuć ;] Sie człowiek uczy to musi coś popsuć. A że ktoś ci zmieni hasło na roota, to nie potrafisz go zmienić drugi raz? Przy czym pała dla zmieniacza ;] Proponuje przygotować obrazy systemu i w razie spsucia odtwarzać. Bo jak tak pozabezpieczasz to nic nie bedzie można zrobić. Przecież zwykły użytkownik będzie musiał mieć uprawnienia root-a żeby cokolwiek zainstalować, to php czy odpali serwer mysql. Więc jestem przeciw zabezpieczeniu. To nie serwer z chronionymi danymi, tylko śmieciowisko używane przez 10 osób dziennie.
Offline
[quote=kamikaze]Co to jest szkoła z dual-boot?[/quote]
Oj troszkę skróciłem myśli.. Windows i Linux na jednym komputerze.
[quote=kamikaze]Jeśli to szkoła to ja proponuje stawiać pałe jak ktoś tak bardzo coś popsuje. A tak poważnie to takie kompy w szkole są po to żeby psuć ;] Sie człowiek uczy to musi coś popsuć. A że ktoś ci zmieni hasło na roota, to nie potrafisz go zmienić drugi raz? Przy czym pała dla zmieniacza ;] Proponuje przygotować obrazy systemu i w razie spsucia odtwarzać. Bo jak tak pozabezpieczasz to nic nie bedzie można zrobić. Przecież zwykły użytkownik będzie musiał mieć uprawnienia root-a żeby cokolwiek zainstalować, to php czy odpali serwer mysql. Więc jestem przeciw zabezpieczeniu. To nie serwer z chronionymi danymi, tylko śmieciowisko używane przez 10 osób dziennie.[/quote]
Oj nie jestem nauczycielem aby stawiać za to jedynki.
Dogadałem się z nauczycielem, nawet pozwolił na wszystkich zainstalować ale ja i tak odmówiłem bo najpierw chcę sprawdzić jak to będzie się sprawować na jednym stanowisku a później najwyżej rozszerzę na więcej. Serwer MySQL/PHP może startować razem z systemem więc to chyba problemem nie będzie?
Obraz działającego i skonfigurowanego systemu - wiadomo, podstawa ;-).
Na prawdę jesteś "przeciw zabezpieczeniu" ?
Offline
1. jezeli to ma byc srodowisko do nauki "informatyki" to zbytnie obwarowywanie tego jest kontrowersyjne (nie da sie nauczyc konfiguracji linuxa itp nie robiac tego)
2. jezeli ma to byc stacja do przegladania www/poczty itp to imho warto utrudnic jej psucie ... mozesz
a) zrobic srodowisko net-boot czyli jadro po tftp a / po nfs ...
b) zalozyc haslo na bios i kludke na obudowe (aby nie dalo sie startowac z cd) i zalozyc haslo na gruba aby nie dalo sie zmieniac opcji uruchomieniowych jadra
Offline
[quote=kamikaze]Jeśli to szkoła to ja proponuje stawiać pałe jak ktoś tak bardzo coś popsuje. A tak poważnie to takie kompy w szkole są po to żeby psuć ;] Sie człowiek uczy to musi coś popsuć. A że ktoś ci zmieni hasło na roota, to nie potrafisz go zmienić drugi raz? Przy czym pała dla zmieniacza ;][/quote]
Jaka pała? U nas piątki dają dla tych co się dobiorą :) Znaczy, że uczeń zdolny :P
Offline
Najsłabszym ogniwem może być bootmanager/bootloader. grub to śmierć dla Linuksa :) Chyba, że wyłączyć się da możliwość edycji wpisów na uruchomionym już grubie, nawet nie wiem jak. Otóż wystarczy zedytować wpis tak: "root=/dev/xxx rw init=/bin/bash" i oto mamy nieograniczony dostęp do komputera. Nie sprawdzałem nigdy czy użytkownik ten ma więcej praw niż root, tzn. czy plik niedostępny dla roota tu będzie mieć je. Ale tak ja bym opanował system szybko. W Lilo nie widzę takiej możliwości.
Po drugie najszybciej zrobić dwie partycje. Na jednej linux, system bazowy, ale uwaga, zamontować partycję tylko jako Read-Only. To powinno załatwić wszelkie sprawy. Na drugiej partycji zamontować pozostałe zmienne katalogi: /tmp /var i inne takie. Nawet /home można by w readonly dać... Zmienne pliki można wywalić jako dowiązania symboliczne na partycję zmienną. I odtwarzać te pliki skryptem przy uruchamianiu.
I zawsze warto wywalić niebezpieczne programy: parted, dd, rm, mv, useradd, itp. i pewnie jeszcze wiele. (choć read-only powinno załatwić sprawę bez tak drastycznych numerów, no i odpowiednie prawa na wszelkie urządzenia w /dev)
mv /lib hgh (i po systemie :) mój ulubiony sposób, zastosowany raz w szkole )
BIOS (kolega wyżej wspomniał)... Są uniwersalne hasła... Może by je wywalić... hexedytorem :) Ale BIOS nic nie może w sumie... Mało szkodliwy jest. Ale jest groźne cuś jeszcze - bootowanie z innego medium. Wystarczy pendrive czy płyta i po systemie, każdym.
Warto by też zainstalować aplikacyjkę do informowania administratora o czymś że czegoś się nie da, a powinno. Bo mnie na uczelni irytuje, że nie można utworzyć bazy danych w bazie danych :) A administratora oczywiście nigdy nie ma... A na e-mail strach pisać... I tak pewnie nie przeczyta... (filtr na /dev/null)
Użytkownik nie musi mieć praw roota by coś zainstalować. Wystarczy instalować do swojego katalogu domowego. Najlepiej zrobić takiego małego linuksa każdemu, tzn. kopię katalogów /etc /bin /sbin/ /lib i tam niech sobie instaluję. Lokalne /lib dodaje się do głównego /etc/ld.conf.so a zmienną PATH aktualizuje się o lokalne /bin /sbin. Ale istnieje niebezpieczeństwo, że ktoś sobie doinstaluje np. dd i rozwali wszystkie dane innym użytkownikom...
Offline
@NIC
1. o urzadzeniach z ktorych startujemy decyduje wlasnie bios ...
2. pisalem o hasle na edycje gruba ... o ile mnie pamiec nie myli (a moze bo bylo to dawno) w lilo tez sie dalo edytowac wpisy ...
3. system readonly niewiele da - bez praw roota i tak nie mozemy mazac po / (z pewnymi wyjatkami gdzie mazac moga np. uprawnione grupy) ... majac prawa roota mozemy przemontowac ro na rw ...
4. wiekszosc aplikacji o ktorych piszesz jest bezproblemowa w instalacji ... wiec ich wywalanie nie ma sensu (mozna to sobie skopiowac z innego systemu) a i tak potrzebuja one do robienia szkod root'a ... np. wspomniane dd (w przypadku dd wystarczy skopiowac binarke z podobnego systemu i dziala, ale i tak musi miec prawo do czytania pisania odpowiednich /dev)
5. co do lib w katalogu domowym to nalezy uwazac na kolejnosc bibliotek (musi byc ostatnim sprawdzanym katalogiem) bo inaczej mozna przejac roota przy pomocy spreparowanej biblioteki wykorzystanej przez program z setuid root ...
6. nie bazdzmy juz chamami z $HOME ro :-) czy wywalaniem mv i rm (!!!)
7. admini czesto czytaja poczte i mozna smialo pisac ...
@cyryllo w czym ma byc lepsze Ubuntu od Debiana w takim zastosowaniu ... pozatym LDAP nie jest konieczny, konieczna jest metoda odpalenia jadra z zdalnej maszynie ...
Offline
[quote=Trin][quote=kamikaze]Jeśli to szkoła to ja proponuje stawiać pałe jak ktoś tak bardzo coś popsuje. A tak poważnie to takie kompy w szkole są po to żeby psuć ;] Sie człowiek uczy to musi coś popsuć. A że ktoś ci zmieni hasło na roota, to nie potrafisz go zmienić drugi raz? Przy czym pała dla zmieniacza ;][/quote]
Jaka pała? U nas piątki dają dla tych co się dobiorą :) Znaczy, że uczeń zdolny :P[/quote]
No jak chodziłem do podstawówki to za zawieszenie kompa pała była ;] Takie czasy, 486 rządziło ;]
Offline
Ja dostałem pałe za shaczenie z dyskietki znaku zachęty podczas startu DOSa :D
Offline
/me konto admina domeny za znalezienie domyślnego hasła dla użytkownika "Operator" :)
W liceum fajne czasy byly...
Offline
Rozwiązania sieciowe typu jądro po tftp a / po nfs odpadają.
System będzie po prostu zainstalowany na osobnej partycji.
Offline
No to po prostu: obrazy win i linuxa są na lokalnym hdd, przy starcie sumy kontrolne tych obrazów są porównywane z sumami zapisanymi na serwerze. W przypadku różnic następuje synchronizacja obrazów serwera z tymi na stacjach roboczych (rsync), potem następuje odtwarzanie partycji win i linuxa z ww obrazów.
Coś podobnego oferuje systemimager [url]www.systemimager.org[/url]
Offline
wirtualizacja..... Po jaki **** sie meczyc potem z przywracaniem systemu.
Ja nie wiem co czesc propozycji tutaj ma wspolnego z komputerm do "nauki". Sumy kontrolne obrazow... lol a co ma te sumy liczyc i robic ten obraz podczas ladowania?
Ostatnio edytowany przez qluk (2009-09-11 21:20:44)
Offline
Może to:
http://forum.ubuntu.pl/showthread.php?t=82622
Offline
Do zrobienia takiego komputera powinna wystarczy dobrze przygotowana wersja Knoppiksa z unionfs i jakiś skrypt do automatycznego przywracania domyślnych ustawień. W tym połączenie z internetem i montowanie odpowiednich partycji. Niech sobie pracują, kombinują i usuwają co chcą. Można w obudowie zamknąć drugi napęd w taki sposób aby nie można się było do niego dostać bez rozbierania obudowy. Powiem, że jeszcze takiego czegoś nie próbowałem ale to wpadło mi do głowy po przeczytaniu tego tematu.
Ps. Komputer zamknąć w biurku z dostępem do drugiego napędu i przynajmniej jednego portu usb.
Ostatnio edytowany przez fnmirk (2009-09-11 23:44:53)
Offline
[b]tgR[/b], a wiesz chociaż co to jest unionfs i do czego może służyć?
Offline
A czy można jakoś zrobić, aby dane które zostaną zapisane przez użytkowników do /home były automatycznie usuwane przy wyłączaniu/włączaniu systemu z pominięciem konfiguracji(.*) która znajduje się w tym katalogu ? Czy aby szybciutko ktoś nie zapełnił dostępnego miejsca lepiej założyć quote(~100mb) na użytkowników i zmienić prawa dostępu do plików konfiguracyjnych w /home aby nikt nic nie namieszał?
Jeszcze zastanawiam czy dać pełny zapis/odczyt do /var/www i innych katalogów związanych z LAMP ?
Ach no i hasełko na BIOS na pewno będzie, więc skompromitowanie systemu za pomocą zewnętrznego nośnika z dystrybucją już nie będzie takie łatwe ;P.
Ostatnio edytowany przez sp3cu (2009-09-15 22:42:33)
Offline
[quote=tgR]mozesz zrobic statycznie public_html jako vhosta albo mod_userdir jak bedzie tam wiecej userow[/quote]
Możesz to trochę rozwinąć ?
Offline
Dobra wszystko już działa włącznie z serwerem LAMP. Jeszcze chciałbym ustawić ~/ tylko do odczytu z wyłączeniem ~/www. Zastanawiam się jak to zrobić aby miało głowę i nogi. Chcę uniknąć takich przypadków, że ktoś sobie zechcę usnąć ~/.* i całą konfiguracja (środowiska graf. i aplikacji) pójdzie na marne, nawet zmiana ikon czy motywu w graficznych narzędziach powinna kończyć się fiaskiem(odpowiednik komunikatem o braku uprawnień albo jeszcze lepiej - niczym). Czy ustawienie wszystkiego w katalogu domowym jako tylko do odczytu będzie dobrym rozwiązaniem czy jakoś inaczej, bardziej elegancko można to zrobić ?
Offline
mozna sprobowac z $HOME ktorego wlascicielem bylby root i dawal tylko prawo odczytu ... ale IMHO po co zabraniac userowi zmiany czegokolwiek w swoim $HOME ... che sobie wywalic konfiguracje konta to ja wywali co za problem ...
Offline
[quote=bercik]mozna sprobowac z $HOME ktorego wlascicielem bylby root i dawal tylko prawo odczytu ... ale IMHO po co zabraniac userowi zmiany czegokolwiek w swoim $HOME ... che sobie wywalic konfiguracje konta to ja wywali co za problem ...[/quote]
Jedno konto użytkownika w systemie dla wszystkich używających komputera.
Lepiej będzie aby nikt nie mógł usunąć nawet panelu gnome.. dla zabawy.
Spróbuje nadać odpowiednie uprawnienia w wirtualnej maszynie, jak to się sprawdzi to spróbuje już na docelowym systemie.
Później na jakies 2 tyg. publicznie udostępnie używanie tak skonfigurowanego sytemu i zobaczę co jeszcze jest do doszlifowania. Jak nikt nic nie namiesza to NFS, dd i jazda z klonowaniem na reszte komputerów ;P.
Offline
[quote=tgR]tam nie mialo byc "greem reaper" ? :P jak w jakims filmie[/quote]
raczej „grim”
http://en.wikipedia.org/wiki/Grim_Reaper
Ostatnio edytowany przez azhag (2009-10-14 10:04:03)
Offline
[quote=tgR]no chyba ze green ;) to wiesz ze jestem z toba ;D[/quote]
Oczywiście, że green.
Zamierzenie celowe i świadome (chociaż myślałem nad "grim") ;).
Ostatnio edytowany przez sp3cu (2009-10-14 14:59:34)
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00010 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00105 | 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.141.12.30' WHERE u.id=1 |
0.00067 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.141.12.30', 1732302963) |
0.00056 | SELECT * FROM punbb_online WHERE logged<1732302663 |
0.00060 | 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=14973 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00266 | 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=14973 ORDER BY p.id LIMIT 0,25 |
0.00087 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=14973 |
Total query time: 0.0066 s |