Usługa syslog, która zapisuje komunikaty dziennika tworzone przez jądro i inne usługi w różnych plikach dziennika, konsoli i / lub innych miejscach docelowych, działa pod własnym, specjalnym kontem użytkownika. Podobnie jak wiele innych usług. Ma to na celu wdrożenie zasady najmniejszych uprawnień :
W celu zminimalizowania możliwego wpływu zepsutej lub wadliwej usługi (np. Usługa z błędem, która z kolei zostaje wykorzystana przez atakującego, lub usługa z błędem, który powoduje błąd, to wykonywanie losowych niepożądanych działań lub usługa, która został specjalnie zaprojektowany przez złośliwego programistę do robienia złych rzeczy), chcesz, aby każda usługa miała dostęp tylko do tego, czego potrzebuje do działania i nic więcej.
W dowolnym systemie operacyjnym uniksopodobnym (obejmującym wszystkie dystrybucje GNU / Linux, takim jak Ubuntu), możesz najłatwiej przypisać uprawnienia (to w większości prawo do odczytu i / lub zapisu z / do niektórych plików lub rzeczy podobnych do plików, takich jak węzły urządzeń) na podstawie użytkowników i grup. Istnieją inne możliwości, ale często są bardziej nużące i podatne na błędy w konfiguracji lub działają tylko w określonych kontekstach.
Tak więc usługa syslog działa na koncie użytkownika syslog. Jeśli teraz, na przykład, osoba atakująca może zmusić usługę syslog do wykonania tego, co im powie, zamiast tego, co powinna, usługa syslog jest nadal ograniczona (wymuszona przez jądro na podstawie konta użytkownika, niewymagana przez syslog samo oprogramowanie, które byłoby bezużyteczne, ponieważ jest zagrożone), aby zapisywać tylko do plików dziennika (jedyne pliki, do których użytkownik syslog ma prawo zapisu). Dlatego osoba atakująca nie może użyć zaatakowanej usługi syslog do np. Zmiany zawartości strony internetowej lub bazy danych hostowanej na tym samym komputerze, ponieważ odpowiednie pliki są skonfigurowane do zapisu tylko przez określony zestaw innego użytkownika (ludzkiego lub systemowego ) kont, nie przez konto użytkownika syslog.
Aby wyrządzić więcej szkody niż tylko usunięcie / modyfikacja plików dziennika i odczytanie plików „publicznych” (z uprawnieniem „odczytu” dla wszystkich), atakujący musiałby najpierw wykorzystać drugi błąd, albo w jądrze, albo w jakimś oprogramowaniu który jest zainstalowany, aby działał z innymi uprawnieniami niż użytkownik, który go wywołał ( setuid ), a tym samym zyskał dodatkowe uprawnienia ( eskalacja uprawnień ).
users
Polecenie użyte, zgodnie z
jego strony człowieka , pokazuje tylko użytkownicy, którzy są
obecnie zalogowany . Ponieważ użytkownik syslog jest użytkownikiem
systemu , nigdy się nie zaloguje, więc nigdy nie pojawi się na tej liście. Możesz zajrzeć do pliku
/etc/passwd
lub użyć dowolnej z innych opisanych
tutaj metod
, aby uzyskać listę
wszystkich (ludzkich i systemowych) użytkowników w systemie.