83
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

  • 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

Page 1: Monitorowanie pracy systemu vmstat

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

Page 2: Monitorowanie pracy systemu vmstat

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

Page 3: Monitorowanie pracy systemu vmstat

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

Page 4: Monitorowanie pracy systemu vmstat

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

Page 5: Monitorowanie pracy systemu vmstat

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

Page 6: Monitorowanie pracy systemu vmstat

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

Page 7: Monitorowanie pracy systemu vmstat

Monitorowanie pracy systemu vmstat 7

Przerwania i przełączanie kontekstu – system

in – ilość przerwań na sekundęcs – ilość przełączeń kontekstu na sekundę

Page 8: Monitorowanie pracy systemu vmstat

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)

Page 9: Monitorowanie pracy systemu vmstat

Monitorowanie pracy systemu top 9

Monitoruje w trybie rzeczywistym

stan systemu najbardziej aktywne procesy

pozwala na interaktywne manipulowanie procesami

Page 10: Monitorowanie pracy systemu vmstat

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)

Page 11: Monitorowanie pracy systemu vmstat

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

Page 12: Monitorowanie pracy systemu vmstat

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

Page 13: Monitorowanie pracy systemu vmstat

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

Page 14: Monitorowanie pracy systemu vmstat

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ć

Page 15: Monitorowanie pracy systemu vmstat

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)

Page 16: Monitorowanie pracy systemu vmstat

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

Page 17: Monitorowanie pracy systemu vmstat

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

Page 18: Monitorowanie pracy systemu vmstat

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)

Page 19: Monitorowanie pracy systemu vmstat

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

Page 20: Monitorowanie pracy systemu vmstat

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)

Page 21: Monitorowanie pracy systemu vmstat

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

Page 22: Monitorowanie pracy systemu vmstat

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

Page 23: Monitorowanie pracy systemu vmstat

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

Page 24: Monitorowanie pracy systemu vmstat

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

Page 25: Monitorowanie pracy systemu vmstat

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

Page 26: Monitorowanie pracy systemu vmstat

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

Page 27: Monitorowanie pracy systemu vmstat

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)

Page 28: Monitorowanie pracy systemu vmstat

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

Page 29: Monitorowanie pracy systemu vmstat

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ć

Page 30: Monitorowanie pracy systemu vmstat

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

Page 31: Monitorowanie pracy systemu vmstat

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

Page 32: Monitorowanie pracy systemu vmstat

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)

Page 33: Monitorowanie pracy systemu vmstat

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

Page 34: Monitorowanie pracy systemu vmstat

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

Page 35: Monitorowanie pracy systemu vmstat

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

Page 36: Monitorowanie pracy systemu vmstat

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

Page 37: Monitorowanie pracy systemu vmstat

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)

Page 38: Monitorowanie pracy systemu vmstat

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)

Page 39: Monitorowanie pracy systemu vmstat

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

Page 40: Monitorowanie pracy systemu vmstat

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

Page 41: Monitorowanie pracy systemu vmstat

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

Page 42: Monitorowanie pracy systemu vmstat

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

Page 43: Monitorowanie pracy systemu vmstat

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.

Page 44: Monitorowanie pracy systemu vmstat

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

Page 45: Monitorowanie pracy systemu vmstat

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

Page 46: Monitorowanie pracy systemu vmstat

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

Page 47: Monitorowanie pracy systemu vmstat

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

Page 48: Monitorowanie pracy systemu vmstat

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

Page 49: Monitorowanie pracy systemu vmstat

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

Page 50: Monitorowanie pracy systemu vmstat

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

Page 51: Monitorowanie pracy systemu vmstat

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.)

Page 52: Monitorowanie pracy systemu vmstat

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

Page 53: Monitorowanie pracy systemu vmstat

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

Page 54: Monitorowanie pracy systemu vmstat

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

Page 55: Monitorowanie pracy systemu vmstat

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.

Page 56: Monitorowanie pracy systemu vmstat

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

Page 57: Monitorowanie pracy systemu vmstat

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

Page 58: Monitorowanie pracy systemu vmstat

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

Page 59: Monitorowanie pracy systemu vmstat

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

Page 60: Monitorowanie pracy systemu vmstat

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

Page 61: Monitorowanie pracy systemu vmstat

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

Page 62: Monitorowanie pracy systemu vmstat

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

Page 63: Monitorowanie pracy systemu vmstat

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

Page 64: Monitorowanie pracy systemu vmstat

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

Page 65: Monitorowanie pracy systemu vmstat

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)

Page 66: Monitorowanie pracy systemu vmstat

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

Page 67: Monitorowanie pracy systemu vmstat

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

Page 68: Monitorowanie pracy systemu vmstat

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

Page 69: Monitorowanie pracy systemu vmstat

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

Page 70: Monitorowanie pracy systemu vmstat

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ą

Page 71: Monitorowanie pracy systemu vmstat

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

Page 72: Monitorowanie pracy systemu vmstat

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

Page 73: Monitorowanie pracy systemu vmstat

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

Page 74: Monitorowanie pracy systemu vmstat

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

Page 75: Monitorowanie pracy systemu vmstat

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

Page 76: Monitorowanie pracy systemu vmstat

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

Page 77: Monitorowanie pracy systemu vmstat

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)

Page 78: Monitorowanie pracy systemu vmstat

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)

Page 79: Monitorowanie pracy systemu vmstat

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

Page 80: Monitorowanie pracy systemu vmstat

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

Page 81: Monitorowanie pracy systemu vmstat

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

Page 82: Monitorowanie pracy systemu vmstat

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

Page 83: Monitorowanie pracy systemu vmstat

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)