Audyt

Daniel Janus
17 stycznia 2003

Co to jest i do czego służy?

Mówi się, że żaden system nie jest tak naprawdę bezpieczny, jeśli nie jest audytowany. Jest w tym stwierdzeniu sporo prawdy. Właśnie ta metoda zabezpieczeń często pomaga ustalić, co było przyczyną awarii, jeśli już się zdarzy; jeśli system zostanie zaatakowany, istnieje spora szansa, że będzie możliwe ustalenie adresu IP komputera, z którego nastąpił atak, czasu zdarzenia, jego rodzaju, tego, czy atak się udał, a być może nawet tożsamości sprawcy.

Dlatego też w zdecydowanej większości wypadków celowe jest włączenie audytu (a w wypadku komputera pracującego jako serwer to w zasadzie konieczność). Właściwie jedyna sytuacja, w której można to pominąć, ma miejsce wtedy, gdy komputer jest przez cały czas lub większość czasu odcięty od świata zewnętrznego.

Audyt polega na zapamiętywaniu historii pewnych zdarzeń. Zdarzenia te obejmują najczęściej próby logowania do systemu (zarówno udane, jak i nieudane), uruchamianie programów przez użytkowników, wykorzystywanie uprawnień użytkowników (zmiana czasu systemowego, zmiana hasła...), zdarzenia systemowe takie jak restart i zamknięcie, zarządzanie użytkownikami.

Do systemów, które standardowo udostępniają takie możliwości, należą między innymi: wszelkie Uniksy, Windows linii NT (NT/2000/XP), Mac OS X, VMS od wersji 4.2.

Unix

W Uniksach mamy do czynienia z kilkoma procesami działającymi w tle, uruchamianymi typowo przy starcie systemu i logującymi zdarzenia do plików. Poniżej znajduje się krótki opis tych usług.

POLECENIE PLIK(I) ZAWARTOŚĆ
who wtmp, utmp nazwy użytkowników, terminale, czasy zalogowania
last wtmp nazwy użytkowników, terminale, zalogowania, wylogowania
acctcom (System V) /usr/adm/acct lub /var/adm/pacct polecenia, czasy uruchomienia/zakończenia wykonania, czas procesora itd.
lastcomm (BSD i pochodne) jak acctcom ostatnio wykonane polecenia (w odwróconej kolejności
whodo (System V) utmp, wtmp to, co zwraca who + ps
sa (BSD i pochodne)    
ac (BSD) wtmp dane o zalogowaniach/wylogowaniach
ps różne pliki w /dev, /proc i inne, zależnie od rodzaju Uniksa bieżące procesy
reszta różnie zależnie od rodzaju Uniksa

Inną usługą jest syslog - pozwala administratorowi na logowanie komunikatów systemowych do różnych plików. Należy ustawić, co ma być logowane, w pliku konfiguracyjnym /etc/syslog.conf. Można ustawić priorytet komunikatów, które mają być logowane - jeden z następujących (wymienione w kolejności malejącego priorytetu i wzrastającego rozmiaru logów): emerg, alert, crit, err, warning, notice, info, debug.

Można również ustawić, jakie zdarzenia mają być logowane. Dostępne rodzaje zdarzeń to:

Syslog potrafi też wysyłać logi odpowiednich zdarzeń do wskazanych osób.

Windows NT

Domyślnie audyt jest wyłączony. Aby go włączyć, należy w Start|Programs|Administrative Tools| User Manager lub User Manager for Domains (zależnie od wersji WinNT) w zakładce Auditing ustawić odpowiednie zdarzenia. Grupy zdarzeń są podobne jak w Uniksie i zawierają m.in. następujące zdarzenia: