Download: Sysadmin_who
Transkrypt
Download: Sysadmin_who
SYSADMIN Warsztat administratora Porady administratora: Śledzenie użytkowników Who is Who? Administratorzy muszą mieć możliwość śledzenia, który z użytkowników jest aktualnie zalogowany w systemie oraz kto, kiedy i skąd przyłączał się do systemu. Zwiększa to ochronę przed nadużyciami i pozwala na badanie śladów w razie ataku z zewnątrz. MARC ANDRÉ SELIG W dow (:0) i kilka innych terminali (pts/X). spółczesne sieci komputerowe są kie zorientowanie się, kto obecnie pracuje Można przyjąć, że są to okna xterminali. niezwykle przydatne – jeśli chcę w systemie. Poza nazwą użytkownika zdalnie zarządzać klastrem na i określeniem skąd się logował, polecenie Dodatkowo w systemie pracuje wwwadm, moim uniwersytecie, mogę zalogować się podaje również czas i datę logowania, zalogowany z hosta zpidsu5.uni-trier.de oraz przez sieć z domu i wykonać wszelkich czyna także numer konsoli wirtualnej, na któużytkownik mas z hosta acb6ae4b.ipt.aol.com, ności administracyjnych, nie opuszczając rej pracuje użytkownik. który prawdopodobnie korzysta z połączenia mojej kanapy. W naszym przykładzie trzech użytkowników dial-up. jest aktualnie zalogowanych na konsoli – jeNiestety hackerzy burzą to poczucie komden z nich – baier uruchomił serwer XWinfortu. Wystarczy bowiem, że hacker zdobędzie Jak długo w pracy? dostęp do konta zwykłego Polecenie w (Rysunek 2) użytkownika i również ma jest bliskim krewnym pokomfort nieograniczonego lecenia who i jest dostępzdalnego korzystania z mane w większości dystrybuszyny. Dlatego szczególnym cji Linuksa. Oprócz tego, zagrożeniem są administraże polecenie to jest króttorzy logujący się do systesze do wpisywania, wymu z komputerów pracująświetla także informacje cych pod kontrolą MS Wino czasie działania systedows, które są tak podatne mu i bieżące polecenie Rysunek 1: Polecenie who zwraca listę użytkowników aktualnie zalogowanych na podsłuch i przechwytywykonywane na każdym w systemie. Jak widać użytkownik baier uruchomił lokalnie serwer XWindow, wanie haseł. aktywnym PTY (pseudo podczas gdy użytkownicy wwwadm i mas są zalogowani w systemie zdalnie. Co prawda wirtualne terminalu). sieci prywatne (VPN) poObydwa narzędzia wyzwalają zmniejszyć zagroświetlają jedynie użytkowżenia, są one jednak trudników obecnie zalogowane w konfiguracji i zarząnych w systemie. Natodzaniu, a ponadto są mało miast polecenie last (Rysudostępne dla użytkowninek 3) jest logicznym rozków domowych i małego szerzeniem tej funkcjonalRysunek 2: Polecenie w pokazuje w Linuksie więcej informacji niż polecenie who, biznesu. Dlatego też inforności, ponieważ pokazuje pokazując dodatkowo czas pracy i obciążenie samego komputera. macje o tym, kto i skąd się również listę ostatnich lologował, są bezcenne w odgowań do systemu. Warto najdywaniu anomalii i mojednak pamiętać, że polegą zapobiec atakowi. cenie to przeszukuje bazę systemu rozliczania (accounting) od momentu włąKto teraz czenia systemu rozliczapracuje? Rysunek 3: Jeśli jesteś zainteresowany wpisami historycznymi, użyj polecenia nia, co może doprowadzić Polecenie who (patrz Rylast, które pokaże listę logowań wraz z opisem, skąd się logowano, jak i czasem do tego, że polecenie zwrósunek 1) pozwala na szybtrwania sesji. 68 Luty 2004 www.linux-magazine.pl ci tysiące wpisów. Trudno jest korzystać z takiego zalewu informacji – zwłaszcza w systemach, gdzie loguje się wielu użytkowników, dlatego ten natłok informacji trzeba poddać jakiemuś filtrowaniu – istnieje możliwość zawężenia wyników wyszukiwania według kryterium nazwy użytkownika lub nazwy terminala (np. tty1). Z kolei opcja -20 ograniczy wyniki wyszukiwania do ostatnich dwudziestu logowań. Filtry można łączyć: last -5 mas pokaże pięć ostatnich logować dla użytkownika mas. (Rysunek 3). Przy odczytywaniu historii logowania polecenia who i w korzystają z dwóch specjalnych plików: utmp i wtmp. Plik utmp zapisuje informacje o aktywnych użytkownikach i znajduje się zwykle w /var/run. Plik wtmp przechowuje dane o logowaniu i wylogowaniu użytkownika z systemu. Oczywiście dokładne umiejscowienie tych plików jest ściśle zależne od używanej przez ciebie dystrybucji, choć najbardziej typowe katalogi to /var/spool, /var/adm i /etc. Prenumerata Linux Magazine Nie przegap takiej okazji! Jak to działa? Plik wtmp zawiera długą listę logowań i wylogowań (informacje zapisane są w formacie binarnym). Dane generowane są przez programy init, agetty lub login w przypadku logowania na konsoli lokalnej oraz przez init w przypadku wylogowań i restartu. Dla kontrastu plik utmp zawiera tylko jeden wpis dla każdego użytkownika – dane dotyczące ostatniego logowania. W zależności od tego, jak dawno aktualizowana była systemowa biblioteka C, wielkość pliku utmp może być znaczna, ponieważ plik przechowuje informacje o logowaniu każdego użytkownika. Ilość informacji może być bardzo duża zważywszy, że maksymalna dopuszczalna ilość użytkowników w Linuksie to 65,000. W celu oszczędzania miejsca na dysku, nieużywana przestrzeń wewnątrz pliku jest usuwana. Ta sztuczka zapewnia również szybszy dostęp do pliku. Zwykłe programy nie mogą korzystać bezpośrednio z plików wtmp i utmp. Dobrze napisane aplikacje powinny w tym celu używać funkcji bibliotecznych utmpname(), setutent(), getutent() i getutid(). Prawa dostępu są tak określone, żeby wszyscy użytkownicy mieli prawo odczytu plików, podczas gdy zapis jest możliwy tylko dla kilku procesów – init dla wylogowania i zmian runlevel-a (w tym także uruchomienia i zamknięcia systemu); getty i sshd dla terminali fizycznych i wirtualnych; dla programu login do zapisów logowania; sessreg dla logowań w trybie graficznym poprzez xdm. Nie ma zatem potrzeby zabezpieczania plików wtmp i utmp w jakiś specjalny sposób. Więcej informacji, więcej plików zdarzeń Bazy danych, o których dotąd wspominaliśmy, dają informacje na temat różnego rodzaju aktywności użytkowników w systemie. Dane muszą być zgodne z precyzyjnie zdefiniowaną strukturą. Przykładowo informacja o nazwie hosta, z którego użytkownik logował się zdalnie, jest ograniczona co do długości. Skrócone nazwy hostów, takie jak np. pd90249e0.dip.t- pokazane na Rysunku 3, nie są problemem w codziennym użytkowaniu, będą jednak nieprzydatne, gdy trzeba będzie zebrać dowody po włamaniu hackerów. Czasem potrzeba o wiele więcej informacji o przebiegu procesu logowania, np. gdy jest to niezbędne do diagnozowania problemów z rozbudowanymi systemami autoryzacji. Takie informacje są zazwyczaj zapisywane w głównym pliku zdarzeń generowanym przez demona sysylogd. Dlatego w następnym miesiącu zajmiemy się demonem syslogd. ■ ■ Zamawiając prenumeratę oszczędzasz! ■ Płacisz jak za 9 numerów, a otrzymujesz 12! ■ Z każdym numerem DVD lub płyta CD-ROM. Najszybszy sposób zamówienia prenumeraty: http://www.linux-magazine.pl Infolinia: 0801 800 105