Upload
nero
View
63
Download
0
Embed Size (px)
DESCRIPTION
1. Monitorowanie pracy systemu vmstat. Podaje statystyczną informację o: stanie procesów użyciu pamięci użyciu swap blokowych operacjach we/wy przerwaniach przełączaniu kontekstu użyciu procesora. 2. Monitorowanie pracy systemu vmstat. vmstat [-n] [delay [count]] - PowerPoint PPT Presentation
Citation preview
Monitorowanie pracy systemu vmstat 1
Podaje statystyczną informację o:
stanie procesów użyciu pamięci użyciu swap blokowych operacjach we/wy przerwaniach przełączaniu kontekstu użyciu procesora
Monitorowanie pracy systemu vmstat 2
vmstat [-n] [delay [count]]
wyświetla count razy informację co czas delay sekund. Opcja n powoduje wyświetlenie nagłówka tylko raz
pierwszy raz wyświetla informację statystyczną od czasu uruchomienia systemu, potem za okres od ostatniego wyświetlenia
Monitorowanie pracy systemu vmstat 3
stan procesów - procsr – procesy działające lub czekające na uruchomienieb – procesy w stanie sleep z wyłączonymi przerwaniami
Monitorowanie pracy systemu vmstat 4
użycie pamięci – memory (domyślnie w kB)
swpd – ilość pamięci zapisanej na dyskufree – ilość wolnej pamięci fizycznejbuff – ilość pamięci zajętej przez bufory
Monitorowanie pracy systemu vmstat 5
użycie swap – swap (domyślnie w kB/s)
si – ilość pamięci odczytywanej z dyskuso – ilość pamięci zapisywanej na dysk
Monitorowanie pracy systemu vmstat 6
Operacje we/wy – io (domyślnie w blokach/s)
bi – ilość bloków wysłanych do urządzeń blokowychbo – ilość bloków odczytanych z urządzeń blokowych
Monitorowanie pracy systemu vmstat 7
Przerwania i przełączanie kontekstu – system
in – ilość przerwań na sekundęcs – ilość przełączeń kontekstu na sekundę
Priorytet procesu 8
Priorytet – zakres -20 do 20, domyślnie 0, ustawiany funkcją setpriority().
Nice – zakres -20 do 19, domyślnie 10. Domyślne i graniczne wartości priority i nice różne w
różnych systemach, zawsze mniejsza wartość to ważniejszy proces.
Procesy o niższym priority + nice uprzywilejowane przy przydziale czasu procesora.
Program nice uruchamia proces z innym nice, renice zmienia nice istniejącego procesu.
Zwykły użytkownik może tylko zwiększyć nice (spowolnić proces)
Monitorowanie pracy systemu top 9
Monitoruje w trybie rzeczywistym
stan systemu najbardziej aktywne procesy
pozwala na interaktywne manipulowanie procesami
Monitorowanie pracy systemu top 10
Ważniejsze opcje:d – czas między kolejnymi próbkami (domyślnie 5 sekund)p – monitoruj procesy z podanym PID (do 20 opcji)s – uruchom w trybie secure (pewne komendy zablokowane, można użyć w /etc/toprc)n – wykonaj n iteracji i zakończb – pracuj w tle (batch) – np. dla przekazania wyników do innej komendy)
Monitorowanie pracy systemu top 11
top – czas systemowy, czas od uruchomienia systemu, liczba aktywnych użytkowników, liczba uruchomionych procesów w ostatnich 1, 5 i 15 minutach Tasks – liczba procesów od ostatniego próbkowania – running, sleep, stopped, zombieCPU(s) – czas procesora (w %) zużyty na procesy użytkownika, jądra, idle. Podaje też czas procesów z nice dodatnim.mem – pamięć dostępna, użyta, wolna, użyta na buforyswap – wielkość swap, ilość użytej i wolnej przestrzeni
Monitorowanie pracy systemu top 12
PID – PID procesuPPID – PID procesu nadrzędnegoUID – UID właściciela procesuUSER – nazwa właściciela procesuPRI – priorytet procesuNI – wartość nice procesu (ujemne wartości mają niższy priorytet)SIZE – suma wielkości obszaru kodu, danych i stosu w kB)RSS – wielkość pamięci fizycznej użytej przez procesSHARED – wielkość użytej pamięci współdzielonej
Monitorowanie pracy systemu top 13
STAT – stan procesu:S- uśpiony (sleep)D- uśpiony z wyłączonymi przerwaniamiR – działający Z – zombieT – zatrzymanyPo symbolu stanu może wystąpić:< - ujemne niceN – dodatnie nicew - swappedzombie – procesy nieprawidłowo zamknięte przez proces nadrzędny. Usunie je init po zakończeniu procesu nadrzędnego
Monitorowanie pracy systemu ps 14
Polecenie ps wyświetla stan procesówAkceptuje opcje w stylu: Unix98 – poprzedzone znakiem '-', mogą być grupowaneBSD – nie poprzedzone znakiem '-', mogą być grupowaneGNU – poprzedzone znakami '--', nie mogą być grupowaneOpcje w różnych stylach można mieszać
Monitorowanie pracy systemu ps 15
Prosta selekcja procesów
ps ax – Unix98ps -e – BSD
Selekcja procesów po nazwie programu (-C), PID (-p, p), tty (-t), wskazanego użytkownika (U, -U, -G)
Format wyświetlania long (l, -l), pełny (-f), zdefiniowany przez użytkownika (o, -o)
Monitorowanie pracy systemu ps 16
Modyfikowanie wyświetlania:
-H – pokaż hierarchię procesóww, -w - szeroki wydruk (załamie, a nie obetnie linie)e – pokaż otoczenie procesu
Monitorowanie pracy systemu ps 17
Przykłady użycia:ps -e wyświetl wszystkie procesy (BSD)ps ax wyświetl wszystkie procesy (Unix98)ps axlw Wyświetl wszystkie procesy, rozszerzony format, szeroki wydruk ps -U root -u root -N wyświetl wszystkie procesy za wyjątkiem procesów użytkownika rootps -eo pid,tt,user,fname,tmout,f,wchan wyświetl wszystkie procesy z zadanym formacie
Monitorowanie pracy systemu pstree 18
Wyświetla hierarchię procesów
Użyteczne opcje:
-p – wyświetl UID procesu-l – szeroki wydruk (załamuj linie, jeśli potrzeba)
Kopie bezpieczeństwa 19
Konfiguracje w kartotece /etc Podstawowe elementy systemu - /bin /lib /boot /sbin
Pozostałe elementy systemu - /usr Zmienne elementy systemu (np. logi,
kolejki) /var Kartoteki użytkowników /home Dane aplikacji – specyficzne dla nich lokalizacje
Kopie bezpieczeństwa 20
Procedury wykonywania kopii zapasowych i odtwarzania – spisać i wydrukować
Sposób i częstotliwość wykonywania kopii bezpieczeństwa dopasowany do specyfiki instalacji
Procedury na wypadek fizycznego zniszczenia sprzętu (np. serwer wraz z nietypowym napędem taśmy)
Kopie bezpieczeństwa 21
dump – kopiuje na taśmę magnetyczną (opcjonalnie do zbioru) filesystem (lub jego fragment)
kopie całkowite lub przyrostowe informacje o dumpowanych filesystemach w /etc/dumpdates
Typowe użycie dump -0u -f /dev/st0 /usr
Kopie bezpieczeństwa 22
Dla zminimalizowania liczby taśm (czasu potrzebnego do odtworzenia systemu):
rozpocząć od dump poziomu 0 (powtórzyć okresowo, np. co miesiąc):
/sbin/dump -0u -f /dev/st0 /usr w kolejnych dniach kopie przyrostowe
(zmodyfikowany algorytm wież Hanoi):3 2 5 4 7 6 9 8 9 9 ... co tydzień wykonać dump poziomu 1 i kontynuować
dumpy od poziomu 3
Kopie bezpieczeństwa 23
Przechowywanie nośników inne pomieszczenie, budynek, szafa ogniotrwała itp. dump poziomu 0 przechowywany długo
(bezterminowo?) dumpy przyrostowe – kilka zestawów taśm
używanych cyklicznie, okresowo wymienianych Przejrzysty, jednoznaczny i sformalizowany sposób
opisywania nośników
Kopie bezpieczeństwa 24
Odtwarzanie systemu – restore utworzyć partycję, np.: mke2fs /dev/sda1 zamontować, np.: mount /dev/sda1 /mnt zmienić bieżącą kartotekę: cd /mnt odtworzyć filesystem z dump poziomu 0:
restore rf /dev/st0 jeśli były wykonywane dumpy przyrostowe,
odtworzyć je w kolejności wykonywania odtworzyć w podobny sposób pozostałe filesystemyOdtwarzanie partycji root – uruchomić komputer z
dysku instalacyjnego w trybie rescue
Kopie bezpieczeństwa 25
Odtwarzanie wybranych zbiorów – restore w trybie interaktywnym: restore -i
poleceniami cd i ls wyszukać zbiory do odtworzenia
poleceniami add i delete utworzyć listę zbiorów i kartotek do odtworzenia
poleceniem restore odtworzyć zbiory z listy
Kopie bezpieczeństwa 26
mt – program do manipulowana napędem taśmy magnetycznejmt fsf n – przewiń taśmę o n zbiorów do przodumt bsf n – przewiń taśmę o n zbiorów w tyłmt status - wyświetl status napędumt rewind – przewiń do początkumt rewoffl – przewiń do początku i rozładuj napęd
Kopie bezpieczeństwa 27
Dump przewidziany jest do wykonywania kopii bezpieczeństwa całych filesystemów
kopie podkartotek lub wybranych zbiorów często wygodniej robić programem tar
Kopie robocze niewielkiej ilości zbiorów można robić poprzez cp -r -p (z podkartotekami, zachowując właściciela, prawa zbiorów i znaczniki czasu)
Analiza logów systemowych 28
Duża ilość informacji, o różnym poziomie ważności Zapisywane samodzielnie przez aplikacje lub
poprzez syslogd Dla zwiększenia bezpieczeństwa logi można
zapisywać na innym serwerze (syslogd -r) Typowo w kartotece /var/log
Analiza logów systemowych 29
Konfiguracja daemona syslogd w zbiorze /etc/syslog.conf
Syslogd dzieli komunikaty na klasy: auth (security), authpriv, cron, daemon, kern, lpr, mail, mark, news, syslog, user, uucp, local0 – local7
Komunikaty w ramach klasy mają różny priorytet: debug, info, notice, warning (warn), error (err) , crit, alert, emerg (panic)
err, warn, panic, security – wycofywane, nie używać
Analiza logów systemowych 30
W zbiorze /etc/syslog.conf znajdują się listy klas i priorytetów komunikatów oraz miejsce ich zapisywania, np.:
kern.* /dev/consoleauthpriv.* /var/log/secureauthpriv.* @logserw.akuku.pl
local1.* /var/log/router*.info;authpriv.none;local1.none /var/log/messages
Analiza logów systemowych 31
Aby uniknąć przepełnienia filesystemu, daemon logrotated okresowo robi ich kopie, poddaje kompresji, usuwa stare wersje, wysyła mailem pod wskazane adresy.
Konfiguracja logrotated w zbiorach /etc/logrotate.conf i zbiorach w kartotece /etc/logrotated.d
Analiza logów systemowych 32
Przy analizie logów pomocne mogą być polecenia:grep wzorzec plik wyszukaj linie zawierające wzorzecgrep -v wzorzec plik – wyszukaj linie nie zawierające wzorcawc – oblicz liczbę wierszy, wyrazów i znaków w zbiorzeuniq – pomiń powtarzające się wierszeuniq -c – jak wyżej, ale podaj liczbę wystąpieńsort -k pos1[pos2] sortuje linie według klucza od znaku pos1 do pos2 włącznie (liczone od 1)
Analiza logów systemowych 33
expand – zamień znaki tab na spacjecolrm [startcol [endcol]] – usuń znaki w zbiorze od kolumny startcol do endcol, liczone od 1ed – edytor liniowy, np. do zamiany łańcuchówvi – edytor ekranowy, makropolecenia do modyfikowania zawartości zbioru
Analiza logów systemowych 34
Ile było naruszeń access-list 101:grep "101 denied" rtr|wc
Z jakich adresów IP:grep "101 denied" rtr|colrm 1 88|more
Jakie adresy były najaktywniejsze:grep "101 denied" rtr|colrm 1 88|sort|uniq -c |sort -r|more
Analiza logów systemowych 35
logwatch – program do analizy logów modułowa konstrukcja uruchamiany przez cron lub na życzenie napisany w perl, można dodać własne moduły lub
modyfikować istniejące trzy poziomy szczegółowości analizy high, med, low efekty analizy zapisywane do zbioru, wyświetlane na
ekran lub wysyłane mailem konfiguracja w /etc/log.d/logwatch.conf skrypty do analizy w kartotece /etc/log.d/conf/services
Monitorowanie i diagnostyka sieci 36
arpwatch – daemon do monitorowania par adresów MAC/IP
Zapisuje baze danych MAC/IP w zbiorze /var/arpwatch/arp.dat
Po restarcie wczytuje uprzednio zapisane dane z arp.dat
Umożliwia wykrycie samowolnych zmian adresu IP, podsłuchiwanie pakietów (ettercap), zlokalizowanie stacji będącej przyczyną złego działania sieci
arp.dat może posłużyć do zbudowania konfiguracji dhcpd
Monitorowanie i diagnostyka sieci 37
new activity – para IP/MAC nie była używana od 6 miesięcynew station – pojawił się nowy adres MACflip flop – adres IP pojawił się z adresu MAC, na którym był poprzedniochanged ethernet address – adres IP pojawił się z nowego adresu MAC (po raz pierwszy)
Monitorowanie i diagnostyka sieci 38
bogon – ramka z adresu IP nie należącego do lokalnej sieci ethernet (IP) broadcast – ramka z adresu broadcast ethernet (IP)
Monitorowanie i diagnostyka sieci 39
Tcpdump – wyświetla nagłówki pakietów w sieci, opcjonalnie zapisuje je do zbioru
-i – tylko na wskazanym interfejsie-n – nie zamieniaj adresów na nazwy-q – wyświetlaj mniej informacji-v – wyświetlaj więcej informacji (-vv, -vvv – jeszcze więcej) Umożliwia selekcję ramek według adresu źródłowego,
docelowego, protokołu Przykład – raportuj wszystkie pakiety TCP oprócz
pochodzącego od komputera test:tcpdump tcp and not host test
Monitorowanie i diagnostyka sieci 40
nmap – testuje otwarte porty Umożliwia wykrycie potencjalnych luk w
bezpieczeństwie Odgaduje rodzaj systemu operacyjnego Wyszukuje otwarte porty UDP i TCP Znajduje aktywne adresy IP z podanym zakresie Rożne rodzaje skanowania, często trudne do wykrycia
Monitorowanie i diagnostyka sieci 41
Przykłady:nmap test.com – wykrywa otwarte porty TCP komputera test.comnmap -sU test.com – wykrywa otwarte porty UDP komputera test.com (długotrwałe skanowanie)nmap -sV test.com – wykrywa programy i ich wersje słuchające na portachnmap -sP 195.164.200.1-10 - wykrywa (ping) aktywne adresy IP w zakresie 195.264.200.1 - 195.164.200.10
Monitorowanie i diagnostyka sieci 42
netstat – wyświetla:
domyślnie – połączenia sieciowe-r – tablica roputingu-i – statystyki interfejsów-s - statystyki protokołów-g – członkostwo w grupach multicast
Monitorowanie i diagnostyka sieci 43
Traceroute, ping, mtr - narzędzia do diagnostyki połączeń sieciowychwysyłają testowe ramki ICMP lub UDP i oczekują na odpowiedźpozwalają wykryć jaką trasą wędrują ramki i gdzie na ich drodze występują problemy.
Monitorowanie i diagnostyka sieci 44
Ping wysyła ramkę ICMP ECHO_REQUEST i oczekuje na odpowiedź ramką ICMP ECHO_REPLYUżyteczne opcje:-b – wyślij ramkę na adres broadcast-f – wysyłaj ramki z maksymalną szybkością, nie czekaj na odpowiedź-n – nie zamieniaj adresów na nazwy-i n - wysyłaj ramki co n sekund-s n – wysyłaj ramki n-bajtów (domyślnie 56)-c n – wyślij tylko n ramek
Monitorowanie i diagnostyka sieci 45
traceroute wysyła ramki UDP długości 40 bajtów kolejno zwiększając pole TTL. Urządzenie, które wyzeruje TTL odpowiada ramką ICMP TIME_EXCEEDEDUżyteczne opcje:-I – użyj ramki ICMP zamiast UDP-m – ustaw maksymalne ttl na inne, niż domyślne 30-n – nie zamieniaj adresów na nazwy-p – ustaw początkowy port inny niż domyślny 33434
Firewall 46
iptables – filtrowanie ramek IPv4 i NAT
tablice filtrowania obsługiwane przez jądro program iptables służy do konfigurowania tabel
filtrowania jądra (od wersji 2.4) konfiguracja iptables w zbiorze /etc/sysconfig/iptables-config reguły filtrowania w zbiorze /etc/sysconfig/iptables
Firewall 47
Trzy wbudowane tablice:
filter – domyślna tablica nat – używana dla pakietów tworzących nowe
połączenie mangle – używana do specjalizowanej zmiany
pakietów
Tablicę wybieramy opcją -t, np.:iptables -L -t nat
Firewall 48
Tablice zawierają łańcuchy składające się z regułReguły definiują, co zrobić z pakietem, który do nich pasujejeśli pakiet nie pasuje do reguły, sprawdzana jest następna reguła
w łańcuchu, jeśli pasuje, to: wykonywany jest kolejny, zdefiniowany przez użytkownika
łańcuch ACCEPT – pakiet jest akceptowany DROP – pakiet jest niszczony QUEUE – pakiet jest umieszczany w kolejce RESUME – opuszczany jest bieżący łańcuch i sprawdzana jest
kolejna reguła łańcucha nadrzędnego
Firewall 49
Wbudowane łańcuchy: INPUT – dla pakietów wchodzących do systemu OUTPUT – dla pakietów utworzonych w systemie FORWARD – dla pakietów wchodzących do systemu,
ale nie dla niego przeznaczonych PREROUTING (POSTROUTING) – w tablicach nat i
mangle, dla pakietów tuż po wejściu (tuż przed opuszczeniem) systemu
Firewall 50
Polecenia:-A – dodaj regułę na końcu łańcucha-D – usuń wskazaną regułę z łańcucha-L – wyświetl tablicę (domyślnie tablica filter, jeśli inna, to np. -t nat)-F – usuń reguły z tablicy-Z – wyzeruj liczniki pakietów-P – ustaw domyślną politykę dla tablicy
Firewall 51
Reguły:-p [!] protocol – dotyczy wskazanego protokołu (tcp, udp, icmp, all)-s [!] address[/mask] – dotyczy adresu źródłowego pakietu-d [!] address[/mask] – dotyczy docelowego pakietu-i name – dotyczy pakietów wchodzących przez wskazany interfejs-o name – dotyczy pakietów wychodzących przez wskazany interfejs -j target – co zrobić jeśli reguła pasuje do pakietu (ACCEPT, DROP itp.)
Firewall 52
Rozszerzenia:ładowane domyślnie (opcja -p) lub jawnie: -m module--source-port [!] port[:port] - dotyczy pakietów pochodzących ze wskazanego portu lub zakresu portów--destination-port [!] port[:port] – dotyczy pakietów skierowanych na wskazany port lub zakres portów--mac-source [!] address – dotyczy pakietów pochodzących ze wskazanego adresu MAC--state – INVALID, ESTABLISHED,NEW, RELATED
Firewall 53
Rozszerzenia wbudowane (targets opcji -j)DNAT (tylko w tablicy nat, łańcuch PREROUTING lub OUTPUT):--to-destination ipaddr[-ipaddr][:port-port] zmień adres docelowy pakietu SNAT (tylko w tablicy nat, łańcuch POSTROUTING):--to-source ipaddr[-ipaddr][:port-port] zmień adres źródłowy pakietuPodanie zakresu adresów (portów) spowoduje cykliczne używanie kolejnych
Firewall 54
Rozszerzenia wbudowane (targets opcji -j)MASQUERADE (tylko w tablicy nat, łańcuch POSTROUTING):--to-ports port[-port] zmień docelowy port pakietu
Używany przy dynamicznym przydzielaniu adresów karcie, wychodzącemu pakietowi zostanie przydzielony adres IP interfejsu. Jeśli interfejs ma adres statyczny, należy użyć SNAT
Limitowanie pamięci na dysku 55
quota – ogranicza wielkość pamięci dyskowej dostępnej dla użytkowników i grup
limit na zajęty obszar na dyskulimit na liczbę utworzonych zbiorówdwa rodzaje limitów: soft – po przekroczeniu system wyświetla ostrzeżenie hard – system nie pozwoli przekroczyć tego limitulimity oddzielne dla każdego filesystemuPrzekroczyć limit soft można na określony czas, grace
time, domyślnie 7 dni. Jeśli zbiory nie zostaną usunięte, stanie się on limitem hard.
Limitowanie pamięci na dysku 56
Musi zostać zainstalowany pakiet quota, sprawdzić możemy:
rpm -qa | grep quota w /etc/fstab dla filesystemów z quota dodać
usrquota (grpquota), np:/dev/hda7 /home ext3 defaults,usrquota 1 2 stworzyć grupę usrquota (grpquota) przeładować system lub przemontować filesystemy z
quota, np:mount -o remount /home
Limitowanie pamięci na dysku 57
Przejrzeć filesystemy i utworzyć bazy danych quota:/sbin/quotacheck -cguvamf -F vfsv0 Dla wszystkich filesystemów ze zdefiniowanym quota
w ich głównych kartotekach zostaną utworzone zbiory aquota.user
Włączyć quota:quotaon -a
Limitowanie pamięci na dysku 58
Ustawianie limitów dla użytkowników:setquota -u USERNAME SOFTQUOTA HARDQUOTA SOFTFILELIMIT HARDFILELIMIT -a|<filesystem>
SOFTQUOTA i HARDQUOTA to limity wielkości pamięci dyskowej w blokach
SOFTFILELIMIT i HARDFILELIMIT to limity ilości zbiorów.
Ustawienie limitu na wartość 0 powoduje wyłączenie limitu
Np. ustawienie dla użytkownika test limitu 10MB:setquota -u test 8000 10000 0 0 -a
Limitowanie pamięci na dysku 59
quota – wyświetla limity i aktualne użycie zasobów
root może wyświetlić limity dowolnego użytkownika, zwykły użytkownik tylko swoje.quota [-u test]grace time zmienić można poleceniem edquota -t
Rozwiązywanie problemów sprzętowych 60
Filesystem /proc tworzy interfejs do struktur jądra Większość obiektów jest tylko do odczytu, ale niektóre
można zmieniać. Kartoteki o nazwie w postaci liczby to interfejsy do
struktur procesów, nazwa kartoteki to PID. environ – otoczenie procesu. Linie nie są zakończone
znakiem \n, wiec aby wyświetlić:(cat /proc/1/environ; echo) | tr "\000" "\n" fd – kartoteka z linkami do każdego otwartego przez
proces pliku
Rozwiązywanie problemów sprzętowych 61
maps – plik z opisem używanych przez proces obszarów pamięci i prawami dostępu.
root – kartoteka root procesu stat – informacje o procesie wyświetlane przez
polecenie ps statm – informacje o stanie pamięci status – większość z informacji stat i statm w
czytelniejszej postaci
Rozwiązywanie problemów sprzętowych 62
bus – kartoteka z informacjami o zainstalowanych urządzeniach pci, pcmcia, usb. Wartości binarne, interfejs z komend lspci, setpci, lsusb itp.
cpuinfo – dane o procesorach (typ, częstotliwości, wielkość cache itp)
devices – lista numerów głównych urządzeń – może być użyta przez MAKEDEV dla zapewnienia kompatybilności z jądrem
dma – lista zarejestrowanych i używanych kanałów DMA
Rozwiązywanie problemów sprzętowych 63
filesystems – lista typów filesystemów wkompilowanych w jądro. Używana przez polecenie mount, jeśli nie wskażemy jawnie typu
ide – kartoteka z opisem urzędzeń IDE. Informacje o urządzeniach w podkartotekach, w zbiorach tekstowych. Interfejs do tych danych zapewnia program hdparm
interrupts – lista przerwań z licznikami. iomem – użycie buforów we/wy przez programy ioports – lista adresów zarejestrowanych portów
Rozwiązywanie problemów sprzętowych 64
net – informacje o sieci (wyświetla je netstat) pci – lista urządzeń pci wykrytych przez jadro podczas
inicjalizacji sys – kartoteka ze zmiennymi systemowymi. Niektóre
można zmieniać, np. Wpisanie “1” do zbioru:/proc/sys/dev/cdrom/autoejectSpowoduje automatyczne wysunięcie cdrom z napędu po
odmontowaniu urządzenia
Rozwiązywanie problemów sprzętowych 65
lspci – wyświetla informacje o szynach pci i urządzeniach
Podaje dane z /proc/bus/pci Informacje o nazwach urządzeń, producencie - ze
zbioru /usr/share/hwdata/pci.ids -v (-vv) wyświetla więcej informacji -b – wyświetla przerwania i adresy odczytane z kart, a
nie z jadra -s – selekcja urządzenia, np:lspci -s 03:
wyświetli tylko urządzenie 03 (szyna 3)
Rozwiązywanie problemów sprzętowych 66
setpci – odczytuje i ustawia parametry urządzenia pci.Wybór urządzenia:-s [[<bus>]:][<slot>][.[<func>]]Odczyt wartości – podanie nazwy rejestru. Zapis – przypisanie nowej wartości znakiem =, np:$> setpci -s 03:0a.0 INTERRUPT_LINE03$> setpci -s 03:0a.0 INTERRUPT_LINE=05$> setpci -s 03:0a.0 INTERRUPT_LINE05Nazwy rejestrów – w man 8 setpci
Rozwiązywanie problemów sprzętowych 67
lsmod – wyświetla załadowane moduły jądra. Podaje nazwę, rozmiar, liczbę odwołań i jakie inne moduły go używająModule Size Used by snd_intel8x0 35677 0snd_ac97_codec 93413 1 snd_intel8x0ac97_bus 6465 1 snd_ac97_codec
Rozwiązywanie problemów sprzętowych 68
insmod – ładuje moduł jądraModuły standardowo znajdują sie w podkartotekach /lib/modules, np:/lib/modules/2.4.../kernel/crypto/blowfish.ko/lib/modules/2.4.../kernel/drivers/block/loop.ko
rmmod – usuwa moduł jądra
Rozwiązywanie problemów sprzętowych 69
modprobe – ładuje moduł jądra i moduły, od których on zależyZależności pomiędzy modułami zdefiniowane są w zbiorze/lib/modules/wersja_jadra/modules.dep depmod – program analizujący zależności pomiędzy modułami i tworzący zbiór modules.dep
Zabezpieczanie systemu 70
Zwiększenie bezpieczeństwa systemu obniża jego funkcjonalność i komfort pracy
Przedsięwzięte środki zabezpieczające muszą być adekwatne do potencjalnych zagrożeń
Linux jest bezpiecznym systemem operacyjnym, ale nie w 100%
Każde oprogramowanie zawiera błędy, administratorzy i użytkownicy też je popełniają
Zabezpieczanie systemu 71
Uruchamiać tylko te usługi sieciowe, które są potrzebne (inetd, xinetd, samodzielne daemony /etc/rc.d/rcx.d, netstat -alp, nmap)
Uruchomione usługi ograniczyć tylko do zainteresowanych odbiorców (na niektórych interfejsach, nie o każdej porze – tcpd, bariera na firewall, kontrola nmap z internetu)
Usługi rpc (również portmap) i nfs uruchamiać tylko wtedy, kiedy są niezbędne
Zabezpieczanie systemu 72
Jeśli to możliwe, zastąpić telnet przez ssh, nie używać ssh v1
Jeśli serwer widoczny jest z sieci internet lub nie jest zainstalowany w bezpiecznej sieci, skonfigurować i uruchomić firewall
Usunąć z issue informacje identyfikujące wersję systemu
Zabezpieczanie systemu 73
Zapisywać w logach istotne informacje (syslog.conf) Okresowo przeglądać logi, posiłkować się programem
logwatch i własnymi skryptami Istotne informacje przesyłać mailem na swoje konto
(ewentualnie SMS korzystając z procmail) Ważne informacje dotyczące bezpieczeństwa
zapisywać w dwu zbiorach, nawet na innym serwerze (facility i priority w syslog.conf)
W logach nie zapisywać informacji nieistotnych
Zabezpieczanie systemu 74
Przeglądać okresowo historię logowania sie użytkowników (last -22, w .login, cron + mail itp.)
Przeglądać okresowo listę uruchomionych procesów (ps ax, .login, cron + mail)
Przeglądać nowe patche i instalować w razie potrzeby
Zabezpieczanie systemu 75
Bit SUID SGID używany jest przez programy, które muszą wykonywać pewne operacje z większymi prawami niż zwykły użytkownik (na przykład sendmail czy mount)
Polecenie ls -l wyświetla bity SUID i SGID:r-sr-xr-x ustawiony SUIDr-xr-sr-x ustawiony SGID Wyszukać programi SUID i SGID i zweryfikować, czy
są potrzebne:find / \( -perm -4000 -o -perm -2000 \) -exec ls -ldb {} \; >> /tmp/suids
Zabezpieczanie systemu 76
Przejrzeć prawa dostępu do kartotek z ważnymi danymi i katalogów użytkowników, zwrócić uwagę na prawa grupy i jej członków (/etc/group)
Nie przechowywać haseł w zbiorze /etc/passwd, używać /etc/shadow
Nie używać trywialnych haseł (krótkich i ze słownika), nie zapisywać haseł, uświadomić użytkownikom znaczenie bezpiecznych haseł, okresowo kontrolować? (John the Ripper)
W razie potrzeby w /etc/login.defs zmienić minimalną długość hasła:
PASS_MIN_LEN 5
Zabezpieczanie systemu 77
Konta root używać tylko wtedy, gdy to niezbędne Korzystać z polecenie su -, nie zezwalać na
bezpośrednie logowanie Ustawić automatyczne wylogowanie po okresie
nieaktywności np. 10 minut (TMOUT=600 w .bash_profile; w /etc/bashrc będzie dotyczyło wszystkich użytkowników)
Ograniczyć prawo wykonywania su – do członków grupy wheel (/etc/pam.d/su, usunąć komentarze)
Zabezpieczanie systemu 78
W /etc/fstab dla urządzeń montowanych przez użytkowników ustawić flagi nosuid (nie ustawiaj bitu SUID ani SGID), nodev (nie interpretuj plików urządzeń), noexec (nie pozwalaj na uruchamianie programów binarnych)
Jeśli do komputera mają dostęp przypadkowe osoby ustawić hasło w bios i boot-loaderze, zablokować klawisze ctrl+alt+del w /etc/inittab, nie wysyłać na konsolę logów (syslog.conf)
Postępowanie po włamaniu do systemu 79
Uniemożliwić dalsze nieuprawnione korzystanie z systemu (zablokowanie dostępu z adresu IP, zamknięcie usługi, zablokowanie dostępu z sieci ...). Postępowanie musi być adekwatne do zagrożenia i uwzględniać potrzeby użytkowników.
Ustalić sposób uzyskania nieuprawnionego dostępu, uniemożliwić ponowne wykorzystanie luki w systemie
Znaleźć w systemie i usunąć pozostałości po włamaniu, jeśli to możliwe, zainstalować nowy system i skopiować konfiguracje i dane użytkowników
Postępowanie po włamaniu do systemu 80
Sprawdzić pozostałe systemy w sieci Nie kasować bez potrzeby dysków systemu, jeśli to
możliwe, pozostawić do późniejszej analizy. Nie zapisywać na nich bez potrzeby żadnych zbiorów – skasowane przez włamywacza dane mogą nadal się na nich znajdować
W razie potrzeby powiadomić o incydencie CERT
Postępowanie po włamaniu do systemu 81
Objawy włamania Nieprawidłowe wpisy w logach systemowych (również
brak wpisów) Pliki z SUID lub SGID:find / -user root -perm -4000 -printfind / -group kmem -perm -2000 -print Zmienione programy binarne:rpm -Vf /bin/* Wpisy flip-flop w logach arpwatch – możliwe sniffery Niewłaściwe programy uruchamiane przez crond i atd
Postępowanie po włamaniu do systemu 82
Zmienione usługi sieciowe (xinetd.conf, netstat -alpn, nmap)
Nowe i zmienione wpisy w /etc/passwd, /etc/group – puste hasła, nowi użytkownicy, zmienione UID (w szczególności na 0)
Nieprawidłowe wpisy w zbiorach hosts.equiv, hosts.lpd, .rhosts nowe nazwy, znaki +. Zbiory, których dawniej nie było
Postępowanie po włamaniu do systemu 83
Zbiory i kartoteki o nieprawidłowych nazwach, na przykład “...” “.. “, “..^G”
find / -name ".. " -print -xdevfind / -name ".*" -print -xdev | cat -v(cat -v – wyświetl znaki nie drukowalne)