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