90

Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

Embed Size (px)

Citation preview

Page 1: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie
Page 2: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

Tytuł oryginału: UNIX and Linux System Administration Handbook (5th Edition)

Tłumaczenie: Leszek Sagalara

ISBN: 978-83-283-4175-3

Authorized translation from the English language edition, entitled: UNIX AND LINUX SYSTEM ADMlNISTRATION HANDBOOK, Fifth Edition; ISBN 0134277554; by Evi Nemeth, Garth Snyder, Trent R. Hein, Ben Whaley, and Dan Mackin; published by Pearson Education, Inc, publishing as Addison-Wesley Professional. Copyright © 2018 Pearson Education, Inc.

All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from Pearson Education, Inc.Polish language edition published by HELION S.A. Copyright © 2018.

Ubuntu is a registered trademark of Canonical Limited, and is used with permission.Debian is a registered trademark of Software in the Public Interest Incorporated.CentOS is a registered trademark of Red Hat Inc., and is used with permission.FreeBSD is a registered trademark of The FreeBSD Foundation, and is used with permission.The Linux Tux logo was created by Larry Ewing, [email protected].

Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji.

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.

Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, aniza związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.

Wydawnictwo HELIONul. Kościuszki 1c, 44-100 GLIWICEtel. 32 231 22 19, 32 230 98 63e-mail: [email protected]: http://helion.pl (księgarnia internetowa, katalog książek)

Drogi Czytelniku!Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/unlip5Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.

Printed in Poland.

• Kup książkę• Poleć książkę • Oceń książkę

• Księgarnia internetowa• Lubię to! » Nasza społeczność

Page 3: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

3

SPIS TREŚCI

Pamięci Evi 35

Wstęp 37

Słowo wstępne 39

Podziękowania 41

I. PODSTAWY ADMINISTROWANIA

1 Od czego zacząć? 45

1.1. Podstawowe obowiązki administratora 46

Kontrola dostępu 46Podłączanie sprzętu 46Automatyzacja zadań 47Nadzorowanie kopii zapasowych 47Instalacja i aktualizowanie oprogramowania 47Monitorowanie 48Rozwiązywanie problemów 48Zarządzanie lokalną dokumentacją 48Uważne monitorowanie stanu zabezpieczeń 48

Poleć książkęKup książkę

Page 4: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

4 SPIS TREŚCI

Dostosowywanie wydajności 49Opracowanie polityki serwera 49Współpraca z dostawcami 49Udzielanie pomocy użytkownikom 49

1.2. Podstawowe narzędzia administratora 50

1.3. Dystrybucje systemu Linux 51

1.4. Przykładowe systemy używane w tej książce 52

Przykładowe dystrybucje systemu Linux 53Przykładowa dystrybucja systemu Unix 54

1.5. Notacja i konwencje typograficzne 54

1.6. Jednostki 56

1.7. Strony podręcznika systemowego i inne rodzaje dokumentacji 57

Organizacja podręcznika systemowego 57man — czytanie stron podręcznika systemowego 58Miejsce przechowywania stron podręcznika 58

1.8. Inna dokumentacja autorytatywna 59

Przewodniki dotyczące określonych systemów 59Dokumentacja dotycząca określonych pakietów 59Książki 60RFC i inne dokumenty internetowe 60

1.9. Inne źródła informacji 60

Bądź na bieżąco 61Dokumenty HOWTO i witryny informacyjne 61Konferencje 62

1.10. Sposoby wyszukiwania i instalacji oprogramowania 62

Jak sprawdzić, czy oprogramowanie jest już zainstalowane? 63Instalowanie nowego oprogramowania 64Instalacja oprogramowania ze źródeł 66Instalacja ze skryptu WWW 67

1.11. Gdzie hostować? 68

1.12. Specjalizacje i dyscypliny pokrewne 69

DevOps 69Inżynierowie ds. niezawodności 69Inżynierowie ds. bezpieczeństwa 69Administratorzy sieci 69Administratorzy baz danych 70Inżynierowie sieciowych centrów operacyjnych 70Technicy centrów danych 70Architekci 70

1.13. Zalecana literatura 70

Administracja systemu i DevOps 71Niezbędne narzędzia 71

Poleć książkęKup książkę

Page 5: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SPIS TREŚCI 5

2 Rozruch i demony zarządzania systemem 73

2.1. Przegląd procesu rozruchowego 74

2.2. Oprogramowanie sprzętowe systemu 75

BIOS a UEFI 75BIOS 76UEFI 76

2.3. Programy rozruchowe 78

2.4. GRUB 78

Konfiguracja programu GRUB 79Wiersz poleceń programu GRUB 80Opcje jądra systemu Linux 80

2.5. Rozruch systemu FREEBSD 81

Ścieżka BIOS-u — boot0 81Ścieżka UEFI 82Konfiguracja programu loader 83Polecenia programu loader 83

2.6. Demony zarządzania systemem 83

Zadania procesu init 84Implementacje procesu init 85Tradycyjny init 85systemd kontra reszta świata 86init osądzony i przykładnie ukarany 86

2.7. systemd w szczegółach 87

Jednostki i pliki jednostek 87systemctl — zarządzanie systemd 88Statusy jednostek 89Jednostki celu 91Zależności pomiędzy jednostkami 93Kolejność wykonywania 94Przykład bardziej złożonego pliku jednostki 94Usługi lokalne i dostosowywanie 95Zastrzeżenia związane z usługami i kontrolą rozruchu 96Rejestrowanie zdarzeń w systemd 98

2.8. init i skrypty startowe w systemie FreeBSD 99

2.9. Procedury ponownego uruchamiania i zamykania systemu 101

Wyłączanie fizycznych systemów 101Wyłączanie systemów chmurowych 101

2.10. Strategie postępowania w przypadku problemów z rozruchem 102

Tryb pojedynczego użytkownika 102Tryb pojedynczego użytkownika w systemie FreeBSD 104Tryb pojedynczego użytkownika z programem GRUB 104Odzyskiwanie systemów chmurowych 104

Poleć książkęKup książkę

Page 6: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

6 SPIS TREŚCI

3 Kontrola dostępu i uprawnienia administratora 107

3.1. Standardowa kontrola dostępu w systemie Unix 108

Kontrola dostępu w systemie plików 109Prawa własności do procesów 109Konto użytkownika root 110setuid i setgid 111

3.2. Zarządzanie kontem użytkownika root 111

Logowanie na konto użytkownika root 111su — zmiana tożsamości użytkownika 112sudo — su z ograniczeniami 113Wyłączanie konta użytkownika root 120Konta systemowe inne niż root 121

3.3. Rozszerzenia standardowego modelu kontroli dostępu 122

Wady modelu standardowego 122PAM 123Kerberos — sieciowe uwierzytelnianie kryptograficzne 124Listy kontroli dostępu do systemu plików 124Możliwości systemu Linux 124Przestrzenie nazw w systemie Linux 125

3.4. Nowoczesne mechanizmy kontroli dostępu 125

Oddzielne ekosystemy 126Obowiązkowa kontrola dostępu (MAC) 126Kontrola dostępu oparta na rolach 127Security-enhanced Linux (SELinux) 128AppArmor 129

3.5. Zalecana literatura 131

4 Kontrolowanie procesów 133

4.1. Elementy składowe procesu 134

PID — numer identyfikacyjny procesu 134PPID — identyfikator procesu macierzystego 135UID i EUID — rzeczywisty i efektywny identyfikator użytkownika 135GID i EGID — rzeczywisty i efektywny identyfikator grupy 136Uprzejmość 136Terminal sterujący 136

4.2. Cykl życia procesu 137

Sygnały 137Polecenie kill — wysłanie sygnałów 140Stany procesów i wątków 141

Poleć książkęKup książkę

Page 7: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SPIS TREŚCI 7

4.3. Polecenie ps — monitorowanie procesów 142

4.4. Interaktywne monitorowanie procesów — polecenie top 144

4.5. Polecenia nice i renice — zmiana priorytetów przełączania 146

4.6. System plików /proc 147

4.7. Śledzenie sygnałów i funkcji systemowych — polecenia strace i truss 148

4.8. Procesy niekontrolowane 150

4.9. Procesy okresowe 152

cron — harmonogram poleceń 152Powszechne zastosowania zaplanowanych zadań 160

5 System plików 163

5.1. Ścieżki dostępu 165

5.2. Montowanie i odmontowywanie systemów plików 166

5.3. Organizacja drzewa plików 168

5.4. Typy plików 171

Zwykłe pliki 172Katalogi 172Dowiązania twarde 173Pliki urządzeń znakowych i blokowych 173Gniazda lokalne 174Nazwane potoki 175Dowiązania symboliczne 175

5.5. Atrybuty plików 176

Bity uprawnień 176Bity setuid i setgid 177Bit lepkości 177Polecenie ls — wyświetlanie listy i sprawdzanie plików 177Polecenie chmod — zmiana uprawnień 179Polecenia chown i chgrp — zmiana właściciela i grupy 181Polecenie umask — ustawianie uprawnień domyślnych 181Dodatkowe opcje w systemie Linux 182

5.6. Listy kontroli dostępu (ACL) 183

Mała uwaga 184Rodzaje ACL 184Implementacje ACL 185Obsługa ACL w systemie Linux 186Obsługa ACL w systemie FreeBSD 186Listy ACL w stylu POSIX 186Listy ACL w stylu NFSv4 190

Poleć książkęKup książkę

Page 8: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

8 SPIS TREŚCI

6 Oprogramowanie — instalacja i zarządzanie 195

6.1. Instalacja systemów operacyjnych 196

Instalacja przez sieć 196Konfigurowanie PXE 198Kickstart — zautomatyzowany instalator systemów Red Hat i CentOS 198Automatyczna instalacja przy użyciu instalatora Ubuntu 201Rozruch sieciowy przy użyciu narzędzia Cobbler,

linuksowego serwera uruchomieniowego typu open source 203Automatyzacja instalacji FreeBSD 203

6.2. Zarządzanie pakietami 204

6.3. Systemy zarządzania pakietami w Linuksie 206

rpm — zarządzanie pakietami RPM 206dpkg — zarządzanie pakietami .deb 207

6.4. Wysokopoziomowe systemy zarządzania pakietami w systemie Linux 208

Repozytoria z pakietami 209RHN — Red Hat Network 210APT — Advanced Package Tool 210Konfigurowanie repozytorium 212Przykład pliku /etc/apt/sources.list 212Własny serwer lustrzany jako lokalne repozytorium 213Automatyzacja APT 214yum — zarządzanie wydaniami opartymi na formacie RPM 215

6.5. Zarządzanie oprogramowaniem w systemie FreeBSD 215

System bazowy 216pkg — menedżer pakietów FreeBSD 217Kolekcja portów 218

6.6. Lokalizowanie i konfigurowanie oprogramowania 219

Organizacja procesu lokalizowania 219Strukturyzacja aktualizacji 220Ograniczanie pola gry 220Testowanie 221

6.7. Zalecana literatura 221

7 Pisanie skryptów i powłoka 223

7.1. Filozofia pisania skryptów 224

Pisz mikroskrypty 224Poznaj dobrze kilka narzędzi 225Automatyzuj wszystko 226Nie optymalizuj przedwcześnie 226

Poleć książkęKup książkę

Page 9: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SPIS TREŚCI 9

Wybierz właściwy język skryptowy 227Reguły poprawnego pisania skryptów 228

7.2. Podstawy powłoki 230

Edycja poleceń 231Potoki i przekierowania 231Zmienne i oznakowanie 233Zmienne środowiskowe 234Popularne polecenia filtrujące 235

7.3. Skrypty w powłoce sh 238

Wykonywanie poleceń 239Od poleceń do skryptów 240Wejście i wyjście 242Spacje w nazwach plików 243Argumenty wiersza poleceń i funkcje 243Przepływ sterowania 245Pętle 247Działania arytmetyczne 249

7.4. Wyrażenia regularne 249

Proces dopasowywania 250Znaki dosłowne 250Znaki specjalne 250Przykłady wyrażeń regularnych 252Przechwytywanie 253Zachłanność, lenistwo i katastrofalne wycofania 254

7.5. Programowanie w języku Python 255

Python 3 255Python 2 czy Python 3? 256Python — szybki start 256Obiekty, łańcuchy, liczby, listy, słowniki, krotki i pliki 258Przykład sprawdzania poprawności wejścia 260Pętle 261

7.6. Programowanie w języku Ruby 262

Instalacja 263Ruby — szybki start 263Bloki 265Symbole i hasze opcji 266Wyrażenia regularne w języku Ruby 267Ruby jako filtr 268

7.7. Zarządzanie bibliotekami i środowiskiem języków Python i Ruby 269

Wyszukiwanie i instalowanie pakietów 269Tworzenie odtwarzalnych środowisk 270Wiele środowisk 271

Poleć książkęKup książkę

Page 10: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

10 SPIS TREŚCI

7.8. Kontrola wersji przy użyciu Git 274

Przykład prostego repozytorium Git 276Zastrzeżenia dotyczące Git 278Społecznościowe tworzenie kodu z systemem Git 278

7.9. Zalecana literatura 279

Powłoki i tworzenie skryptów 279Wyrażenia regularne 280Python 280Ruby 281

8 Zarządzanie użytkownikami 283

8.1. Mechanika konta 284

8.2. Plik etc/passwd 285

Nazwa użytkownika 285Zaszyfrowane hasło 286Numer UID (identyfikator użytkownika) 288Domyślne numery GID 289Pole GECOS 289Katalog domowy 290Powłoka logowania 290

8.3. Plik /etc/shadow w systemie Linux 290

8.4. Pliki /etc/master.passwd i /etc/login.conf w systemie FreeBSD 292

Plik /etc/master.passwd 292Plik /etc/login.conf 293

8.5. Plik /etc/group 294

8.6. Ręczne dodawanie użytkowników 296

Edycja plików passwd i group 296Ustawianie hasła 297Tworzenie katalogu domowego i instalowanie plików startowych 298Ustawianie uprawnień i praw własności do katalogu domowego 300Konfigurowanie ról i uprawnień administracyjnych 300Finalizacja 300

8.7. Skrypty do dodawania użytkowników: useradd, adduser i newusers 301

Polecenie useradd w systemie Linux 301Polecenie useradd w systemach Debian i Ubuntu 302Polecenie useradd w systemie FreeBSD 303Polecenie newusers w systemie Linux

— hurtowe dodawanie użytkowników 304

8.8. Bezpieczne usuwanie kont i plików użytkowników 304

8.9. Blokowanie kont użytkowników 305

Poleć książkęKup książkę

Page 11: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SPIS TREŚCI 11

8.10. Minimalizowanie ryzyka za pomocą PAM 306

8.11. Scentralizowane zarządzanie kontami 307

LDAP a Active Directory 307Systemy pojedynczego logowania na poziomie aplikacji 307Systemy zarządzania tożsamością 308

9 Chmura obliczeniowa 311

9.1. Chmura w kontekście 312

9.2. Platformy chmur obliczeniowych 314

Chmury publiczne, prywatne i hybrydowe 314Amazon Web Services 315Google Cloud Platform 316DigitalOcean 316

9.3. Podstawy usługi chmurowej 317

Dostęp do chmury 318Regiony i strefy dostępności 319Wirtualne serwery prywatne 320Sieci 321Pamięć masowa 321Tożsamość i autoryzacja 322Automatyzacja 323Funkcje bezserwerowe 323

9.4. Wirtualne serwery prywatne — szybki start 324

Amazon Web Services 324Google Cloud Platform 328DigitalOcean 329

9.5. Kontrola kosztów 331

9.6. Zalecana literatura 333

10 Rejestrowanie zdarzeń 335

10.1. Położenie plików z dziennikami 338

Specjalne pliki dzienników 338Przeglądanie dzienników w rejestratorze systemd 340

10.2. Rejestrator systemd 340

Konfiguracja rejestratora systemd 341Dodatkowe opcje filtrujące rejestratora 342Współistnienie z programem syslog 343

Poleć książkęKup książkę

Page 12: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

12 SPIS TREŚCI

10.3. syslog 344

Czytanie komunikatów systemu syslog 344Architektura systemu rsyslog 345Wersje systemu rsyslog 346Konfiguracja systemu rsyslog 346Przykłady pliku konfiguracyjnego 355Bezpieczeństwo komunikatów systemu syslog 357Diagnostyka konfiguracji systemu syslog 359

10.4. Rejestrowanie komunikatów jądra i uruchamiania systemu 359

10.5. Pliki dzienników — zarządzanie i rotowanie 360

logrotate — międzyplatformowe zarządzanie dziennikami 360newsyslog — zarządzanie dziennikami w systemie FreeBSD 362

10.6. Zarządzanie dziennikami na dużą skalę 362

Zestaw narzędzi ELK 362Graylog 363Rejestrowanie zdarzeń jako usługa 363

10.7. Strategie rejestrowania 364

11 Sterowniki i jądro 367

11.1. Obowiązki administratora systemu związane z jądrem 368

11.2. Numerowanie wersji jądra 369

Wersje jądra w systemie Linux 369Wersje jądra w systemie FreeBSD 370

11.3. Urządzenia i ich sterowniki 370

Pliki urządzeń i numery urządzeń 371Wyzwania związane z zarządzaniem plikami urządzeń 372Ręczne tworzenie plików urządzeń 372Nowoczesne zarządzanie plikami urządzeń 373Zarządzanie urządzeniami w systemie Linux 373Zarządzanie urządzeniami w systemie FreeBSD 378

11.4. Konfigurowanie jądra w systemie Linux 380

Dostrajanie parametrów jądra systemu Linux 380Budowanie własnego jądra 381Dodawanie sterownika urządzenia w systemie Linux 385

11.5. Konfiguracja jądra w systemie FreeBSD 385

Dostrajanie parametrów jądra FreeBSD 385Budowanie jądra w systemie FreeBSD 386

Poleć książkęKup książkę

Page 13: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SPIS TREŚCI 13

11.6. Ładowalne moduły jądra 387

Ładowalne moduły jądra w systemie Linux 387Ładowalne moduły jądra w systemie FreeBSD 389

11.7. Rozruch 389

Komunikaty rozruchowe systemu Linux 390Komunikaty rozruchowe systemu FreeBSD 394

11.8. Uruchamianie niestandardowych jąder w chmurze 395

11.9. Błędy jądra 396

Błędy jądra w systemie Linux 397Panika jądra w systemie FreeBSD 399

11.10. Zalecana literatura 400

12 Drukowanie 401

12.1. CUPS 402

Interfejsy podsystemu drukowania 403Kolejka drukowania 403Wiele drukarek i kolejek 404Instancje drukarek 404Przeglądanie drukarek sieciowych 404Filtry 405

12.2. Administracja serwerem CUPS 406

Konfiguracja sieciowego serwera wydruków 407Automatyczna konfiguracja drukarki 407Konfiguracja drukarki sieciowej 407Przykłady konfiguracji drukarek 408Wyłączenie usługi 408Inne zadania konfiguracyjne 409

12.3. Rozwiązywanie problemów 409

Ponowne uruchamianie demona wydruku 409Pliki dzienników 410Połączenia w drukowaniu bezpośrednim 411Problemy z drukowaniem sieciowym 411

12.4. Zalecana literatura 412

Poleć książkęKup książkę

Page 14: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

14 SPIS TREŚCI

II. SIECI

13 Sieci TCP/IP 415

13.1. TCP/IP i jego związek z internetem 416

Kto zarządza internetem? 416Standardy sieciowe i dokumentacja 417

13.2. Podstawy sieci 418

IPv4 i IPv6 419Pakiety i enkapsulacja 421Ramkowanie w sieciach Ethernet 422Maksymalna jednostka transmisji (MTU) 422

13.3. Adresowanie pakietów 423

Adresowanie sprzętowe (MAC) 423Adresowanie IP 424„Adresowanie” za pomocą nazw 425Porty 425Rodzaje adresów 426

13.4. Adresy IP — szczegółowe informacje 426

Klasy adresów IPv4 427Podział na podsieci w IPv4 428Sztuczki i narzędzia do wyliczania podsieci 429CIDR — bezklasowe trasowanie międzydomenowe 430Przydzielanie adresów 431Adresy prywatne i NAT 431Adresowanie IPv6 433

13.5. Wyznaczanie tras 437

Tablice tras 438Przekierowania ICMP 439

13.6. Protokoły ARP (IPv4) i ND (IPv6) 440

13.7. DHCP — protokół dynamicznej konfiguracji hostów 441

Oprogramowanie DHCP 441Sposób działania DHCP 442Oprogramowanie DHCP w wersji ISC 443

13.8. Kwestie bezpieczeństwa 444

Przekazywanie pakietów IP 444Przekierowania ICMP 445Wybór trasy przez nadawcę 445Pakiety ping na adres rozgłoszeniowy

i inne formy ukierunkowanego rozgłaszania 445

Poleć książkęKup książkę

Page 15: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SPIS TREŚCI 15

Fałszowanie adresów IP 446Zapory sieciowe oparte na serwerze 446Wirtualne sieci prywatne 447

13.9. Podstawowa konfiguracja sieciowa 448

Przypisywanie nazwy komputera i adresu IP 448Interfejs sieciowy i konfiguracja IP 449Konfigurowanie tras 451Konfigurowanie DNS 452Konfigurowanie sieci w różnych systemach 453

13.10. Sieci w systemie Linux 454

NetworkManager 454ip — ręczne konfigurowanie sieci 455Konfigurowanie sieci w systemach Debian i Ubuntu 456Konfiguracja sieci w systemach Red Hat i CentOS 456Opcje sprzętu sieciowego w systemie Linux 458Opcje TCP/IP w systemie Linux 459Zmienne jądra związane z bezpieczeństwem 461

13.11. Sieci w systemie FreeBSD 461

ifconfig — konfigurowanie interfejsów sieciowych 462Konfigurowanie sprzętu sieciowego w systemie FreeBSD 462Konfiguracja sieci w systemie FreeBSD w czasie rozruchu 463Konfiguracja TCP/IP w systemie FreeBSD 463

13.12. Rozwiązywanie problemów z siecią 464

Polecenie ping — sprawdzenie, czy host jest dostępny 465Polecenie traceroute — śledzenie pakietów IP 467Podsłuchiwanie pakietów 470

13.13. Monitoring sieci 473

Polecenie smokeping — gromadzenie statystyk polecenia ping 473iPerf — śledzenie wydajności sieci 474Cacti — gromadzenie danych i tworzenie wykresów 475

13.14. Zapory sieciowe i NAT 476

iptables w systemie Linux — reguły, łańcuchy i tablice 476Zapora IPFilter dla systemów Unix 481

13.15. Sieci w chmurze 484

Wirtualna chmura prywatna (VPC) w AWS 484Sieci w GCP 490Sieci w DigitalOcean 492

13.16. Zalecana literatura 493

Historia 493Pozycje klasyczne i biblie 493Protokoły 493

Poleć książkęKup książkę

Page 16: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

16 SPIS TREŚCI

14 Sprzęt sieciowy 495

14.1. Ethernet — sieć uniwersalna 496

Przesyłanie sygnałów w sieci Ethernet 496Topologia Ethernetu 498Skrętka nieekranowana 498Włókna światłowodowe 500Łączenie i rozszerzanie sieci Ethernet 501Autouzgadnianie 503Power over Ethernet 504Ramki Jumbo 504

14.2. Sieci bezprzewodowe — internet dla nomadów 505

Standardy bezprzewodowe 505Klient bezprzewodowy 506Infrastruktura bezprzewodowa i punkty dostępu 506Bezpieczeństwo sieci bezprzewodowych 509

14.3. SDN — programowalna sieć komputerowa 509

14.4. Testowanie i diagnostyka sieci 510

14.5. Układanie okablowania 510

Możliwości okablowania skrętką 511Połączenia do biur 511Standardy okablowania 511

14.6. Kwestie związane z projektowaniem sieci 512

Architektura sieci a architektura budynku 513Rozbudowa 513Przeciążenie 513Konserwacja i dokumentacja 514

14.7. Kwestie związane z zarządzaniem 514

14.8. Zalecana literatura 515

15 Wyznaczanie tras 517

15.1. Przesyłanie pakietów — szczegóły 518

15.2. Demony i protokoły wyznaczania tras 521

Protokoły wektora odległości 522Protokoły stanu łączy 523Miary kosztu 523Protokoły wewnętrzne i zewnętrzne 524

15.3. Prezentacja protokołów 524

RIP i RIPng — protokół informowania o trasach 524OSPF — najpierw najkrótsza ścieżka 526

Poleć książkęKup książkę

Page 17: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SPIS TREŚCI 17

EIGRP — rozszerzony protokół trasowania bramy wewnętrznej 526BGP — protokół bramy brzegowej 526

15.4. Grupowa koordynacja protokołów wyznaczania tras 527

15.5. Kryteria wyboru strategii wyznaczania tras 527

15.6. Demony trasujące 528

routed — przestarzała implementacja RIP 529Quagga — dominujący demon trasujący 529XORP — router w komputerze 530

15.7. Routery Cisco 530

15.8. Zalecana literatura 533

16 DNS — system nazw domenowych 535

16.1. Architektura DNS 536

Zapytania i odpowiedzi 536Dostawcy usług DNS 537

16.2. Wyszukiwania w DNS 538

resolv.conf — konfigurowanie resolvera klienta 538nsswitch.conf — kogo zapytać o nazwę? 538

16.3. Przestrzeń nazw DNS 539

Rejestracja nazwy domeny 540Tworzenie własnych poddomen 540

16.4. Jak działa DNS 541

Serwery nazw 541Serwery autorytatywne i buforujące 542Serwery rekurencyjne i nierekurencyjne 542Rekordy zasobów 543Delegowania 543Buforowanie i efektywność 545Odpowiedzi wielokrotne i równoważenie obciążenia DNS

metodą Round Robin 545Diagnostyka przy użyciu narzędzi do odpytywania 546

16.5. Baza danych DNS 549

Polecenia dla analizatora w plikach strefowych 549Rekordy zasobów 550Rekord SOA 553Rekordy NS 555Rekordy A 556Rekordy AAAA 556

Poleć książkęKup książkę

Page 18: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

18 SPIS TREŚCI

Rekordy PTR 557Rekordy MX 558Rekordy CNAME 559Rekordy SRV 560Rekordy TXT 561Rekordy SPF, DKIM i DMARC 562Rekordy DNSSEC 562

16.6. Oprogramowanie BIND 562

Komponenty BIND 563Pliki konfiguracyjne 563Instrukcja include 565Instrukcja options 565Instrukcja acl 571Instrukcja key (TSIG) 571Instrukcja server 572Instrukcja masters 573Instrukcja logging 573Instrukcja statistics-channels 573Instrukcja zone 574Instrukcja controls dla rndc 577

16.7. Rozdzielony DNS i instrukcja view 578

16.8. Przykłady konfiguracji BIND 580

Strefa localhost 580Mała firma zajmująca się sprawami bezpieczeństwa 581

16.9. Aktualizowanie plików strefowych 584

Przesyłanie informacji strefowych 584Automatyczne aktualizacje 585

16.10. Kwestie związane z bezpieczeństwem DNS 587

Nowe spojrzenie na listy kontroli dostępu w BIND 588Otwarty resolver 589Uruchamianie w środowisku chroot 590Bezpieczna komunikacja między serwerami za pomocą TSIG i TKEY 590Konfigurowanie TSIG dla BIND 591DNSSEC 593Strategia dotycząca DNSSEC 594Rekordy zasobów DNSSEC 594Włączanie DNSSEC 596Generowanie par kluczy 596Podpisywanie stref 598Łańcuch zaufania DNSSEC 600Wymiana kluczy DNSSEC 600Narzędzia DNSSEC 601Usuwanie błędów w DNSSEC 603

Poleć książkęKup książkę

Page 19: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SPIS TREŚCI 19

16.11. Diagnostyka systemu BIND 604

Rejestrowanie w BIND 604Sterowanie serwerem nazw za pomocą rndc 610Wyszukiwanie niepoprawnych delegowań z poziomu wiersza poleceń 611

16.12. Zalecana literatura 613

Książki i inna dokumentacja 613Zasoby sieciowe 613Dokumenty RFC 613

17 Systemy pojedynczego logowania 615

17.1. Podstawowe elementy SSO 616

17.2. LDAP — „lekkie” usługi katalogowe 617

Zastosowania LDAP 618Struktura danych w katalogu LDAP 618OpenLDAP — tradycyjna implementacja serwera LDAP

na licencji open source 620389 Directory Server — alternatywna implementacja serwera LDAP

na licencji open source 620Zapytania LDAP 621Konwertowanie plików passwd i group do LDAP 622

17.3. Wykorzystanie usług katalogowych do logowania 623

Kerberos 623Demon sssd 626Plik nsswitch.conf 627PAM — uniwersalny mechanizm uwierzytelniania 627Przykład konfiguracji PAM 629

17.4. Rozwiązania alternatywne 630

NIS — Network Information Service 630rsync — bezpieczniejszy transfer plików 631

17.5. Zalecana literatura 631

18 Poczta elektroniczna 633

18.1. Architektura systemów obsługi poczty elektronicznej 634

Klienty poczty 635System przyjmujący 635System transportowy 636System dostarczania lokalnego 636Skrzynki pocztowe 637Systemy dostępowe 637

Poleć książkęKup książkę

Page 20: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

20 SPIS TREŚCI

18.2. Anatomia wiadomości pocztowej 637

18.3. Protokół SMTP 640

Wysłałeś mi EHLO 640Kody błędów SMTP 641Uwierzytelnianie SMTP 642

18.4. Mechanizmy antyspamowe i antywirusowe 643

Oszustwa 643SPF i Sender ID 644DKIM 644

18.5. Prywatność i szyfrowanie 645

18.6. Aliasy pocztowe 646

Odczyt aliasów z plików 648Wysyłanie wiadomości do plików 648Wysyłanie wiadomości do programów 649Budowanie bazy aliasów 649

18.7. Konfiguracja serwera poczty 649

18.8. Sendmail 651

Plik switch 652Uruchamianie serwera sendmail 652Kolejki pocztowe 654Konfiguracja serwera sendmail 655Preprocesor m4 655Elementy konfiguracji serwera sendmail 656Plik konfiguracyjny zbudowany z przykładowego pliku .mc 657Elementy konfiguracji 658Tabele i bazy danych 658Makra i funkcje ogólnego zastosowania 659Konfiguracja klienta 664Opcje konfiguracyjne m4 665Mechanizmy antyspamowe serwera sendmail 667Serwer sendmail i bezpieczeństwo 670Testowanie i diagnostyka serwera sendmail 676

18.9. Exim 678

Instalacja serwera Exim 679Uruchamianie serwera Exim 681Narzędzia serwera Exim 681Język konfiguracji serwera Exim 682Plik konfiguracyjny serwera Exim 683Opcje globalne 684ACL (ang. access control lists) 686Skanowanie treści na etapie ACL 689Mechanizmy uwierzytelniające 689Routery 690Transporty 693

Poleć książkęKup książkę

Page 21: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SPIS TREŚCI 21

Konfiguracja ponowień 694Konfiguracja przepisywania 695Lokalna funkcja skanująca 695Zapisywanie dzienników 695Diagnostyka 696

18.10. Postfix 697

Architektura serwera Postfix 697Bezpieczeństwo 699Polecenia i dokumentacja serwera Postfix 699Konfiguracja serwera Postfix 700Domeny wirtualne 704Kontrola dostępu 706Diagnostyka 709

18.11. Zalecana literatura 710

Literatura na temat serwera sendmail 710Literatura na temat serwera Exim 711Literatura na temat serwera Postfix 711Dokumenty RFC 711

19 Hosting WWW 713

19.1. Protokół HTTP 714

URL — jednolity lokalizator zasobu 715Struktura transakcji HTTP 716curl — HTTP z wiersza poleceń 718Ponowne użycie połączenia TCP 719HTTP przez TLS 720Wirtualne hosty 720

19.2. Podstawy oprogramowania WWW 721

Serwery WWW i oprogramowanie pośredniczące w ruchu HTTP 722Balansery obciążenia 723Pamięć podręczna 725Sieci dostarczania treści (CDN) 728Języki sieci WWW 729Interfejsy programowania aplikacji (API) 731

19.3. Hosting WWW w chmurze 733

Budowa kontra zakup 733Platforma jako usługa 734Hosting treści statycznych 735Bezserwerowe aplikacje WWW 735

19.4. Apache httpd 736

httpd w praktyce 736Ustawienia konfiguracyjne httpd 737

Poleć książkęKup książkę

Page 22: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

22 SPIS TREŚCI

Konfigurowanie hostów wirtualnych 739Rejestrowanie zdarzeń 742

19.5. NGINX 743

Instalacja i uruchamianie serwera NGINX 743Konfigurowanie serwera NGINX 744Konfigurowanie TLS dla serwera NGINX 747Równoważenie obciążenia z serwerem NGINX 747

19.6. HAProxy 748

Kontrolowanie stanu serwera 749Statystyki serwera 750Lepkie sesje 750Terminacja TLS 751

19.7. Zalecana literatura 752

III. PAMIĘĆ MASOWA

20 Pamięć masowa 755

20.1. Chcę tylko dodać dysk! 756

Linux 757FreeBSD 758

20.2. Urządzenia pamięci masowej 759

Dyski twarde 760Dyski SSD 763Dyski hybrydowe 766Technologia Advanced Format i 4-kilobajtowe bloki 767

20.3. Interfejsy urządzeń pamięci masowej 768

Interfejs SATA 768Interfejs PCI Express 768Interfejs SAS 769USB 770

20.4. Podłączanie i niskopoziomowa obsługa dysków 771

Weryfikacja instalacji na poziomie sprzętowym 771Pliki urządzeń dyskowych 772Formatowanie i zarządzanie uszkodzonymi blokami 773Bezpieczne wymazywanie dysków ATA 774hdparm i camcontrol — ustawianie parametrów dysku i interfejsu 775Monitorowanie dysku twardego za pomocą SMART 776

Poleć książkęKup książkę

Page 23: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SPIS TREŚCI 23

20.5. Obieranie cebuli, czyli programowa strona pamięci masowej 777

Elementy systemu pamięci masowej 777Maper urządzeń w systemie Linux 779

20.6. Partycjonowanie dysków 780

Tradycyjne partycjonowanie 781Partycje MBR 782GPT — tablica partycji GUID 783Partycjonowanie w systemie Linux 784Partycjonowanie w systemie FreeBSD 784

20.7. Zarządzanie woluminami logicznymi 784

Zarządzanie woluminami logicznymi w systemie Linux 785Zarządzanie woluminami logicznymi w systemie FreeBSD 790

20.8. RAID — nadmiarowa macierz niedrogich dysków 790

RAID programowy a sprzętowy 790Poziomy RAID 791Przywracanie dysku po awarii 794Wady RAID 5 794mdadm — programowy RAID w systemie Linux 795

20.9. Systemy plików 799

20.10. Tradycyjne systemy plików — UFS, ext4 i XFS 800

Terminologia systemu plików 801Polimorfizm systemu plików 802Formatowanie systemu plików 802fsck — sprawdzanie i naprawa systemu plików 802Montowanie systemu plików 804Ustawianie automatycznego montowania 804Montowanie napędów USB 807Zalecenia dotyczące obszaru wymiany 807

20.11. Systemy plików następnej generacji: ZFS i Btrfs 808

Kopiowanie przy zapisie 808Wykrywanie błędów 809Wydajność 809

20.12. ZFS — rozwiązanie wszystkich problemów z pamięcią masową 810

ZFS w systemie Linux 810Architektura ZFS 811Przykład: dodawanie dysków 812Systemy plików i ich właściwości 812Dziedziczenie właściwości 814Osobne systemy plików dla każdego użytkownika 815Kopie migawkowe i klony 815Surowe woluminy 816Zarządzanie pulą pamięci masowej 817

Poleć książkęKup książkę

Page 24: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

24 SPIS TREŚCI

20.13. Btrfs — ograniczona wersja ZFS dla systemu Linux 819

Btrfs kontra ZFS 819Konfigurowanie i konwertowanie pamięci masowej 820Woluminy i podwoluminy 822Migawki woluminów 823Płytkie kopie 823

20.14. Strategia tworzenia kopii zapasowych 824

20.15. Zalecana literatura 825

21 NFS 827

21.1. Sieciowe systemy plików 828

Współzawodnictwo 828Kontrola stanu 829Problemy wydajności 829Bezpieczeństwo 830

21.2. NFS 830

Wersje protokołu 831Zdalne wywoływanie procedur 832Protokoły transportowe 832Stan 832Eksporty systemu plików 833Blokowanie plików 834Bezpieczeństwo 834Odwzorowanie tożsamości w wersji 4. 836Dostęp z uprawnieniami root i konto nobody 837Wydajność w wersji 4. 838

21.3. Serwery NFS 838

Plik exports w Linuksie 839Plik exports w systemie FreeBSD 841Demon nfsd 842

21.4. NFS po stronie klienta 844

Montowanie zdalnych systemów plików podczas rozruchu systemu 846Ograniczanie eksportów do uprzywilejowanych portów 847

21.5. Odwzorowanie tożsamości w NFSv4 847

21.6. Statystyki połączeń NFS — nfsstat 848

21.7. Dedykowane serwery plików NFS 848

21.8. Montowanie automatyczne 849

Odwzorowania pośrednie 851Odwzorowania bezpośrednie 851

Poleć książkęKup książkę

Page 25: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SPIS TREŚCI 25

Odwzorowania główne 851Odwzorowania wykonywalne 852Widoczność zasobów montowanych automatycznie 852Automount i replikowane systemy plików 853Automatyczne użycie mechanizmu automount

(wersja 3., wszystkie systemy oprócz Linuksa) 854Specyfika Linuksa 854

21.9. Zalecana literatura 855

22 SMB 857

22.1. Samba — serwer SMB dla systemów Unix 858

22.2. Instalacja i konfigurowanie serwera Samba 859

Współdzielenie plików z uwierzytelnianiem lokalnym 860Współdzielenie plików za pomocą kont uwierzytelnianych

przez Active Directory 861Konfigurowanie udziałów 861

22.3. Montowanie plików udostępnionych przez SMB 863

22.4. Przeglądanie plików udostępnionych przez SMB 864

22.5. Zapewnienie bezpieczeństwa Samby 865

22.6. Usuwanie problemów z systemem Samba 865

Sprawdzanie stanu Samby za pomocą smbstatus 865Konfigurowanie rejestrowania zdarzeń w Sambie 866Zarządzanie zestawami znaków 867

22.7. Zalecana literatura 868

IV. OPERACJE

23 Zarządzanie konfiguracją 871

23.1. Zarządzanie konfiguracją w pigułce 872

23.2. Niebezpieczeństwa związane z zarządzaniem konfiguracją 873

23.3. Elementy zarządzania konfiguracją 873

Operacje i parametry 874Zmienne 875Fakty 876Obsługa zmian 876

Poleć książkęKup książkę

Page 26: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

26 SPIS TREŚCI

Powiązania 876Paczki i repozytoria paczek 877Środowiska 877Ewidencjonowanie i rejestracja klientów 878

23.4. Porównanie popularnych systemów CM 879

Terminologia 880Modele biznesowe 880Opcje architekturalne 880Opcje językowe 883Opcje zarządzania zależnościami 884Ogólne uwagi na temat systemu Chef 886Ogólne uwagi na temat systemu Puppet 886Ogólne uwagi na temat systemów Ansible i Salt 887YAML 887

23.5. Wprowadzenie do systemu Ansible 889

Ansible na przykładzie 890Ustawienia klienta 892Grupy klientów 894Przypisywanie zmiennych 895Grupy dynamiczne i obliczane 895Listy zadań 896Parametry state 898Iteracja 898Interakcja z Jinja 899Generowanie szablonów 899Powiązania — akcje i scenariusze 900Role 902Zalecenia dotyczące ustrukturyzowania bazy konfiguracyjnej 903Opcje dostępu Ansible 904

23.6. Wprowadzenie do systemu Salt 906

Ustawianie sługi 908Powiązania wartości zmiennych dla sług 909Dopasowywanie sług 910Stany w systemie Salt 912Salt i Jinja 913Identyfikatory stanów i zależności 914Funkcje stanowe i wykonawcze 916Parametry i nazwy 917Powiązania stanów ze sługami 919Wysokie stany 920Formuły Salt 921Środowiska 921Mapa drogowa dokumentacji 925

Poleć książkęKup książkę

Page 27: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SPIS TREŚCI 27

23.7. Porównanie systemów Ansible i Salt 926

Elastyczność i skalowalność procesu wdrażania 926Wbudowane moduły i rozszerzalność 927Bezpieczeństwo 927Różności 928

23.8. Wzorce postępowania 929

23.9. Zalecana literatura 931

24 Wirtualizacja 933

24.1. Terminologia wirtualizacji 934

Hipernadzorcy 934Migracja w locie 937Obrazy maszyn wirtualnych 937Konteneryzacja 938

24.2. Wirtualizacja w Linuksie 939

Xen 939Instalacja gości w Xen 940KVM 942Instalacja gości w KVM 942

24.3. Bhyve w systemie FreeBSD 943

24.4. VMware 943

24.5. VirtualBox 944

24.6. Packer 944

24.7. Vagrant 946

24.8. Zalecana literatura 947

25 Kontenery 949

25.1. Pojęcia ogólne i podstawowe 950

Obsługa przez jądro 951Obrazy 951Sieć 952

25.2. Docker — silnik kontenerowy typu open source 953

Podstawowa architektura 953Instalacja 955Konfigurowanie klienta 955Praca z kontenerem 956Woluminy 959

Poleć książkęKup książkę

Page 28: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

28 SPIS TREŚCI

Kontenery danych 960Sieci w Dockerze 961Sterowniki pamięci masowej 963Opcje dockerd 964Budowanie obrazów 966Repozytoria 969

25.3. Kontenery w praktyce 971

Rejestrowanie zdarzeń 972Porady dotyczące bezpieczeństwa 972Rozwiązywanie problemów i usuwanie błędów 975

25.4. Grupowanie kontenerów i zarządzanie nimi 976

Krótki przegląd oprogramowania do zarządzania kontenerami 977Kubernetes 977Mesos i Marathon 978Docker Swarm 979ECS — obsługa kontenerów EC2 w AWS 980

25.5. Zalecana literatura 981

26 Ciągła integracja i ciągłe dostarczanie 983

26.1. Podstawy CI/CD 985

Zasady i praktyki 985Środowiska 988Przełączniki funkcji 989

26.2. Potoki 990

Proces budowania 990Testowanie 991Wdrażanie 993Techniki wdrażania bez przestojów 994

26.3. Jenkins — serwer automatyzacji typu open source 995

Podstawowe pojęcia związane z Jenkinsem 995Rozproszone procesy budowania 997Potok jako kod 997

26.4. CI/CD w praktyce 998

UlsahGo, trywialna aplikacja internetowa 999Testowanie jednostkowe UlsahGo 1000Pierwsze kroki z potokiem Jenkinsa 1001Budowanie obrazu DigitalOcean 1003Zapewnienie pojedynczego systemu do testowania 1005Testowanie kropli 1008Wdrażanie UlsahGo do pary kropli i balansera obciążenia 1008Zamknięcie potoku demonstracyjnego 1010

Poleć książkęKup książkę

Page 29: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SPIS TREŚCI 29

26.5. Kontenery a CI/CD 1010

Kontenery jako środowisko budowania 1011Obrazy kontenerów jako artefakty budowania 1011

26.6. Zalecana literatura 1012

27 Bezpieczeństwo 1013

27.1. Elementy bezpieczeństwa 1015

27.2. Drogi do naruszenia bezpieczeństwa 1015

Socjotechnika 1015Podatności oprogramowania 1016Rozproszona odmowa usługi (DDoS) 1017Nadużycia wewnętrzne 1018Błędy konfiguracji sieci, systemu lub aplikacji 1018

27.3. Podstawowe środki bezpieczeństwa 1019

Aktualizacje oprogramowania 1019Zbędne usługi 1020Zdalne logowanie zdarzeń 1021Kopie zapasowe 1021Wirusy i robaki 1021Rootkity 1022Filtrowanie pakietów 1022Hasła i uwierzytelnianie wieloskładnikowe 1023Czujność 1023Testy penetracyjne aplikacji 1024

27.4. Hasła i konta użytkowników 1024

Zmiany haseł 1025Menedżery haseł 1025Okres ważności haseł 1027Konta współużytkowane 1027Programy powłoki 1028Użytkownicy typu root 1028

27.5. Narzędzia bezpieczeństwa 1028

Skaner portów sieciowych nmap 1028Nessus — skaner sieciowy następnej generacji 1030Metasploit — oprogramowanie do testów penetracyjnych 1031Lynis — podręczny audyt bezpieczeństwa 1031Wyszukiwanie słabych haseł — John the Ripper 1031Programowalny system wykrywania włamań sieciowych — Bro 1032Popularny system wykrywania włamań — Snort 1033Wykrywanie włamań na poziomie hosta — OSSEC 1033Fail2Ban — system reagowania na ataki brute-force 1036

Poleć książkęKup książkę

Page 30: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

30 SPIS TREŚCI

27.6. Narzędzia kryptograficzne 1036

Kryptografia klucza symetrycznego 1037Kryptografia klucza publicznego 1037Infrastruktura klucza publicznego 1038TLS 1040Kryptograficzne funkcje skrótu 1040Generowanie liczb losowych 1042Wybór oprogramowania kryptograficznego 1043Polecenie openssl 1043PGP — Pretty Good Privacy 1045Kerberos — zunifikowane podejście do bezpieczeństwa sieciowego 1046

27.7. Bezpieczna zdalna powłoka SSH 1046

Podstawowe elementy OpenSSH 1047Klient ssh 1048Uwierzytelnianie za pomocą klucza publicznego 1050ssh-agent 1051Aliasy hostów w pliku ~/.ssh/config 1052Multipleksacja połączeń 1053Przekierowywanie portów 1054sshd — serwer OpenSSH 1055Weryfikacja klucza hosta za pomocą SSHFP 1056Przesyłanie plików 1057Inne metody bezpiecznego logowania 1057

27.8. Zapory sieciowe 1058

Zapory filtrujące pakiety 1058Filtrowanie usług 1058Zapory z kontrolą stanu 1059Poziom bezpieczeństwa oferowany przez zapory sieciowe 1059

27.9. VPN (ang. Virtual Private Network) 1060

Tunelowanie IPsec 1060Czy sam VPN wystarczy? 1061

27.10. Certyfikacja i standardy 1061

Certyfikacja 1061Standardy bezpieczeństwa 1062

27.11. Źródła informacji o bezpieczeństwie 1064

SecurityFocus.com oraz listy dyskusyjne BugTraq i OSS 1065Schneier on Security 1065Raport firmy Verizon z dochodzeń w sprawach dotyczących

naruszenia danych 1065Instytut SANS 1065Źródła związane z poszczególnymi dystrybucjami 1066Inne listy e-mailowe i strony WWW 1066

27.12. Reakcja na atak 1066

27.13. Zalecana literatura 1068

Poleć książkęKup książkę

Page 31: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SPIS TREŚCI 31

28 Monitoring 1069

28.1. Przegląd monitoringu 1070

Instrumentacja 1071Rodzaje danych 1071Pobieranie i przetwarzanie 1072Powiadomienia 1072Panele i interfejsy użytkownika 1073

28.2. Kultura monitoringu 1073

28.3. Platformy monitorujące 1074

Platformy czasu rzeczywistego typu open source 1075Platformy szeregów czasowych typu open source 1076Platformy open source do tworzenia wykresów 1078Komercyjne platformy monitorujące 1079Hostowane platformy monitorujące 1079

28.4. Zbieranie danych 1080

StatsD — ogólny protokół przesyłania danych 1080Pozyskiwanie danych z wyjścia poleceń 1082

28.5. Monitorowanie sieci 1083

28.6. Monitorowanie systemów 1084

Polecenia dla systemów monitorowania 1085collectd — pozyskiwanie ogólnych danych systemowych 1086sysdig i dtrace — śledzenie działań w systemie 1086

28.7. Monitorowanie aplikacji 1087

Monitorowanie dzienników 1087Supervisor + Munin — proste rozwiązanie

dla ograniczonych zastosowań 1088Komercyjne narzędzia do monitorowania aplikacji 1088

28.8. Monitorowanie bezpieczeństwa 1089

Weryfikowanie integralności systemu 1089Monitorowanie wykrywania włamań 1090

28.9. Protokół SNMP 1091

Organizacja SNMP 1092Operacje protokołu SNMP 1093Net-SNMP — narzędzia dla serwerów 1093

28.10. Kruczki i sztuczki 1095

28.11. Zalecana literatura 1096

Poleć książkęKup książkę

Page 32: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

32 SPIS TREŚCI

29 Wydajność 1097

29.1. Filozofia dostrajania wydajności 1098

29.2. Metody poprawy wydajności 1099

29.3. Czynniki wpływające na wydajność 1101

29.4. Zabieranie cykli procesora 1102

29.5. Analizowanie problemów z wydajnością 1102

29.6. Kontrola wydajności systemu 1103

Inwentaryzacja sprzętu 1103Gromadzenie danych o wydajności 1105Analiza użycia procesora 1106Zarządzanie pamięcią przez system 1108Analiza użycia pamięci 1109Analiza obciążenia wejścia-wyjścia 1111Testowanie wydajności podsystemu dyskowego — program fio 1112Gromadzenie statystyk w czasie i budowanie raportów — program sar 1113Wybór planisty operacji wejścia-wyjścia w Linuksie 1113Szczegółowe profilowanie systemu Linux — program perf 1114

29.7. Pomocy! Mój system nagle bardzo zwolnił! 1115

29.8. Zalecana literatura 1117

30 Podstawy centrów danych 1119

30.1. Szafy 1120

30.2. Zasilanie 1121

Wymagania zasilania szaf 1122Jednostki mocy — kVA a kW 1123Wydajność energetyczna 1123Pomiary 1124Koszt 1124Zdalne sterowanie 1124

30.3. Chłodzenie i środowisko 1124

Szacowanie zapotrzebowania na chłodzenie 1125Gorące i zimne korytarze 1126Wilgotność 1128Monitorowanie środowiska 1128

30.4. Poziomy niezawodności centrów danych 1129

30.5. Bezpieczeństwo centrów danych 1129

Lokalizacja 1130Ogrodzenie 1130

Poleć książkęKup książkę

Page 33: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SPIS TREŚCI 33

Dostęp do obiektu 1130Dostęp do szaf 1130

30.6. Narzędzia 1131

30.7. Zalecana literatura 1132

31 Metodologia i reguły w IT 1133

31.1. Teoria wielkiej unifikacji — DevOps 1134

Zasady DevOps 1135Administracja systemem w świecie DevOps 1138

31.2. Rejestracja zgłoszeń i system zarządzania zgłoszeniami 1139

Funkcje systemów zgłoszeniowych 1140Przydzielanie zgłoszeń 1140Akceptacja systemów zgłoszeniowych przez użytkowników 1141Przykłady systemów zgłoszeniowych 1142Przydzielanie zgłoszeń 1143

31.3. Utrzymanie lokalnej dokumentacji 1143

Infrastruktura jako kod 1144Standaryzacja dokumentacji 1144

31.4. Utrzymanie niezależnych środowisk 1146

31.5. Przywracanie systemu po katastrofie 1147

Ocena ryzyka 1147Plan naprawy 1148Zespół do zwalczania skutków katastrof 1149Incydenty bezpieczeństwa 1150

31.6. Reguły i procedury 1151

Różnice między regułami i procedurami 1151Najlepsze praktyki tworzenia reguł 1152Procedury 1152

31.7. Definiowanie poziomu usług (SLA) 1153

Zakresy i opisy usług 1154Reguły ustalania priorytetów zadań 1155

31.8. Zgodność — regulacje i standardy 1156

31.9. Zagadnienia prawne 1159

Ochrona prywatności 1159Wymuszanie stosowania reguł 1160Kontrola = odpowiedzialność 1160Licencje na oprogramowanie 1161

31.10. Organizacje, konferencje i inne zasoby 1162

31.11. Zalecana literatura 1163

Poleć książkęKup książkę

Page 34: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

34 SPIS TREŚCI

Krótka historia administracji systemami 1165

Kolofon 1175

O współpracownikach 1177

O autorach 1179

Skorowidz 1181

Poleć książkęKup książkę

Page 35: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1069

28MONITORING

Dążenie do monitorowania jest cechą wyróżniającą profesjonalnego administratora systemów.Niedoświadczeni administratorzy często pozostawiają systemy bez nadzoru i pozwalają na„wykrywanie” usterek, gdy sfrustrowany, rozgniewany użytkownik dzwoni do działu pomo-cy technicznej, ponieważ nie jest w stanie wykonać powierzonego mu zadania. Nieco bardziejuświadomione zespoły administracyjne tworzą platformę monitorowania, ale wyłączają po-wiadomienia po godzinach pracy, ponieważ są one zbyt uciążliwe. W obu przypadkach następujewalka z pożarem i ośmieszenie. Takie podejścia mają negatywny wpływ na przedsiębiorstwo,komplikują działania naprawcze i narażają administratorów na krytykę.

Poleć książkęKup książkę

Page 36: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1070 ROZDZIAŁ 28. MONITORING

Profesjonalni administratorzy systemów przyjmują monitoring za swoją religię. Każdysystem przed uruchomieniem jest dodawany do platformy monitorującej, a zestaw narzędzikontrolnych jest regularnie testowany i dostrajany. Mierniki i trendy są oceniane proaktywnie,tak aby można było wykryć problemy, zanim dotkną one użytkowników lub wywołają zagro-żenie bezpieczeństwa danych.

Duży serwis strumieniowania wideo on-line, o którym zapewne słyszałeś, ceni swój sys-tem telemetrii tak bardzo, że prędzej dopuszczono by tam do przestoju w świadczeniu usługiniż przestoju w monitorowaniu. Bez monitoringu i tak byłoby wiadomo, co się stało.

Filozofia „najpierw monitoring” (wraz z towarzyszącymi mu narzędziami) uczyni Cię su-perbohaterem wśród administratorów systemów. Dzięki niej lepiej poznasz swoje oprogra-mowanie i aplikacje, sprawniej rozwiążesz małe problemy, zanim przerodzą się w katastrofalnew skutkach awarie, staniesz się bardziej efektywny w znajdowaniu warunków wystąpienia błędówi usuwaniu problemów, a także zrozumiesz kwestię wydajności złożonych systemów. Monitoro-wanie poprawi również jakość Twojego życia, pozwalając na rozwiązanie większości problemóww dogodnym dla Ciebie czasie, a nie o trzeciej nad ranem w okresie świąt Bożego Narodzenia.

28.1. PRZEGLĄD MONITORINGU

Celem monitorowania jest zapewnienie funkcjonowania infrastruktury IT jako całości zgod-nie z oczekiwaniami oraz zebranie, w przystępnej i łatwo przyswajalnej formie, danych przy-datnych do zarządzania i planowania. Proste, prawda? Ten ogólny opis obejmuje jednakpotencjalnie dość rozległy obszar.

Rzeczywiste systemy monitoringu różnią się w każdym możliwym wymiarze, ale wszystkiemają tę samą podstawową strukturę:

z systemów i urządzeń będących przedmiotem zainteresowania pozyskiwane są su-rowe dane;

platforma monitorująca dokonuje przeglądu danych i określa, jakie działania będą od-powiednie, zazwyczaj poprzez stosowanie administracyjnie określonych reguł;

surowe dane i wszelkie decyzje podjęte przez system monitorowania przesyłane sąna zaplecze, gdzie prowadzone są odpowiednie działania.

Rzeczywiste systemy monitoringu bywają zarówno trywialnie proste, jak i niezwykleskomplikowane. Przykładowo poniższy skrypt napisany w Perlu zawiera wszystkie wymie-nione wyżej elementy:

#!/usr/bin/env perl$loadavg = (split /[\s,]+/, `uptime`)[10];# Jeśli obciążenie jest większe niż 5, powiadom administratoraif ($loadavg > 5.0) { system 'mail -s "Obciążenie serwera jest za wysokie" [email protected] < /dev/null'}

Skrypt ten uruchamia polecenie uptime w celu uzyskania średnich obciążeń systemu.Jeśli średnia wartość jednominutowego obciążenia jest większa niż 5.0, skrypt wysyła wia-domość e-mail do administratora. Dane, ocena, reakcja.

Dawno, dawno temu „wyszukana” konfiguracja monitoringu składała się z zestawu takichskryptów, które były uruchamiane przez demona cron i nakazywały modemowi wysyłaniewiadomości na pagery administratorów. Obecnie na każdym etapie monitorowania potokudostępnych jest wiele opcji.

Poleć książkęKup książkę

Page 37: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

28.1. PRZEGLĄD MONITORINGU 1071

Oczywiście nadal możesz pisać skrypty monitorujace i uruchamiać je przez programcron. Jeśli to naprawdę wszystko, czego potrzebujesz, za wszelką cenę staraj się zachowaćprostotę. Jeżeli jednak jesteś odpowiedzialny za więcej niż dwa serwery, takie doraźne po-dejście zwykle nie będzie wystarczające.

W dalszej części tego podrozdziału przyjrzymy się etapom potoku nieco dokładniej.

InstrumentacjaSzeroki zakres danych, które mogą się okazać użyteczne dla Twojej organizacji, obejmujeparametry wydajnościowe (czas odpowiedzi, wykorzystanie, szybkość transferu), parametrydotyczące dostępności (dostępność i nieprzerwany czas pracy), pojemność, zmiany stanu,wpisy dzienników, a nawet biznesowe wskaźniki efektywności, takie jak średnia wartość ko-szyka zakupów lub współczynnik konwersji kliknięć.

Ponieważ wszystko, co można zrobić na komputerze, jest potencjalnym przedmiotemmonitorowania, systemy monitoringu są zazwyczaj agnostyczne, jeśli chodzi o źródła danych.Często są one dostarczane z wbudowanym wsparciem dla różnych elementów wejściowych.Nawet źródła danych, które nie są obsługiwane bezpośrednio, mogą być wprowadzane zapomocą kilku wierszy kodu dostosowawczego lub oddzielnej bramki danych, takiej jak StatsD(patrz podrozdział 28.4).

Przy tak dużej ilości danych, które aż się proszą o to, żeby je zbierać, trudną częścią pro-jektowania systemu zbierania danych może być zdecydowanie o tym, co należy ignorować.Unikaj gromadzenia danych, które nie mają jasnego i możliwego do zrealizowania celu. Nad-miarowe zbieranie danych obciąża zarówno system monitoringu, jak i monitorowane jednostki.Prowadzi również do ukrywania wartości, które są naprawdę ważne, lecz giną w gąszczu informacji.

Niestety, często nie jest łatwo odróżnić użyteczne dane od śmieci. Musisz stale na nowooceniać to, co jest monitorowane, i zastanawiać się nad tym, jak dane te będą się zachowywaćprzez cały okres życia systemu.

Rodzaje danychNa najwyższym poziomie dane monitoringu można podzielić na trzy ogólne kategorie:

Wskaźniki czasu rzeczywistego, charakteryzujące stan działania środowiska. Są to zazwy-czaj liczby lub wartości logiczne. Ogólnie rzecz biorąc, obowiązkiem systemu monitorowaniajest przetestowanie tych wskaźników w odniesieniu do oczekiwań i wygenerowanie alarmuw przypadku, gdy bieżąca wartość wykroczy poza określony wcześniej zakres lub próg.

Zdarzenia, które często przybierają formę wpisów w plikach dziennika lub powiado-mień typu „push” z podsystemów. Zdarzenia te, zwane czasami wskaźnikami opar-tymi na wzorcu, mogą sygnalizować zmianę stanu, stan alarmowy bądź inne działanie.Zdarzenia mogą być przetwarzane na dane numeryczne (np. sumę lub szybkość) lubbezpośrednio wywoływać odpowiedzi monitorujące1.

Zagregowane i podsumowane trendy historyczne, które są często zbiorami usze-regowanych czasowo wskaźników czasu rzeczywistego. Pozwalają one na analizę i wi-zualizację zmian w czasie.

1 Wiele punktów danych gromadzonych przez oprogramowanie monitorujące aplikację należy do kategorii

„zdarzenie”, czasami dołączone są również dane ilościowe. Wzajemne powiązania pomiędzy zdarzeniami (np. „użyt-kownik przeglądał stronę Ustawienia, a następnie kliknął Anuluj, niczego nie zmieniając”) są często pomocnew badaniu. Platformy monitorowania ogólnego przeznaczenia nie są zbyt dobre w przypadku tego rodzaju po-wiązań, co jest jednym z powodów, dla których monitorowanie aplikacji stało się całkiem osobną kategorią.

Poleć książkęKup książkę

Page 38: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1072 ROZDZIAŁ 28. MONITORING

Pobieranie i przetwarzanie

Większość systemów monitoringu opiera się na centralnej platformie monitorującej, któraabsorbuje dane z monitorowanych systemów, przeprowadza odpowiednie przetwarzanie i sto-suje reguły administracyjne w celu określenia, co powinno nastąpić w odpowiedzi.

Platformy pierwszej generacji, takie jak Nagios i Icinga, skupiały się na wykrywaniu po-jawiających się problemów i reagowaniu na nie. Systemy te były rewolucyjne w swoich cza-sach i wprowadziły nas we współczesny świat monitoringu. Niemniej jednak z biegiem latzostały one przyćmione przez rozwijającą się stopniowo w branży świadomość, że wszystkiemonitorowane dane można uszeregować czasowo. Gdyby wartości nie różniły się od siebie,nie monitorowałbyś ich.

Oczywiste jest, że potrzebne było podejście bardziej ukierunkowane na dane. Jednakmonitorowane dane są zazwyczaj tak obszerne, że nie można po prostu przenieść ich wszyst-kich do tradycyjnej bazy danych i pozwolić sobie na ich gromadzenie. Jest to recepta na niskąwydajność i przepełnienie dysków.

Nowoczesne podejście polega na zorganizowaniu monitoringu wokół magazynu danych,który specjalizuje się w obsłudze danych uszeregowanych czasowo. Przez początkowy okresprzechowywane są wszystkie dane, ale w miarę ich starzenia się magazyn stosuje corazwyższe poziomy podsumowywania w celu ograniczenia wymagań odnośnie do pamięci ma-sowej. Przykładowo magazyn może zachowywać dane z okresu godziny w rozdzielczościjednej sekundy, dane tygodniowe w rozdzielczości jednej minuty, a dane roczne w roz-dzielczości godzinowej.

Dane historyczne są przydatne nie tylko do prezentacji na panelu, ale również jako punktodniesienia dla porównań, np. czy obecny poziom błędów sieci przekracza średnią historycznąo 25% lub więcej.

Powiadomienia

Gdy masz już platformę monitorującą, zastanów się dokładnie, co zrobić z wynikami monito-rowania. Priorytetem jest zazwyczaj poinformowanie administratorów i programistów o pro-blemie, który wymaga uwagi.

Powiadomienia muszą się wiązać z podjęciem działań. Zorganizuj swój system monitoro-wania tak, aby każdy, kto otrzyma powiadomienie, musiał potencjalnie coś zrobić w odpo-wiedzi, nawet jeśli działanie jest czymś tak ogólnym jak „sprawdzić później, aby się upewnić,że to zostało zrobione”. Powiadomienia, które są czysto informacyjne, wykształacają w per-sonelu nawyk ich ignorowania.

W większości przypadków powiadomienia muszą wykraczać poza pocztę elektroniczną,aby były optymalnie skuteczne. W razie wystąpienia krytycznych problemów łatwym i wydaj-nym rozwiązaniem będą powiadomienia SMS (tj. wiadomości tekstowe) wysyłane na telefonykomórkowe administratorów. Odbiorcy mogą ustawić dźwięki dzwonka i głośność telefonówtak, aby w razie potrzeby obudziły ich w środku nocy.

Powiadomienia powinny być również zintegrowane z implementacją ChatOps Twojegozespołu. Mniej krytyczne powiadomienia (takie jak statusy zadań, nieudane logowania i po-wiadomienia informacyjne) mogą być wysyłane do jednego lub kilku czatów, tak aby zainte-resowane strony mogły otrzymywać podzbiory powiadomień, które mogłyby je interesować.

Więcej komentarzy na temat ChatOps można znaleźć w podrozdziale 31.1.

Poleć książkęKup książkę

Page 39: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

28.2. KULTURA MONITORINGU 1073

Poza tymi podstawowymi kanałami możliwości powiadamiania są właściwie nieograni-czone. Przykładowo system oświetlenia LED zmieniający kolory w zależności od stanu sys-temu może być przydatny do szybkiego wskazywania stanu w centrum danych lub sieciowymcentrum operacyjnym. Inne opcje reagowania na sytuacje sygnalizowane przez systemy mo-nitorowania obejmują m.in.:

zautomatyzowane działania, takie jak zrzucanie baz danych lub rotacja dzienników;

telefon do administratora;

zamieszczenie danych na tablicy ściennej w celu ich upublicznienia;

przechowywanie uszeregowanych czasowo danych w bazie do późniejszej analizy;

nierobienie niczego i umożliwienie samemu systemowi dokonania późniejszego przeglądu.

Panele i interfejsy użytkownikaOprócz ostrzegania o wyraźnie wyjątkowych okolicznościach jednym z głównych celów mo-nitoringu jest przedstawienie stanu środowiska w sposób bardziej uporządkowany i łatwiejszydo przyswojenia niż szereg surowych danych. Takie wyświetlacze nazywane są ogólnie pa-nelami (ang. dashboards).

Panele nawigacyjne są projektowane przez administratorów lub innych członków organi-zacji zainteresowanych konkretnymi aspektami środowiska. Panele wykorzystują kilka róż-nych technik przemiany surowych danych w infograficzne złoto.

Po pierwsze, są selektywne w tym, co prezentują. Koncentrują się na najważniejszychwskaźnikach dla danej dziedziny, ukazujących ogólny stan lub ogólną wydajność. Po drugie,dają wskazówki kontekstowe dotyczące znaczenia i importu prezentowanych danych. Przy-kładowo problematyczne liczby i stany są zazwyczaj wyświetlane na czerwono, a podstawo-we wskaźniki są przedstawiane za pomocą czcionki o większych rozmiarach. Związki pomię-dzy wartościami są prezentowane poprzez grupowanie. Po trzecie, pulpity wyświetlają seriedanych jako wykresy, co ułatwia ich szybką ocenę.

Oczywiście, większość zebranych danych nigdy nie pojawia się na panelu. Dobrze jest teżmieć system monitoringu, który posiada uniwersalny interfejs użytkownika, ułatwiający prze-glądanie i modyfikowanie schematu danych, umożliwiający wykonywanie dowolnych zapytańbazodanowych oraz tworzenie wykresów dowolnie definiowanych sekwencji danych w locie.

28.2. KULTURA MONITORINGU

Ten rozdział dotyczy głównie narzędzi, ale kultura jest co najmniej równie ważna jak one.Wyruszając w podróż po świecie monitoringu, kieruj się poniższymi zasadami:

Jeśli dany system lub dana usługa kogoś dotyczą lub ktoś jest od nich zależny, musi tobyć monitorowane. Koniec i kropka. Nic w środowisku, od którego zależy usługa lubużytkownik, nie może pozostać bez nadzoru.

Jeżeli urządzenie produkcyjne, system lub usługa posiada cechy możliwe do monito-rowania, powinny one być monitorowane. Nie pozwól, aby serwer z wymyślnym in-terfejsem zarządzania sprzętem spędził tygodnie na bezskutecznych próbach powia-domienia Cię o awarii wentylatora.

Wszystkie konstrukcje o wysokiej dostępności muszą być monitorowane. Szkoda bysię było dowiedzieć, że główny serwer nie działa, dopiero po tym, gdy awarii uległbytakże serwer rezerwowy.

Poleć książkęKup książkę

Page 40: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1074 ROZDZIAŁ 28. MONITORING

Monitorowanie nie jest opcjonalne. Każdy administaror systemów, deweloper, czło-nek personelu operacyjnego, kierownik i kierownik projektu powinien w swoim planiepracy zarezerwować czas na monitorowanie.

Dane z monitoringu (zwłaszcza dane historyczne) są przydatne dla wszystkich. Spraw,aby były one łatwo dostępne i widoczne, tak by każdy mógł z nich korzystać podczasanalizy głównych przyczyn awarii, planowania, zarządzania cyklem życia systemów i wpro-wadzania ulepszeń architektonicznych. Nie szczędź swoich wysiłków ani zasobów natworzenie i promowanie pulpitów monitorujących.

Każdy powinien odpowiadać na ostrzeżenia. Monitorowanie nie jest problemem tylkopracowników operacyjnych. Wszystkie role techniczne powinny otrzymywać powia-domienia i współpracować przy rozwiązywaniu problemów. Takie podejście zachęcado rzetelnego analizowania ich przyczyn, niezależnie od tego, które osoby najbardziejnadają się do rozwiązania problemu.

Poprawnie wdrożone monitorowanie wpływa pozytywnie na jakość życia administra-tora. Solidny system monitorowania uwalnia Cię od zamartwiania się o to, w jakimstanie są Twoje systemy, i daje innym możliwość wspierania Cię. Bez monitorowaniai odpowiedniej dokumentacji będziesz musiał czuwać przy telefonie praktycznie 24 go-dziny na dobę przez 7 dni w tygodniu.

Przeszkól osoby reagujące na sytuacje alarmowe, aby je naprawiały, a nie tylko łagodziły.Zidentyfikuj fałszywe lub zbyt natarczywe alarmy i dostosuj je tak, aby przestały się wy-zwalać nieprawidłowo. Fałszywe alarmy zachęcają wszystkich do ignorowania systemumonitoringu.

28.3. PLATFORMY MONITORUJĄCE

Jeśli masz zamiar monitorować wiele systemów i więcej niż kilka wskaźników, warto po-święcić trochę czasu na wdrożenie pełnoprawnej platformy monitorującej. Jest to systemogólnego przeznaczenia, który zbiera dane z wielu źródeł, ułatwia wyświetlanie i podsumo-wywanie informacji o stanie oraz wprowadza ustandaryzowany sposób definiowania działańi ostrzeżeń.

Dobra wiadomość jest taka, że istnieje wiele możliwości do wyboru. Gorszą wiadomościąjest to, że nie istnieje — jak na razie — jedna, doskonała platforma. Wybierając któreś z do-stępnych rozwiązań, należy wziąć pod uwagę następujące kwestie:

Elastyczność gromadzenia danych. Każda platforma może pobierać dane z różnychźródeł. Nie oznacza to jednak, że wszystkie platformy są pod tym względem równo-ważne. Pomyśl, z jakich źródeł danych rzeczywiście chcesz korzystać. Czy będzieszmusiał odczytywać dane z bazy danych SQL? Z rekordów DNS? Z połączenia HTTP?

Jakość interfejsu użytkownika. Wiele systemów oferuje konfigurowalne graficzneinterfejsy użytkownika lub interfejsy WWW. Większość dobrze sprzedających się pa-kietów zachwala swoją zdolność wykorzystania szablonów JSON do prezentacji da-nych. Interfejs użytownika to nie tylko szum marketingowy; potrzebujesz interfejsu,który przekaże informacje w sposób jasny, prosty i zrozumiały. Może w Twojej or-ganizacji potrzebujesz różnych interfejsów użytkownika dla różnych grup?

Poleć książkęKup książkę

Page 41: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

28.3. PLATFORMY MONITORUJĄCE 1075

Koszt. Niektóre komercyjne pakiety zarządzania są bardzo kosztowne. Wiele korpo-racji ceni sobie to, że ich witryna jest zarządzana przez wysokiej klasy system ko-mercyjny. Jeśli nie jest to tak ważne dla Twojej organizacji, przyjrzyj się darmowymrozwiązaniom, takim jak Zabbix, Sensu, Cacti i Icinga.

Automatyczne wykrywanie. Wiele systemów oferuje możliwość „wykrywania”Twojej sieci. Poprzez rozsyłanie poleceń ping, żądania SNMP, przeszukiwania tablicARP i zapytania DNS identyfikują one wszystkie lokalne hosty i urządzenia. Wszyst-kie wdrożenia wykrywające, jakie widzieliśmy, działały całkiem dobrze, ale ich do-kładność jest mniejsza w sieciach złożonych lub silnie zabezpieczonych zaporami.

Funkcje sprawozdawcze. Wiele produktów może wysyłać powiadomienia e-mail,integrować się z ChatOps, wysyłać wiadomości tekstowe i automatycznie generowaćzgłoszenia dla popularnych systemów śledzenia błędów. Upewnij się, że wybranaprzez Ciebie platforma umożliwia elastyczne raportowanie. Kto wie, z jakimi urzą-dzeniami elektronicznymi będziesz miał do czynienia za kilka lat?

Platformy czasu rzeczywistego typu open source

Chociaż opisywane tu platformy — Nagios, Icinga i Sensu Core — robią wszystkiego po trochu,są znane z tego, że świetnie sobie radzą z pomiarami chwilowymi (lub opartymi na wskaźnikach).

Systemy te mają swoich zwolenników, ale jako narzędzia monitorowania pierwszej gene-racji stopniowo tracą przewagę nad systemami szeregów czasowych, które opisujemy w na-stępnym punkcie. Większości ośrodków rozpoczynających od zera radzilibyśmy wybraniesystemu opartego na szeregach czasowych.

Nagios i Icinga

Nagios i Icinga specjalizują się w powiadamianiu o błędach w czasie rzeczywistym. Chociażsystemy te nie pomagają w określeniu, o ile zwiększyło się wykorzystanie przepustowościłącza w ciągu ostatniego miesiąca, mogą jednak wykryć, że Twój serwer WWW przeszedłw tryb off-line.

Nagios i Icinga były pierwotnie odnogami jednego drzewa źródłowego, ale współczesnaIcinga 2 została przepisana zupełnie na nowo. Pod wieloma względami pozostaje jednak kom-patybilna z Nagiosem.

Oba systemy zawierają mnóstwo skryptów do monitorowania usług we wszystkich kształ-tach i rozmiarach oraz posiadają rozbudowane możliwości monitoringu SNMP. Prawdopodob-nie ich największą zaletą jest modułowy i wysoce konfigurowalny system konfiguracji, którypozwala na pisanie własnych skryptów do monitorowania wszelkich możliwych wskaźników.

Jeśli czujesz się na siłach i masz skłonności masochistyczne, możesz napisać własnewtyczki monitorujące w Perlu, PHP, Pythonie czy nawet w C. Wiele standardowych metodpowiadamiania jest wbudowanych: poczta elektroniczna, raporty WWW, wiadomości teksto-we itp. I podobnie jak w przypadku wtyczek monitorujących, możesz łatwo wprowadzić własneskrypty powiadomień i akcji.

Zarówno Nagios, jak i Icinga dobrze się sprawdzają w sieciach obsługujących mniej niżtysiąc hostów i urządzeń. Systemy te są łatwe do dostosowania i rozszerzania, a także zawierająpotężne funkcje, takie jak nadmiarowość, zdalne monitorowanie i eskalacja powiadomień.

Poleć książkęKup książkę

Page 42: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1076 ROZDZIAŁ 28. MONITORING

Jeśli instalujesz nową infrastrukturę monitoringu od podstaw, polecamy raczej Icingę 2niż Nagiosa. Jej baza kodu jest na ogół czystsza i szybko zyskuje zwolenników oraz wsparciespołeczności. Z funkcjonalnego punktu widzenia interfejs użytkownika Icingi jest bardziejprzejrzysty i szybszy, a także jest w stanie automatycznie budować zależności usług, co mo-że mieć zasadnicze znaczenie w złożonych środowiskach.

Sensu

Sensu jest pełnowymiarową platormą monitorującą, dostępną zarówno w wersji opensource (Sensu Core), jak i z płatnymi, komercyjnymi dodatkami. Posiada ultranowoczesnyinterfejs użytkownika i może uruchamiać wszelkie wtyczki monitorujące pochodzącez systemów Nagios, Icinga i Zabbix. Sensu zostało zaprojektowane jako zamiennik Nagiosa,więc kompatybilność z wtyczkami jest jedną z jego najbardziej atrakcyjnych cech. Sensuumożliwia łatwą integrację z powiadomieniami narzędzi Logstash i Slack, a jego instalacjajest wyjątkowo prosta.

Platformy szeregów czasowych typu open source

Wykrywanie bieżących problemów i reagowanie na nie to tylko jeden z aspektów monitoringu.Często równie ważna jest znajomość zmian wartości w czasie i ich związków z innymi warto-ściami. W celu zaspokojenia tej potrzeby powstały cztery popularne platformy szeregów cza-sowych: Graphite, Prometheus, InfluxDB i Munin.

W tych systemach obliczem i sercem ekosystemu monitorowania jest baza danych. Róż-nią się one pod względem stopnia kompletności jako samodzielne systemy monitoringu i naogół są zaprojektowane pod kątem świata bardziej modułowego niż ten, dla którego opraco-wano tradycyjne systemy, takie jak Icinga. Do zbudowania kompletnej platformy monitoro-wania konieczne może być dostarczenie dodatkowych komponentów.

Graphite

Graphite był niewątpliwie awangardą platform monitorowania szeregów czasowych nowejgeneracji. Jego trzonem jest elastyczna baza danych szeregów czasowych z łatwym w użyciujęzykiem zapytań. Przyczyną popularności hashtagu #monitoringlove i ogromnego wpływu,jaki Graphite wywarł na metody prezentacji danych w interfejsach użytkownika, jest sposób,w jaki agreguje on i podsumowuje wskaźniki. Rozpoczął on odchodzenie od monitorgu w prze-działach minutowych na rzecz skali mierzonej w ułamkach sekundy.

Jak można odgadnąć z nazwy, Graphite zawiera funkcje graficzne do wizualizacji WWW.Ten aspekt pakietu został jednak nieco przyćmiony przez podobną cechę Grafany. Graphitejest dziś lepiej znany z innych komponentów, takich jak Carbon i Whisper, które stanowią rdzeńsystemu zarządzania danymi.

Platformę Graphite można łączyć z innymi narzędziami w celu stworzenia skalowalnego,rozproszonego, klastrowego środowiska monitorującego, które jest w stanie pochłaniać i ra-portować setki tysięcy wskaźników. Taki schemat architekturalny został przedstawiony narysunku 28.1.

Poleć książkęKup książkę

Page 43: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

28.3. PLATFORMY MONITORUJĄCE 1077

Rysunek 28.1. Klastrowa architektura platformy Graphite

Prometheus

Naszą ulubioną platformą szeregów czasowych jest obecnie Prometheus. Jest to wszech-stronna platforma, która zawiera zintegrowane ze sobą elementy zbierania danych, analizytrendów i ostrzegania. Komponenty te są przyjazne zarówno dla administratorów, jak i de-weloperów, co sprawia, że jest to doskonałe rozwiązanie dla DevOps. Nie pozwala jednak naklastrowanie, co może oznaczać, że nie jest ono odpowiednie dla ośrodków wymagającychwysokiej dostępności.

InfluxDB

InfluxDB jest niezwykle przyjazną dla programistów platformą monitorowania szeregów cza-sowych, która obsługuje wiele języków programowania. Podobnie jak Graphite, InfluxDB totak naprawdę tylko silnik bazodanowy szeregów czasowych. Będziesz musiał uzupełnić pa-kiet zewnętrznymi komponentami, takimi jak Grafana, aby stworzyć kompletny system mo-nitoringu zawierający takie funkcje jak ostrzeganie.

Funkcje zarządzania danymi w InfluxDB są znacznie bardziej rozbudowane niż w przy-padku rozwiązań wymienionych wyżej. Dodatkowe funkcje InfluxDB wprowadzają jednakpewną złożoność niepożądaną w typowych instalacjach.

Poleć książkęKup książkę

Page 44: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1078 ROZDZIAŁ 28. MONITORING

InfluxDB ma dość kłopotliwą historię błędów i niezgodności. Jednak obecna wersja wy-daje się stabilna i jest prawdopodobnie najlepszą alternatywą dla platformy Graphite, jeśliszukasz samodzielnego systemu zarządzania danymi.

Munin

Munin był niegdyś dość popularny, szczególnie w Skandynawii. Jest on zbudowany na baziesprytnej architektury, w której wtyczki do zbierania danych nie tylko dostarczają dane, aletakże informują system, w jaki sposób należy je przedstawić. Mimo że Munin wciąż dosko-nale nadaje się do użytku, w przypadku nowych wdrożeń należy rozważyć bardziej nowocze-sne rozwiązania, takie jak Prometheus. W pewnych sytuacjach Munin jest jednak nadal uży-tecznym narzędziem do monitorowania aplikacji; patrz podrozdział 28.7.

Platformy open source do tworzenia wykresówDwa podstawowe sposoby tworzenia paneli i wykresów to funkcje graficzne wbudowanew platformę Graphite i nowszy pakiet, Grafana.

Graphite może przedstawiać graficznie dane pochodzące z innych magazynów niż Whisper (wbu-dowany komponent pamięci masowej pakietu Graphite), ale niekoniecznie jest to właściwy wybór.

Jako pakiet agnostyczny bazodanowo Grafana dość dobrze radzi sobie z obsługą obcychmagazynów danych, w tym wszystkich wymienionych w poprzednim punkcie. Obsługuje ponad30 baz źródeł. Pierwotnie Grafana miała być próbą poprawienia wykresów generowanychprzez platformę Graphite, więc można z niej wygodnie korzystać również w tym środowisku.

Zarówno Grafite, jak i Grafana prezentują graficzny interfejs przypominający tablicę roz-dzielczą, który może generować wizualizacje umożliwiające lepszy wgląd i łatwiejsze zarządzanie.Z ich pomocą można wyświetlać wszystko, począwszy od niskopoziomowych wskaźników syste-mowych, a skończywszy na wskaźnikach biznesowych. Testy porównawcze zazwyczaj wykazująprzewagę Grafany ze względu na jej nieprzeciętny interfejs użytkownika i piękniejsze wykresy.

Na rysunku 28.2 przedstawiony został prosty pulpit Grafany.

Rysunek 28.2. Przykładowy pulpit Grafany

Poleć książkęKup książkę

Page 45: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

28.3. PLATFORMY MONITORUJĄCE 1079

Komercyjne platformy monitorująceSetki firm sprzedają oprogramowanie monitorujące, a co tydzień pojawiają się na rynku nowikonkurenci. Jeśli szukasz rozwiązania komercyjnego, powinieneś przynajmniej rozważyć opcjewymienione w tabeli 28.1.

Tabela 28.1. Popularne komercyjne platformy monitorujące

Platforma Adres URL Komentarz

Datadog datadoghq.com platforma monitorowania aplikacji w chmurzedługa lista obsługiwanych systemów, aplikacji i usług

Librato librato.com obsługa istniejących wtyczek open source w trybie Plug and Play

Monitus monitus.net platforma monitorująca dla handlu elektronicznego

Pingdom pingdom.com platforma monitorująca oparta na SaaSa

SignalFx signalfx.com platforma SaaS z integracją z wieloma chmurami

SolarWinds solarwinds.com solidny monitoring sieciowy

Sysdig Cloud sysdig.com specjalność: monitorowanie i ostrzeganie w Dockerzełatwa korelacja zdarzeń pomiędzy usługami

Zenoss zenoss.com niezwykle złożona alternatywa dla systemu Icinga

a Nie wymaga instalacji oprogramowania. Dobre rozwiązanie tylko dla aplikacji WWW.

Większość firm nie powinna budować własnego systemu monitorowania, niezależnie odtego, czy miałby się on znajdować w chmurze, w hipernadzorcy centrum danych, czy w szafie.Outsourcing jest tańszy i bardziej niezawodny. Dlatego warto rozważyć Datadog, Librato,SignalFx lub Sysdig Cloud, jeśli potrzebujesz systemu monitorowania dla popularnego ze-stawu aplikacji bądź serwerów.

Analizując komercyjną platformę monitorującą, często najpierw zwracasz uwagę na jejcenę. Pamiętaj jednak o tym, aby zbadać również szczegóły jej działania:

Czy da się ją łatwo zintegrować z Twoim systemem zarządzania konfiguracją?

W jaki sposób system wdraża nowe wtyczki lub testy do Twoich hostów? Czy są oneprzesyłane, czy pobierane?

Czy dobrze integruje się z istniejącą platformą powiadamiania, jeśli taką posiadasz?

Czy Twoje środowisko dopuszcza połączenia zewnętrzne ułatwiające wprowadzenierozwiązań monitorujących opartych na chmurze?

To tylko kilka z pytań, które powinieneś sobie zadać, analizując platformy. Ostatecznienajlepsza jest taka platforma, która ma prostą konfigurację, jest atrakcyjna cenowo i będziez łatwością przyjęta przez Twoich użytkowników.

Hostowane platformy monitorująceJeśli nie jesteś zainteresowany konfigurowaniem i utrzymywaniem własnych narzędzi domonitorowania sieci, możesz rozważyć wybór platformy hostowanej (w chmurze). Istniejewiele darmowych i komercyjnych rozwiązań, ale jednym z najpopularniejszych jest StatusCake(statuscake.com). Zewnętrzny dostawca ma ograniczone możliwości przeglądania wewnętrz-nych szczegółów Twojej sieci, ale rozwiązania hostowane dobrze się sprawdzają w zakresiewalidacji stanu usług publicznych i witryn internetowych.

Poleć książkęKup książkę

Page 46: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1080 ROZDZIAŁ 28. MONITORING

Dostawca hostowanej platformy monitorującej może również uwolnić Cię od ograniczeńzwiązanych z funkcjonowaniem łącza internetowego Twojej organizacji. Jeśli do przesyłaniapowiadomień z wewnętrznego systemu monitorowania wykorzystujesz swoją sieć nadrzędną— co w końcu robi większość ośrodków — chciałbyś mieć pewność, że sama sieć nadrzędnabędzie monitorowana i oprzyrządowana, aby w razie wystąpienia problemów można byłozorganizować pracowników.

28.4. ZBIERANIE DANYCH

W poprzednim podrozdziale przyjrzeliśmy się różnym pakietom, które mogą pełnić funkcjęcentralnego mechanizmu monitorowania. Wybór i wdrożenie jednego z tych systemów jestjednak tylko pierwszą częścią procesu konfiguracji. Musisz się jeszcze upewnić, że intere-sujące Cię dane i zdarzenia trafią do centralnej platformy monitorującej.

Szczegóły procesu oprzyrządowania zależą od systemów, które chcesz monitorować, orazod filozofii Twojej platformy monitorującej. W wielu przypadkach będziesz musiał napisaćkilka prostych skryptów scalających, aby przekonwertować informacje o stanie na formę zro-zumiałą dla platformy monitorującej. Niektóre platformy, takie jak Icinga, wyposażone są w ze-staw wtyczek, które zbierają standardowe wskaźniki pomiarowe z powszechnie monitorowanychsystemów. Inne platformy, takie jak Graphite i InfluxDB, w ogóle nie zapewniają mechanizmuwprowadzania danych i trzeba je uzupełnić o frontend, który wykona to zadanie.

W następnych punktach najpierw omówimy StatsD, frontend zbierania danych ogólnegoprzeznaczenia, a później przyjrzymy się pewnym narzędziom i technikom oprzyrządowanianiektórych monitorowanych systemów.

StatsD — ogólny protokół przesyłania danych

StatsD został napisany przez inżynierów z serwisu Etsy jako sposób na śledzenie wszystkie-go w ich własnym środowisku. Jest to oparty na UDP frontend pośredniczący, który zrzucawszelkie przechodzące przez niego dane do platformy monitorującej w celu ich wykorzysta-nia, przeliczenia i wyświetlenia. Supermocą StatsD jest jego zdolność do przyjmowania i do-konywania obliczeń na podstawie arbitralnych statystyk.

Demon StatsD firmy Etsy został napisany w Node.js. Jednak obecnie nazwa „StatsD” od-nosi się bardziej do protokołu niż do jednego z wielu pakietów oprogramowania, które goimplementują (prawdę mówiąc, nawet wersja z Etsy nie jest oryginalna; inspiracją do jejutworzenia był podobnie nazwany projekt firmy Flickr). Powstały wdrożenia napisanew wielu różnych językach, ale tutaj skupimy się na wydaniu Etsy.

StatsD zależy od Node.js, więc przed przystąpieniem do instalacji StatsD upewnij się, żeten pakiet został zainstalowany i odpowiednio skonfigurowany. Implementacja Etsy nie wcho-dzi w skład repozytoriów pakietów większości systemów operacyjnych, choć inne wersjeStatsD są często dostępne; upewnij się, że ich nie pomylisz. Najprościej będzie sklonowaćwersję Etsy bezpośrednio z repozytorium GitHub:

$ git clone https://github.com/etsy/statsd

StatsD jest niewiarygodnie modułowy i może dostarczać przychodzące dane do różnychzapleczy i klientów. Spójrzmy na prosty przykład, który wykorzystuje platformę Graphitew roli zaplecza.

Poleć książkęKup książkę

Page 47: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

28.4. ZBIERANIE DANYCH 1081

Aby się upewnić, że Graphite i StatsD komunikują się poprawnie, musisz zmodyfikowaćCarbon, składnik magazynujący Graphite. Dokonaj edycji pliku /etc/carbon/storage-schemas.confi dodaj fragment podobny do poniższego:

[stats]pattern = ^stats.*retentions = 10s:12h,1min:7d,10min:1y

Ta konfiguracja nakazuje, aby Carbon przez 12 godzin przechowywał dane z 10-sekundowychodstępów czasu. Carbon podsumowuje wygasające dane w odstępach jednominutowych i prze-chowuje to podsumowanie przez kolejne 7 dni. Dane o szczegółowości 10-minutowej prze-chowywane są przez cały rok. W dokonywaniu tych wyborów nie ma żadnej magii; musiszokreślić, co odpowiada potrzebom w zakresie przechowywania danych w Twojej organizacjii jakie dane mają być zbierane.

Dokładna definicja podsumowania danych szeregów czasowych różni się w zależności odrodzaju danych. Przykładowo, jeśli zliczasz błędy sieciowe, prawdopodobnie chciałbyś, abypodsumowanie dodawało wartości do siebie. Jeżeli szukasz mierników, które przedstawiająobciążenie lub stopień wykorzystania danych, prawdopodobnie będziesz potrzebował śred-niej. Być może będziesz musiał również określić odpowiednie sposoby postępowania z bra-kującymi danymi.

Zasady te są określone w pliku /etc/carbon/storage-aggregation.conf. Jeśli nie masz jeszczedziałającej instalacji Graphite, jego przykładowa konfiguracja będzie dla Ciebie dobrympunktem wyjścia:

/usr/share/doc/graphite-carbon/examples/storage-aggregation.conf.example

Poniżej przedstawiamy kilka sensownych ustawień domyślnych, które warto uwzględnićw pliku storage-aggregation.conf.

[min]pattern = \.lower$xFilesFactor = 0.1aggregationMethod = min[max]pattern = \.upper(_\d+)?$xFilesFactor = 0.1aggregationMethod = max[sum]pattern = \.sum$xFilesFactor = 0aggregationMethod = sum[count]pattern = \.count$xFilesFactor = 0aggregationMethod = sum[count_legacy]pattern = ^stats_counts.*xFilesFactor = 0aggregationMethod = sum[default_average]pattern = .*xFilesFactor = 0.3aggregationMethod = average

Poleć książkęKup książkę

Page 48: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1082 ROZDZIAŁ 28. MONITORING

Zauważ, że każdy blok konfiguracyjny posiada wzorzec wyrażenia regularnego, którypróbuje dopasować nazwy serii danych. Bloki są odczytywane po kolei, a pierwszy dopaso-wany blok staje się specyfikacją kontrolną dla każdej serii danych. Przykładowo seria o na-zwie sample.count odpowiada wzorcowi w bloku [count]. Wartości zostaną skumulowanepoprzez zsumowanie punktów danych (aggregationMethod = sum).

Ustawienie xFilesFactor określa minimalną liczbę próbek potrzebnych do znaczącegozmniejszenia współczynnika próbkowania wskaźników. Jest ona wyrażona jako liczba z prze-działu od 0 do 1 przedstawiająca wartość procentową wartości niezerowych, które musząwystępować w warstwie o większej szczegółowości, aby warstwa sumowania nie miała war-tości zerowej. Przykładowo ustawienie xFilesFactor w przedstawionych wyżej blokach[min] i [max] wynosi 10%, więc nawet pojedyncza wartość danych spełni to kryterium,biorąc pod uwagę nasze ustawienia w pliku storage-schema.conf. Wartość domyślna to 50%.Jeśli te ustawienia nie będą dobrze przemyślane, otrzymane dane będą niedokładne lub zo-staną pominięte!

Możemy wysłać kilka danych testowych do StatsD za pomocą programu netcat (nc):

$ echo "sample.count:1|c" | nc -u -w0 statsd.admin.com 8125

Polecenie to przekazuje do zbioru danych sample.count wartość 1 jako licznik wskaźni-ków (wskazany przez c). Pakiet przechodzi do portu 8125. w domenie statsd.admin.com; jestto port, na którym domyślnie nasłuchuje statsd. Jeśli ten pomiar pojawi się na panelu Graphite,będziesz gotowy do zbierania wszelkiego rodzaju monitorowanych danych za pośrednictwemjednego z wielu klientów StatsD. Listę klientów, które mogą się komunikować z programemStatsD, można znaleźć na jego stronie wiki w repozytorium GitHub (github.com/etsy/statsd/wiki).Możesz też napisać własnego klienta! Protokół jest prosty, a możliwości są nieograniczone.

Pozyskiwanie danych z wyjścia poleceńJeśli możesz coś prześledzić z wiersza poleceń, możesz to również prześledzić na swojejplatformie monitorującej. Wszystko, czego potrzebujesz, to kilka wierszy skryptu scalające-go do wyodrębnienia interesujących Cię danych, które następnie przekształcasz na formatakceptowany przez platformę monitorującą.

Przykładowo polecenie uptime pokazuje czas pracy systemu, liczbę zalogowanych użyt-kowników i średnie obciążenie w ciągu ostatniej minuty, ostatnich 5 i 15 minut.

$ uptime07:11:50 up 22 days, 10:13, 2 users, load average: 1.20, 1.41, 1.88

Człowiek jest w stanie błyskawicznie przetworzyć te dane wyjściowe i zobaczyć, żeśrednie obciążenie wynosi obecnie 1,20. Jeśli chcesz napisać skrypt, aby regularnie spraw-dzać tę wartość lub wprowadzać ją do innego procesu monitorowania, możesz użyć poleceńdo manipulacji tekstem w celu wyodrębnienia żądanej wartości:

$ uptime | perl -anF'[\s,]+' -e 'print $F[10]'2

1.20

Zastosowaliśmy tutaj język Perl do podziału wyjścia w każdym miejscu, gdzie występująspacje i przecinki, oraz do wyświetlenia zawartości dziesiątego pola (jest to średnia jednomi-nutowego obciążenia). Voilà!

2 To polecenie jest zależne od ustawień regionalnych, np. w polskiej wersji Linuksa nie zadziała, bo

wartości dziesiętne są oddzielane przecinkiem, a nie kropką (1,20 zamiast 1.20) — przyp. tłum.

Poleć książkęKup książkę

Page 49: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

28.5. MONITOROWANIE SIECI 1083

Chociaż w większości dziedzin Perl został przyćmiony przez nowocześniejsze języki, ta-kie jak Python i Ruby, wciąż pozostaje królem szybkich manipulacji tekstem. Prawdopodob-nie nie warto się uczyć Perla tylko w tym celu, ale umiejętność formułowania wyrafinowa-nych przekształceń tekstu jako jednowierszowych poleceń jest bardzo przydatna.

Możemy łatwo rozbudować to jednowierszowe polecenie do krótkiego skryptu, któryokreśla wartość średniego obciążenia i przesyła ją do StatsD:

#!/usr/bin/env perluse Net::Statsd;use Sys::Hostname;$Net::Statsd::HOST = 'statsd.admin.com';$loadavg = (split /[\s,]+/, `uptime`)[10];Net::Statsd::gauge(hostname . '.loadAverage' => $loadavg);

Porównaj ten skrypt z naszym jednowierszowym poleceniem wysyłającym dane testowedo StatsD z poprzedniego punktu i naszym jednowierszowym przetwarzaniem wyjścia uptime.W tym przypadku Perl musi uruchomić polecenie uptime i przetworzyć dane wyjściowe jakołańcuch, dlatego ta część wygląda nieco inaczej niż jej jednowierszowy odpowiednik (w którymwykorzystaliśmy tryb automatycznego podziału).

Zamiast używać nc do obsługi sieciowej transmisji danych do StatsD, używamy prostegoskryptu osłonowego dla StatsD, który pobraliśmy z archiwum CPAN3. Jest to na ogół zalecanepodejście; biblioteki są stabilniejsze niż doraźne rozwiązania i wyjaśniają przeznaczenie kodu.

Wiele poleceń może wygenerować więcej niż jeden format wyjściowy. Sprawdź stronępodręcznika danego polecenia, aby przejrzeć dostępne opcje, zanim spróbujesz przetworzyćjego wyniki. Niektóre formaty są znacznie łatwiejsze w obsłudze niż inne.

Kilka poleceń obsługuje format wyjściowy, który szczególnie ułatwia przetwarzanie. Inneposiadają konfigurowalne systemy wyjściowe; możesz w nich zażądać podania wartości tylkotych pól, które naprawdę są Ci potrzebne. Często polecenia mają opcję, która zapobiega wy-świetlaniu opisowych wierszy nagłówka w wyjściu.

28.5. MONITOROWANIE SIECI

Wiele ośrodków zaczynało od wykorzystywania systemów monitorujących i paneli do moni-torowania stanu sieci, więc jest to pierwszy z kilku rodzajów monitoringu, któremu przyj-rzymy się nieco dokładniej. W kolejnych punktach zajmiemy się również monitoringiemsystemów operacyjnych, aplikacji i usług oraz bezpieczeństwa.

Podstawową jednostką monitoringu sieciowego jest ping sieci, znany również jako pakietEcho Request (żądanie echa) protokołu ICMP. Szczegóły techniczne omawiamy dokładniejw podrozdziale 13.12; opisujemy tam także polecenia ping i ping6, które inicjują wysyłaniesygnału ping z wiersza poleceń.

Koncepcja jest prosta: wysyłasz pakiet żądania echa do innego hosta w sieci, a jego im-plementacja IP w odpowiedzi zwraca pakiet do Ciebie. Jeśli otrzymasz odpowiedź na swójsygnał, wiesz, że wszystkie bramy sieciowe i urządzenia znajdujące się pomiędzy Tobą a do-celowym hostem są sprawne. Wiesz również, że host docelowy jest włączony, a jego jądrojest uruchomione i działa. Ponieważ jednak sygnały ping obsługiwane są w stosie protokołuTCP/IP, nie dostarczają żadnych informacji na temat stanu oprogramowania wyższego po-ziomu, które może być uruchomione na docelowym komputerze.

3 Comprehensive Perl Archive Network, cpan.org.

Poleć książkęKup książkę

Page 50: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1084 ROZDZIAŁ 28. MONITORING

Sygnały ping nie narzucają zbyt dużego obciążenia sieci, więc można je wysyłać często— powiedzmy, że co dziesięć sekund. Zaprojektuj swoją strategię pingowania w sposób prze-myślany, tak aby obejmowała wszystkie ważne bramy i sieci. Pamiętaj, że jeśli sygnał pingnie może przejść przez bramę, nie przejdą przez nią również dane monitoringu, które infor-mują o awarii pingowania. Będziesz potrzebował co najmniej jednego zestawu pingów wy-chodzących z samego centralnego hosta monitorującego.

Bramy sieciowe nie muszą odpowiadać na pakiety ping, więc ich sygnał może zostać po-rzucony przez zajętą bramę. Nawet prawidłowo funkcjonująca sieć od czasu do czasu gubipakiet, a więc nie uruchamiaj od razu alarmu przy pierwszej oznace błędów. Rozsądniejszebędzie zbieranie danych o sygnałach ping jako binarnych rekordów zdarzeń (przeszedł/nieprzeszedł) i wprowadzanie ich do zagregowanych miar procentowych strat pakietów w dłuż-szym okresie.

Warto również dokonywać pomiarów przepustowości pomiędzy dwoma punktami w sieci.Można to zrobić za pomocą iPerf; szczegółowe informacje na ten temat można znaleźćw podrozdziale 13.13.

Większość urządzeń sieciowych obsługuje protokół SNMP(ang. Simple Network Mana-gement Protocol), będący branżowym standardem, jeśli chodzi o sposób nazywania i zbieraniadanych operacyjnych. Chociaż SNMP oddalił się znacznie od swoich sieciowych korzeni,uważamy, że jest on zbyt przestarzały, aby służyć do celów innych niż podstawowy monito-ring sieci.

SNMP to dość obszerny temat, więc jego omówienie odłożymy na później (do podroz-działu 28.9, „Protokół SNMP”).

28.6. MONITOROWANIE SYSTEMÓW

Ponieważ jądro systemu steruje jego procesorem, pamięcią, systemami wejścia-wyjściai urządzeniami, większość interesujących informacji o stanie systemu, które mógłbyś chciećmonitorować, znajduje się gdzieś wewnątrz jądra. Niezależnie od tego, czy analizujesz danysystem ręcznie, czy też utworzyłeś zautomatyzowaną platformę monitorującą, potrzebujeszodpowiednich narzędzi do pozyskiwania i ujawniania informacji o stanie systemu. Większośćjąder definiuje formalne kanały, którymi takie informacje są eksportowane.

Niestety, jądra są jak inne rodzaje oprogramowania; wyszukiwanie i usuwanie błędóworaz oprzyrządowanie to często coś, o czym myśli się po fakcie. Chociaż ostatnie lata przy-niosły poprawę w zakresie przejrzystości, to zidetyfikowanie i zrozumienie dokładnego pa-rametru, który chciałbyć monitorować, może być trudne, a czasami nawet niemożliwe.

Konkretną wartość można często uzyskać na kilka sposobów. Przykładowo w przypadkuśrednich obciążeń możesz odczytać wartości bezpośrednio z pliku /proc/loadavg w systemachlinuksowych lub za pomocą polecenia sysctl -n vm.loadavg w systemie FreeBSD. Średnieobciążenia są również zawarte w wyjściach poleceń uptime, w, sar i top (choć top jest kiep-skim wyborem do użytku nieinteraktywnego). Ogólnie rzecz biorąc, najłatwiejsze i najsku-teczniejsze jest uzyskanie dostępu do wartości bezpośrednio z jądra (poprzez sysctl lub /proc),jeśli jest to możliwe.

Więcej informacji na temat systemu plików /proc można znaleźć w podrozdziale 11.4.

Poleć książkęKup książkę

Page 51: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

28.6. MONITOROWANIE SYSTEMÓW 1085

Platformy monitorujące, takie jak Nagios i Icinga, zawierają bogaty zestaw wtyczek mo-nitorujących rozwijanych przez społeczność, które można wykorzystać, aby uzyskać dostępdo powszechnie monitorowanych elementów. Często są to również zwykłe skrypty, któreuruchamiają polecenia i przetwarzają dane wyjściowe, ale są już przetestowane i oczyszczo-ne z błędów i działają na wielu platformach. Jeśli nie możesz znaleźć wtyczki, która zapewniCi interesującą Cię wartość, możesz napisać własną.

Polecenia dla systemów monitorowania

Tabela 28.2 zawiera listę poleceń, które są powszechnie używane w monitoringu. Wiele z nichdaje bardzo różne wyniki w zależności od podanych opcji wiersza poleceń, więc sprawdź szcze-góły na stronach podręcznika systemowego.

Tabela 28.2. Polecenia zwracające powszechnie monitorowane parametry

Polecenie Dostępne informacje

df wolne i zajęte miejsce na dysku oraz i-węzłach

du rozmiary katalogów

free ilość pamięci wolnej, zajętej i wirtualnej (wymiany)

iostat wydajność i przepustowość dysku

lsof otwarte pliki i porty sieciowe

mpstat wykorzystanie poszczególnych procesorów w systemach wieloprocesorowych

vmstat statystyki dotyczące procesów, procesorów i pamięci

Polecenie sar (skrót od system activity report, raport o aktywności systemu) jest swo-istym scyzorykiem szwajcarskim, jeśli chodzi o ekstrakcję danych z wiersza poleceń. Pole-cenie to ma skomplikowaną historię; pierwotnie zostało wprowadzone do uniksowego Sys-tem V w latach osiemdziesiątych ubiegłego wieku4. Jego główną zaletą jest to, że zostało onozaimplementowane na wielu różnych systemach, co zwiększa przenośność zarówno dlaskryptów, jak i dla administratorów systemów. Niestety, port BSD nie jest już utrzymywany.

Poniższy przykład żąda raportowania co dwie sekundy przez okres jednej minuty (tj. 30raportów). Argument DEV jest słowem kluczowym, a nie zmienną dla nazwy urządzenia lubinterfejsu.

$ sar -n DEV 2 3017:50:43 IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s17:50:45 lo 3.61 3.61 263.40 263.40 0.00 0.00 0.0017:50:45 eth0 18.56 11.86 1364.43 1494.33 0.00 0.00 0.5217:50:45 eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00

Przykład ten pochodzi z komputera z systemem Linux z dwoma interfejsami sieciowymi.Wyjście zawiera zarówno chwilowe, jak i średnie odczyty wykorzystania interfejsu, przyczym każdy odczyt wyrażony jest zarówno w bajtach, jak i w pakietach. Drugi interfejs (eth1)najwyraźniej nie jest używany.

4 Administratorów starej daty można rozpoznać po ich biegłości w posługiwaniu się poleceniem sar.

Poleć książkęKup książkę

Page 52: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1086 ROZDZIAŁ 28. MONITORING

collectd — pozyskiwanie ogólnych danych systemowychW miarę jak administrowanie systemami ewoluowało od zmagania się z pojedynczymi sys-temami do zarządzania flotą wirtualnych instancji, użytkowanie prostych narzędzi wiersza po-leceń zaczęło stwarzać wiele problemów w dziedzinie monitorowania. Choć pisanie skryptówdo zbierania i analizowania parametrów jest utylitarnym i elastycznym podejściem, utrzyma-nie spójności tej bazy kodów w wielu systemach szybko staje się kłopotliwe. Nowoczesnenarzędzia, takie jak collectd, sysdig i dtrace, oferują bardziej skalowalne podejście dozbierania tego typu danych.

Gromadzenie statystyk systemowych powinno być procesem ciągłym, a uniksowe roz-wiązanie dla trwającego zadania polega na utworzeniu demona, który się tym zajmie. Jestnim collectd, demon zbierania statystyk systemowych.

To popularne i dojrzałe narzędzie dla systemów Linux i FreeBSD. Zazwyczaj collectddziała w systemie lokalnym, zbiera dane pomiarowe w określonych odstępach czasu i zapisujewartości wynikowe. Możesz również skonfigurować collectd do pracy w trybie klient-serwer,w którym collectd (lub kilka jego instancji) agreguje dane z grupy innych serwerów.

Specyfikacja parametrów, które mają być zbierane, oraz miejsc docelowych, do którychsą one zapisywane, jest elastyczna; dostępnych jest ponad 100 wtyczek, które można dostosowaćdo własnych potrzeb. Po uruchomieniu collectd może być odpytywany przez platformę mo-nitorującą (taką jak Icinga lub Nagios) w celu monitorowania na bieżąco albo może przekazywaćdane do takich platform jak Graphite bądź InfluxDB w celu analizy szeregów czasowych.

Oto przykładowy plik konfiguracyjny collectd:

## /etc/collectd/collectd.confHostname client1.admin.comFQDNLookup falseInterval 30LoadPlugin syslog<Plugin syslog> LogLevel info</Plugin>LoadPlugin cpuLoadPlugin dfLoadPlugin diskLoadPlugin interfaceLoadPlugin loadLoadPlugin memoryLoadPlugin processesLoadPlugin rrdtool<Plugin rrdtool> DataDir "/var/lib/collectd/rrd"</Plugin>

Ta podstawowa konfiguracja zbiera wiele interesujących statystyk systemowych co 30sekund i zapisuje pliki danych zgodne z RRD (ang. Round Robin Database, cykliczna baza da-nych) w katalogu /var/lib/collectd/rrd.

sysdig i dtrace — śledzenie działań w systemiesysdig (Linux) i dtrace (BSD) kompleksowo instrumentują aktywność zarówno jądra, jak i pro-cesów użytkownika. Obejmują one komponenty, które są wstawiane do samego jądra, ujaw-niając nie tylko głęboko ukryte parametry jądra, ale także wywołania systemowe i inne sta-tystyki wydajności. Narzędzia te są czasami określane jako „Wireshark dla jądra i procesów”.

Poleć książkęKup książkę

Page 53: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

28.7. MONITOROWANIE APLIKACJI 1087

Więcej informacji na temat Wiresharka można znaleźć w podrozdziale 13.12.

Oba te narzędzia są skomplikowane. Warto jednak podjąć wyzwanie i zapoznać się z nimi.Weekend spędzony na nauce jedego z nich da Ci niesamowite nowe supermoce i zapewni Cistatus gościa z listy VIP-ów na spotkaniu koktajlowym dla administratorów systemów.

sysdig potrafi obsługiwać kontenery, dzięki czemu zapewnia niezwykłą widocznośćw środowiskach, w których używane są narzędzia takie jak Docker i LXC. sysdig jest dys-trybuowany jako oprogramowanie open source i można go zintegrować z innymi narzędziamimonitoringu, takimi jak Nagios lub Icinga. Deweloperzy oferują również komercyjną usługęmonitoringu (Sysdig Cloud), która posiada pełne możliwości monitorowania i ostrzegania.

Więcej informacji na temat Dockera i kontenerów można znaleźć w rozdziale 25.

28.7. MONITOROWANIE APLIKACJI

Na szczycie piramidy oprogramowania znajduje się Święty Graal: monitoring aplikacji. Tenrodzaj monitorowania jest dość niejasno zdefiniowany, ale ogólna koncepcja polega na tym,że próbuje się sprawdzać status i wydajność poszczególnych elementów oprogramowania,a nie systemów czy sieci jako całości. W wielu przypadkach monitorowanie aplikacji możesięgać do tych systemów i profilować ich wewnętrzne działania.

Aby mieć pewność, że monitorujesz właściwe rzeczy, musisz włączyć do pracy jednostkibiznesowe i programistów, by opowiedzieli Ci więcej o swoich zainteresowaniach i obawach.Jeśli masz witrynę internetową działającą np. na zestawie LAMP, prawdopodobnie będzieszchciał monitorować czasy ładowania stron, oznaczać krytyczne błędy PHP, trzymać zakładkiw bazie danych MySQL i monitorować konkretne problemy, takie jak nadmierne próby połączeń.

Monitorowanie tej warstwy może być złożone, ale jest to również obszar, w którym mo-nitorowanie staje się atrakcyjne. Wyobraź sobie, że możesz monitorować (i prezentować naswoim pięknym panelu Grafany) liczbę widżetów, które sprzedałeś w ciągu minionej godzi-ny, lub średni czas, przez jaki dany przedmiot pozostaje w koszyku. Jeśli pokażesz twórcomaplikacji i właścicielom procesów taki poziom funkcjonalności, zazwyczaj otrzymasz natych-miastowe wsparcie w celu dodania dodatkowego monitorowania, a może nawet pomoc w jegowdrożeniu. W końcu ta warstwa monitoringu stanie się nieoceniona dla biznesu, a Ty zacznieszbyć postrzegany jako mistrz monitoringu, wskaźników i analizy danych.

Monitorowanie na poziomie aplikacji pozwala uzyskać dodatkowy wgląd w inne zdarzeniaw środowisku. Przykładowo, jeśli sprzedaż widżetów szybko spada, może to być oznaką tego,że jedna z sieci reklamowych nie działa.

Monitorowanie dzienników

W swojej najbardziej podstawowej formie monitorowanie dzienników polega na przeszuki-waniu plików dzienników w celu zdobycia interesujących danych, które chciałbyś monitoro-wać, wyciąganiu tych danych i przetwarzaniu ich do postaci zdatnej do analizy, wyświetlaniai ostrzegania. Ponieważ komunikaty dziennika składają się z tekstu o dowolnej postaci, im-plementacja tego potoku może mieć bardzo różny poziom złożoności; może to być zarównotrywialne, jak i mocno skomplikowane.

Zazwyczaj dziennikami najlepiej zarządza się za pomocą kompleksowego systemu agre-gacji zaprojektowanego specjalnie w tym celu. Omawiamy takie systemy w podrozdziale 10.4,

Poleć książkęKup książkę

Page 54: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1088 ROZDZIAŁ 28. MONITORING

„Zarządzanie dziennikami na dużą skalę”. Chociaż systemy te koncentrują się przedewszystkim na centralizacji danych dzienników oraz ułatwianiu ich wyszukiwania i przegląda-nia, większość systemów agregacji obsługuje również wartości progowe, alarmy i funkcjeraportowania.

Jeśli potrzebujesz automatyzacji przeglądania dziennika dla kilku konkretnych celów i niemasz ochoty inwestować w bardziej ogólny system zarządzania dziennikami, zalecamy sko-rzystanie z pary narzędzi działających w mniejszej skali: logwatch i OSSEC.

logwatch jest elastycznym analizatorem dzienników, zorientowanym na przetwarzaniewsadowe. Jego podstawowym zastosowaniem jest tworzenie dziennych podsumowań zda-rzeń raportowanych w dziennikach. Możesz uruchamiać logwatch częściej niż raz dziennie,ale nie został on zaprojektowany do monitorowania w czasie rzeczywistym. Do tego wartowykorzystać OSSEC, który omawiamy w podrozdziale 27.5. OSSEC jest promowany jakonarzędzie bezpieczeństwa, ale jego architektura jest na tyle ogólna, że jest również przydat-ny dla innych rodzajów monitoringu.

Supervisor + Munin— proste rozwiązanie dla ograniczonych zastosowań

Wszechstronna, kompleksowa platforma, taka jak Icinga czy Prometheus, może się okazaćnieodpowiednia dla Twoich potrzeb lub Twojego środowiska. Co zrobić, jeśli jesteś zaintere-sowany tylko monitorowaniem jednego konkretnego procesu aplikacji i nie chcesz zawracaćsobie głowy pełnoprawną platformą monitorującą? Rozważ połączenie ze sobą narzędzi Munini Supervisor. Są one łatwe w instalacji, wymagają niewielu czynności konfiguracyjnych i do-brze ze sobą współpracują.

Supervisor i jego proces serwera supervisord pomagają monitorować procesy i genero-wać zdarzenia lub powiadomienia, gdy procesy kończą działanie albo zgłaszają wyjątek. Systemten przypomina w swojej istocie Upstart lub te części systemd, które odpowiadają za zarzą-dzanie procesami.

Jak już wspominaliśmy, Munin jest platformą monitorującą ogólnego przeznaczenia, zeszczególnym uwzględnieniem monitorowania aplikacji. Jest napisany w języku Perl i wyma-ga, aby na każdym systemie, który chcesz monitorować, uruchomiony był agent zwany wę-złem (ang. Munin Node). Konfiguracja nowego węzła jest prosta: zainstaluj pakiet munin-node,zmodyfikuj plik munin-node.conf, aby wskazać komputer nadrzędny, i gotowe.

Przedstawiając zgromadzone dane, Munin domyślnie tworzy wykresy za pomocą silnikaopartego na RRDtool, więc jest to przyjemny i wymagający niewielu czynności konfiguracyj-nych sposób na uzyskanie graficznej informacji zwrotnej. Munin posiada ponad 300 wtyczekoraz prawie 200 udostępnionych bibliotek. Prawdopodobnie znajdziesz już istniejącą wtycz-kę, która zaspokoi Twoje potrzeby. Jeśli nie, łatwo jest napisać nowy skrypt do wykonaniaprzez munin-node.

Komercyjne narzędzia do monitorowania aplikacji

Jeśli wpiszesz w Google hasło „narzędzie do monitorowania aplikacji”, odkryjesz wiele stronprzedstawiających komercyjne produkty do oceny. Aby dochować należytej staranności, po-winieneś również prześledzić ostatnie dyskusje na temat monitorowania wydajności aplikacji(APM, ang. application performance monitoring).

Poleć książkęKup książkę

Page 55: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

28.8. MONITOROWANIE BEZPIECZEŃSTWA 1089

Znajdziesz tam wiele odniesień do DevOps, z uzasadnionych powodów: monitorowanieaplikacji i APM to kluczowe elementy DevOps. Dostarczają one danych ilościowych; zespołymogą ich użyć, aby zdecydować, którym obszarom działania na rzecz poprawy wydajnościi stabilności przyniosą największe korzyści.

Więcej informacji na temat DevOps można znaleźć w podrozdziale 31.1.

Uważamy, że w tym zakresie wyróżniają się New Relic (newrelic.com) oraz AppDynamics(appdynamics.com). Możliwości tych systemów pod wieloma względami nakładają się na sie-bie, ale AppDynamics zazwyczaj koncentruje się na rozwiązaniach monitorujących wykorzy-stujących „pełny zestaw”, podczas gdy New Relic zajmuje się bardziej profilowaniem zacho-wania w obrębie samej warstwy aplikacji.

Niezależnie od tego, w jaki sposób monitorujesz swoje aplikacje, ważne jest, aby w tenproces byli zaangażowani programiści. Pomogą oni zapewnić monitorowanie wszystkichważnych wskaźników. Ścisła współpraca w zakresie monitorowania sprzyja rozwijaniu wza-jemnych relacji pomiędzy zespołami i ogranicza powielanie działań.

28.8. MONITOROWANIE BEZPIECZEŃSTWA

Monitoring bezpieczeństwa to osobny wszechświat. Ten obszar praktyki operacyjnej nazy-wany jest czasami operacjami bezpieczeństwa, w skrócie SecOps.

Można wymienić dziesiątki narzędzi i usług, zarówno open source, jak i komercyjnych,które pomagają w monitorowaniu bezpieczeństwa środowiska. Podmioty zewnętrzne, zwanedostawcami zarządzanych usług bezpieczeństwa (MSSP, ang. managed security service provi-ders), świadczą usługi na zasadzie outsourcingu5. Mimo istnienia wszystkich tych możliwościnaruszenia bezpieczeństwa są nadal powszechne i często pozostają niewykryte przez miesią-ce lub lata.

Prawdopodobnie najważniejszą rzeczą, jaką należy wiedzieć o monitorowaniu bezpieczeń-stwa, jest to, że nie wystarczy tu zautomatyzowane narzędzie lub zautomatyzowana usługa.Musisz wdrożyć kompleksowy program bezpieczeństwa, zawierający standardy dotyczącezachowań użytkowników, przechowywania danych i procedur reagowania na incydenty, bywymienić tylko kilka elementów. Podstawy tego zagadnienia omawiamy w rozdziale 27.,„Bezpieczeństwo”.

Z automatyczną, ciągłą strategią monitorowania należy zintegrować dwie podstawowefunkcje bezpieczeństwa: weryfikację integralności systemu i wykrywanie włamań.

Weryfikowanie integralności systemu

Weryfikacja integralności systemu, często nazywana monitoringiem integralności plików(FIM, file integrity monitoring), jest walidacją bieżącego stanu systemu w stosunku do zna-nego stanu wyjściowego. Najczęściej walidacja ta porównuje zawartość plików systemowych(jądro, polecenia wykonywalne, pliki konfiguracyjne) z kryptograficzną sumą kontrolną, taką

5 Outsourcing operacji bezpieczeństwa zawsze wydaje się atrakcyjny; zapewnienie bezpieczeństwaTwojemu środowisku staje się wtedy problemem kogoś innego. Ale pomyśl o tym tak: czy czułbyś siękomfortowo, płacąc komuś za pilnowanie Twojego wypełnionego gotówką portfela, leżącego wrazz 10 000 innych portfeli na stole na zatłoczonym dworcu kolejowym? Jeśli tak, to MSSP może być dlaCiebie dobrym rozwiązaniem!

Poleć książkęKup książkę

Page 56: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1090 ROZDZIAŁ 28. MONITORING

jak SHA-5126. Jeżeli suma kontrolna pliku w uruchomionym systemie różni się od sumykontrolnej wersji wyjściowej, administrator zostanie o tym powiadomiony. Oczywiście, nale-ży brać pod uwagę regularne działania konserwacyjne, takie jak planowane zmiany, aktuali-zacje i poprawki; nie wszystkie zmiany są podejrzane.

Najczęściej stosowanymi platformami FIM są Tripwire i OSSEC, opisane bardziej szcze-gółowo w podrozdziale 27.5. Linuksowa wersja AIDE również zawiera monitorowanie inte-gralności plików, ale wersja FreeBSD niestety nie ma tego komponentu.

Prostsze jest często lepsze. Wspaniałą standardową opcją FIM jest program mtree, którywywodzi się z FreeBSD, a niedawno został przeniesiony do Linuksa. mtree to prosty sposóbna monitorowanie stanu plików i zmian ich zawartości, łatwy do zintegrowania ze skryptamimonitorującymi. Oto przykład szybkiego skryptu wykorzystującego mtree:

#!/bin/bashif [ $# -eq 0 ]; then echo "mtree-check.sh [-bv]" echo "-b = utworzenie stanu wyjściowego" echo "-v = weryfikacja względem stanu wyjściowego" exitfi## ziarnoKEY=93948764681464## katalog bazowyDIR=/usr/local/lib/mtree-checkif [ $1 = "-b" ]; then rm -rf $DIR/mtree_* cd $DIR mtree-c -K sha512 -s $KEY -p /sbin > mtree_sbinfiif [ $1 = "-v" ]; then cd $DIR mtree -s $KEY -p /sbin < mtree_sbin | \ mail -s "mtree: test integralności `hostname`" [email protected]

Po dodaniu opcji -b skrypt tworzy i zapisuje stan wyjściowy. Po ponownym uruchomieniuz opcją -v sprawdza bieżącą zawartość katalogu /sbin względem stanu wyjściowego.

Podobnie jak w przypadku wielu aspektów zarządzania systemem, stworzenie platformyFIM i jej obsługa w czasie to dwie zupełnie różne sprawy. Do przechowywania danych i od-powiadania na powiadomienia FIM potrzebny jest zdefiniowany proces. Sugerujemy wpro-wadzanie informacji z platformy FIM do infrastruktury monitorowania i ostrzegania, tak abynie były one odsuwane na bok lub ignorowane.

Monitorowanie wykrywania włamań

Powszechnie stosuje się dwa rodzaje systemów wykrywania włamań (IDS, ang. intrusiondetection systems): hostowe (HIDS, ang. host-based IDS) i sieciowe (NIDS, ang. network-basedIDS). Systemy NIDS badają ruch przechodzący przez sieć i próbują zidentyfikować niespo-dziewane lub podejrzane wzorce. Najpopularniejszy system NIDS jest oparty na Snort; oma-wiamy go szczegółowo w podrozdziale 27.5.

6 Akceptowalne algorytmy skrótu zmieniają się w czasie. Na przykład algorytm MD5 nie jest już

uważany za kryptograficznie bezpieczny i nie powininno się go używać.

Poleć książkęKup książkę

Page 57: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

28.9. PROTOKÓŁ SNMP 1091

Systemy HIDS działają jako zestaw procesów na każdym systemie. Zazwyczaj śledzą oneróżne rzeczy, w tym połączenia sieciowe, czasy modyfikacji plików i sumy kontrolne, dzien-niki demonów i aplikacji, wykorzystanie podwyższonych uprawnień oraz inne wskazówki,które mogą sygnalizować działanie narzędzi zaprojektowanych w celu ułatwienia nieautory-zowanego dostępu (programów typu „root kit”). HIDS nie jest kompleksowym rozwiązaniemdla bezpieczeństwa, ale stanowi cenny element kompleksowego podejścia.

Dwie najpopularniejsze platformy HIDS typu open source to OSSEC (ang. Open SourceSECurity) oraz AIDE (ang. Advanced Intrusion Detection Environment). Z naszego doświad-czenia wynika, że OSSEC jest najlepszym wyborem. Chociaż AIDE jest świetną platformąFIM dla systemu Linux, OSSEC posiada bogatszy zestaw funkcji. Może być nawet używanyw trybie klient-serwer, który obsługuje klientów innych niż Unix, takich jak Microsoft Win-dows, i wiele urządzeń infrastruktury sieciowej.

Podobnie jak alarmy FIM, dane HIDS są użyteczne tylko wtedy, gdy poświęcamy tejplatformie należytą uwagę. HIDS nie jest podsystemem typu „ustaw i zapomnij”; będziesz musiałzintegrować alarmy HIDS z Twoim ogólnym systemem monitorowania. Najskuteczniejszą stra-tegią, jaką udało nam się znaleźć do rozwiązania tego problemu, jest automatyczne otwieraniezgłoszeń na ostrzeżenia HIDS w Twoim systemie zgłoszeniowym. Następnie można dodaćkontrolę monitoringu, która ostrzeże o wszystkich nierozwiązanych zgłoszeniach HIDS.

28.9. PROTOKÓŁ SNMP

Przed laty branża sieciowa zdecydowała, że warto byłoby stworzyć standardowy protokółgromadzenia danych monitoringu. Tak powstał protokół SNMP (ang. Simple Network Mana-gement Protocol).

Wbrew swojej nazwie SNMP jest w rzeczywistości dość skomplikowany. Określa hierar-chiczną przestrzeń nazw dla zarządzanych danych oraz metody odczytu i zapisu tych danychna każdym urządzeniu sieciowym. SNMP definiuje również sposób wysyłania komunikatówpowiadamiających o zdarzeniach („pułapek”) przez zarządzane serwery i urządzenia („agenty”)do stacji zarządzających.

Zanim zagłębimy się w tajniki SNMP, chcielibyśmy podkreślić, że terminologia z nim zwią-zana jest jednym z najbardziej beznadziejnych przypadków bełkotu technologicznego, z jakimmożna się zetknąć na rynku rozwiązań sieciowych. Niejednokrotnie standardowe nazwy pojęći obiektów związanych z SNMP utrudniają zrozumienie tego, jaka jest ich rzeczywista rola.

Sam protokół jest jednak prosty; większość złożoności SNMP leży ponad warstwą proto-kołu w konwencjach tworzenia przestrzeni nazw oraz w zbyt wyszukanym słownictwie ota-czającym SNMP jak skorupa ochronna. Pomijając jego mechanikę wewnętrzną, SNMP jestłatwy w obsłudze.

SNMP został zaprojektowany w taki sposób, aby mógł być wdrażany przez dedykowanysprzęt sieciowy, taki jak routery; w tym kontekście jest to słuszne rozwiązanie. Później SNMPzostał rozbudowany o możliwość monitorowania serwerów i systemów desktopowych, alejego przydatność w tym zakresie zawsze budziła wątpliwości. Obecnie dostępne są znacznielepsze rozwiązania (np. collectd; patrz podrozdział 28.6).

Sugerujemy, aby traktować SNMP jako niskopoziomowy protokół zbierania danych doużytku z urządzeniami o specjalnym przeznaczeniu, które nie obsługują niczego innego. Jaknajszybciej wyprowadź dane ze świata SNMP i przekaż je platformie monitorującej ogólnegoprzeznaczenia w celu ich przechowywania i przetwarzania. SNMP może być ciekawą okolicądo zwiedzania, ale nie chciałbyś tam mieszkać!

Poleć książkęKup książkę

Page 58: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1092 ROZDZIAŁ 28. MONITORING

Organizacja SNMP

Dane SNMP są uporządkowane w ustandaryzowanej hierarchii. Hierarchia nazw oparta jestna formacie MIB (ang. Management Information Bases), czyli ustrukturyzowanych plikachtekstowych opisujących dane dostępne za pośrednictwem SNMP. Pliki MIB zawierają opisyzmiennych określających pewne dane, do których można się odwoływać przy użyciu tzw.identyfikatorów obiektów (OID)7. Wszystkie obecnie stosowane urządzenia korzystające z SNMPobsługują strukturę w formacie MIB-II, zdefiniowanym w dokumencie RFC 1213. Producencimogą jednak rozbudowywać MIB (i robią to), aby dodać więcej danych i wskaźników.

Identyfikatory obiektów istnieją w hierarchicznej przestrzeni nazw, gdzie węzły są nu-merowane, a nie nazwane. Jednak aby ułatwić odwoływanie się do nich, węzły mają równieżkonwencjonalne nazwy tekstowe. Separatorem ścieżek jest tu kropka. Przykładowo OIDodwołujący się do czasu nieprzerwanej pracy urządzenia ma wartość 1.3.6.1.2.1.1.3. Ten OIDma także czytelną dla człowieka (choć niekoniecznie „zrozumiałą bez dodatkowej dokumen-tacji”) nazwę:

iso.org.dod.internet.mgmt.mib-2.system.sysUpTime

Tabela 28.3 przedstawia przykłady węzłów OID, które warto monitorować przy oceniedostępności sieci.

Tabela 28.3. Wybrane OID z MIB-II

OIDa Typ Zawartość

system.sysDescr string informacje systemowe: dostawca, model, system operacjny itp.

interfaces.ifNumber int liczba obecnych interfejsów sieciowych

interfaces.ifTable table tabela charakterystyk każdego z interfejsów

ip.ipForwarding int 1, jeśli system jest bramą, w przeciwnym wypadku 2

ip.ipAddrTable table tabela danych o adresaach IP (maski itp.)

icmp.icmpInRedirects int liczba otrzymanych przekierowań ICMP

icmp.icmpInEchos int liczba otrzymanych sygnałów ping

tcp.tcpInErrs int liczba otrzymanych błędów TCP

a Ścieżka względna w stosunku do iso.org.dod.internet.mgmt.mib-2.

Oprócz powszechnie obsługiwanego formatu MIB-II istnieją też formaty MIB dla różnegorodzaju interfejsów i protokołów sprzętowych, poszczególnych dostawców, różnych imple-mentacji serwerów snmpd, a także dla poszczególnych produktów sprzętowych.

MIB to tylko schemat nazewniczy dla zarządzanych danych. Aby urządzenie MIB mogłobyć użyteczne, musi być obsługiwane przez kod działający po stronie agenta, który odwzo-rowuje rzeczywisty stan urządzenia na przestrzeń nazw SNMP.

Agenty SNMP działające w systemach Unix, Linux lub Windows posiadają wbudowanąobsługę MIB-II. Większość z nich można rozbudować o możliwość obsługi dodatkowych MIBoraz interfejsów za pomocą skryptów, które wykonają właściwą pracę polegającą na zbieraniui przechowywaniu danych związanych z tymi definicjami MIB. Zobaczysz wiele tego rodzajuprogramów, będących pozostałością minionej epoki, kiedy to SNMP był jeszcze nowością.

7 OID to po prostu wyszukane określenie na odwołanie do zarządzanej informacji.

Poleć książkęKup książkę

Page 59: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

28.9. PROTOKÓŁ SNMP 1093

Ale to już tylko dużo dymu bez ognia; obecnie nie powinieneś w ogóle uruchamiać agentaSNMP w systemie Unix, chyba że musisz uzyskać odpowiedź na najbardziej podstawowepytania dotyczące konfiguracji sieci.

Operacje protokołu SNMP

Istnieją tylko cztery podstawowe operacje SNMP: get, get-next, set i trap.get i set są głównymi operacjami odczytu i zapisu danych do węzła identyfikowanego

przez określony OID. Operacja get-next służy do poruszania się w hierarchii MIB, ale możerównież odczytywać zawartość tabel.

Operacja trap (pułapka) to samodzielnie wysyłane, asynchroniczne powiadomienie odserwera (agenta) do klienta (zarządcy) o wystąpieniu interesującego zdarzenia lub stanu.Zdefiniowano kilka standardowych pułapek, w tym powiadomienia „właśnie się uruchomiłem”,raporty o awarii lub odzyskaniu połączenia sieciowego oraz komunikaty o różnych proble-mach z routingiem i uwierzytelnianiem. Mechanizm, za pomocą którego określa się miejscadocelowe komunikatów trap, zależy od implementacji agenta.

Ponieważ komunikaty SNMP mogą potencjalnie modyfikować informacje konfiguracyjne,potrzebny jest jakiś mechanizm bezpieczeństwa. Najprostsza wersja zabezpieczeń SNMPużywa pojęcia łańcucha wspólnotowego (ang. community string), które jest tak naprawdęstrasznie zagmatwanym określeniem hasła. Zazwyczaj jeden łańcuch wspólnotowy umożliwiadostęp w trybie tylko do odczytu, a drugi pozwala na zapisywanie8. W dzisiejszych czasachznacznie bardziej sensowne jest utworzenie mechanizmu zarządzania na bazie protokołuSNMPv3, który zapewnia większe bezpieczeństwo, w tym uprawnienia i kontrolę dostępudla poszczególnych użytkowników.

Net-SNMP — narzędzia dla serwerów

W systemach Linux i FreeBSD najpopularniejszym pakietem implementującym SNMP jestNet-SNMP. Zawiera on agenta (snmpd), kilka narzędzi wiersza poleceń, serwer do odbieraniakomunikatów trap, a nawet bibliotekę do tworzenia aplikacji obsługujących SNMP.

Obecnie Net-SNMP stanowi przedmiot zainteresowania bardziej ze względu na swojepolecenia i biblioteki niż na to, że jest agentem. Został on przeniesiony do wielu różnych sys-temów uniksowych, dzięki czemu działa jako spójna platforma, na którą można pisać skrypty.Większość dystrybucji wydziela więc z agenta Net-SNMP własny pakiet, co sprawia, że łatwiejjest zainstalować same polecenia.

W systemach Debian i Ubuntu pakiety Net-SNMP noszą nazwy snmp i snmpd. Abyzainstalować tylko polecenia, wpisz apt-get install snmp.

W systemach Red Hat i CentOS analogiczne pakiety to net-snmp i net-snmp-tools.Zainstaluj polecenia przez yum install net-snmp-tools.

W Linuksie informacje konfiguracyjne trafiają do katalogu /etc/snmp; zwróć uwagę naznajdujący się tam plik snmpd.conf i katalog snmp.d. Aby uruchomić demona, wpisz

polecenie systemctl start snmpd.

8 W wielu systemach łańcuch wspólnotowy ma domyślne ustawienie „public”. Nigdy tego tak nie

zostawiaj; ustaw własne hasła dla obu łańcuchów, zarówno dla tego, który pozwala na odczytywanie, jaki tego, który umożliwia odczyt i zapis.

Poleć książkęKup książkę

Page 60: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1094 ROZDZIAŁ 28. MONITORING

W systemie FreeBSD wszystko znajduje się w jednym pakiecie: pkg install net-snmp.Informacje konfiguracyjne są wprowadzane do katalogu /usr/local/etc/snmp, który musisz

samemu utworzyć. Możesz uruchomić agenta ręcznie poleceniem service snmpd start lubumieścić wpis:

snmpd_enable="YES"

w pliku /etc/rc.conf, aby był uruchamiany wraz z systemem.We wszystkich systemach, w których musisz uruchomić agenta SNMP, należy się upew-

nić, że port UDP 162 nie jest zablokowany przez zaporę sieciową.Polecenia dostarczane przez Net-SNMP pomogą Ci się zapoznać z SNMP, a także świet-

nie się nadają do jednorazowych kontroli poszczególnych OID. Tabela 28.4 zawiera listę naj-częściej używanych narzędzi.

Tabela 28.4. Narzędzia wiersza poleceń w pakiecie Net-SNMP

Polecenie Działanie

snmpdelta monitoruje zmiany wartości zmiennych SNMP w czasie

snmpdf monitoruje przestrzeń dyskową na zdalnym hoście przez SNMP

snmpget odczytuje wartość zmiennej SNMP podaną przez agenta

snmpgetnext pobiera kolejną zmienną z sekwencji

snmpset ustawia wartość zmiennej SNMP na agencie

snmptable odczytuje tabelę zmiennych SNMP

snmptranslate wyszukuje i wyświetla informacje o OID w hierarchii MIB

snmptrap generuje komunikat trap

snmpwalk przegląda kolejne wartości drzewa MIB, rozpoczynając od wskazanego OID

Podstawowe kontrole SNMP zazwyczaj wykorzystują połączenie snmpget i snmpdelta.Inne programy są pomocne, gdy chcesz zidentyfikować nowe OID do monitorowania za po-mocą swojego wyszukanego narzędzia zarządzającego. Przykładowo snmpwalk rozpoczyna odokreślonego OID (domyślnie jest nim początek drzewa MIB) i wielokrotnie wywołuje na agen-cie operację get-next. Proces ten umożliwia uzyskanie kompletnej listy dostępnych OID orazprzypisanych im wartości.

W poniższym listingu przedstawiamy przycięty przykład działania polecenia snmpwalk nahoście tuva z systemem Linux. secret813community to łańcuch wspólnotowy, a opcja -v1wymusza proste uwierzytelnianie.

$ snmpwalk -c secret813community -v1 tuvaSNMPv2-MIB::sysDescr.0 = STRING: Linux tuva.atrust.com 2.6.9-11.ELsmp #1SNMPv2-MIB::sysUpTime.0 = Timeticks: (1442) 0:00:14.42SNMPv2-MIB::sysName.0 = STRING: tuva.atrust.comIF-MIB::ifDescr.1 = STRING: loIF-MIB::ifDescr.2 = STRING: eth0IF-MIB::ifDescr.3 = STRING: eth1IF-MIB::ifType.1 = INTEGER: softwareLoopback(24)IF-MIB::ifType.2 = INTEGER: ethernetCsmacd(6)IF-MIB::ifType.3 = INTEGER: ethernetCsmacd(6)IF-MIB::ifPhysAddress.1 = STRING:IF-MIB::ifPhysAddress.2 = STRING: 0:11:43:d9:1e:f5IF-MIB::ifPhysAddress.3 = STRING: 0:11:43:d9:1e:f6

Poleć książkęKup książkę

Page 61: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

28.10. KRUCZKI I SZTUCZKI 1095

IF-MIB::ifInOctets.1 = Counter32: 2605613514IF-MIB::ifInOctets.2 = Counter32: 1543105654IF-MIB::ifInOctets.3 = Counter32: 46312345IF-MIB::ifInUcastPkts.1 = Counter32: 389536156IF-MIB::ifInUcastPkts.2 = Counter32: 892959265IF-MIB::ifInUcastPkts.3 = Counter32: 7712325...

W tym przykładzie widzimy kilka ogólnych informacji o systemie, po których następująstatystyki dotyczące interfejsów sieciowych: lo0, eth0 i eth1. W zależności od tego, jakiedrzewa MIB są obsługiwane przez agenta, którym zarządzasz, kompletny zrzut może sięskładać z setek wierszy. Prawdę mówiąc, pełna instalacja systemu Ubuntu skonfigurowane-go do obsługi każdego MIB wyrzuca ponad 12 000 wierszy!

Jeśli przejrzysz drzewa MIB9 w najnowszej wersji Net-SNMP w systemie Ubuntu, zoba-czysz, że OID określający średnie obciążenie z ostatnich 5 minut to 1.3.6.1.4.1.2021.10.1.3.2.Jeśli chciałbyś zobaczyć to obciążenie dla lokalnego hosta (skonfigurowanego z łańcuchemwspólnotowym „public”), wpisz polecenie:

$ snmpget -v 2c -c public localhost .1.3.6.1.4.1.2021.10.1.3.2iso.3.6.1.4.1.2021.10.1.3.2 = STRING: "0.08"

Wiele użytecznych modułów Perla, Ruby’ego i Pythona związanych z SNMP jest dostęp-nych w odpowiednich repozytoriach dla tych języków. Co prawda możesz pisać skryptyw formie poleceń Net-SNMP, ale zwykle łatwiej i prościej jest skorzystać z modułów dosto-sowanych do wybranego języka.

28.10. KRUCZKI I SZTUCZKI

Na przestrzeni lat zebraliśmy kilka wskazówek dotyczących maksymalizowania skutecznościmonitoringu. Oto najważniejsze z nich:

Unikaj zmęczenia spowodowanego monitoringiem. Dopilnuj, aby administratorzy sys-temów otrzymujący powiadomienia poza swoimi normalnymi godzinami pracy mieliregularne przerwy. Cel ten najlepiej osiągnąć w systemie rotacyjnym, gdzie w danymdniu albo tygodniu wzywane są dwu- lub kilkuosobowe zespoły, po czym zadanieprzejmuje kolejny zespół. Nieprzestrzeganie tej zasady sprawi, że administratorzystaną się zgorzkniali i znienawidzą swoją pracę.

Zdefiniuj okoliczności, które naprawdę wymagają uwagi 24 godziny na dobę przez 7 dniw tygodniu, i upewnij się, że informacje te zostały jasno przekazane Twojemu zespo-łowi monitorującemu, zespołom dyżurującym oraz obsługiwanym klientom lub jed-nostkom biznesowym. Sam fakt, że coś monitorujesz, nie oznacza, że administratorzypowinni być wzywani o 3:30 nad ranem, gdy jakaś wartość przekroczy normę. Wielomakwestiami można się zająć w normalnych godzinach pracy.

Eliminuj szumy monitorowania. Jeśli generowane są fałszywe alarmy lub powia-domienia o usługach niekrytycznych, poświęć czas na ich zatrzymanie i naprawienie.W przeciwnym razie, podobnie jak w bajce o chłopcu, który ostrzegał przed wilkiem,w końcu wszystkie zgłoszenia przestaną być traktowane z należytą powagą.

9 Sprawdź na mibdepot.com lub zainstaluj pakiet snmp-mibs-downloader.

Poleć książkęKup książkę

Page 62: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1096 ROZDZIAŁ 28. MONITORING

Twórz procedury dla wszystkiego. Każde ponowne uruchomienie, każdy reset lubkażdą procedurę naprawczą należy udokumentować w formie umożliwiającej podjęcieodpowiednich działań respondentowi, który nie zna bezpośrednio danego systemu.Skutki nieposiadania takiej dokumentacji są takie, że problemy nie będą szybko na-prawiane, popełniane będą błędy, a w nagłych przypadkach trzeba będzie wzywać do-datkowy personel. Do przechowywania tego typu dokumentacji idealnie nadają sięstrony wiki.

Monitoruj platformę monitorującą. Ta porada wyda Ci się oczywista, gdy przegapiszkrytyczny przestój, ponieważ platforma monitorująca również przestanie działać. Ucz sięna naszych błędach i upewnij się, że coś będzie obserwować Twoje czujne oczy.

Przegapiłeś przestój z powodu czegoś, co nie było monitorowane? Upewnij się, że zo-stało to dodane, aby następnym razem wyłapać problem.

I wreszcie ostatnia, choć być może najistotniejsza zasada: żaden serwer ani żadnausługa nie mogą wejść do środowiska produkcyjnego bez uprzedniego dodania ich dosystemu monitorowania. I nie ma tu żadnych wyjątków.

28.11. ZALECANA LITERATURA

Hecht James, Rethinking Monitoring for Container Operations, http://thenewstack.io/monitoring-reset-containers. Wiele interesujących szczegółów dotyczących strategii i filozofiimonitorowania kontenerów.

Turnbull James, The Art of Monitoring, Amazon Digital Services, Seattle 2016.

Dixon Jason, Monitoring with Graphite: Tracking Dynamic Host and Application Metrics atScale, O’Reilly Media, Sebastopol 2017.

Poleć książkęKup książkę

Page 63: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1181

SKOROWIDZ

Pliki zostały uporządkowane alfabetycznie pod względem ostatniego elementu i w większo-ści przypadków wymieniany jest tylko ten element. Przykładowo, aby znaleźć wpisy indeksuodnoszące się do pliku /etc/mail/aliases, szukaj pod hasłem „aliases”. Zostaliśmy zmuszeni dotakiego postępowania przez producentów, którzy w każdym systemie ukrywają standardowepliki w nowych i nietypowych katalogach.

AACL, access control lists, 183, 686

implementacje, 185interakcje z trybami, 194w stylu NFSv4, 190w stylu POSIX, 186w systemie FreeBSD, 186

Active Directory, 307, 617, 624, 861administrator

systemu, 1165, 1170główne zadania, 46podstawowe narzędzia, 50

baz danych, 70sieci, 69

adresowanieIP, 424IPv6, 433pakietów, 423sprzętowe, 423za pomocą nazw, 425

adresyanycast, 426broadcast, 426IP, 426, 432MAC, 423multicast, 426prywatne, 431przydzielanie, 431sieciowe, 423unicast, 426

akceptacja systemów zgłoszeniowych, 1141akcje, 900aktualizacje

oprogramowania, 1019plików strefowych, 584

aliasy, 225hostów, 1052pocztowe, 646

Amazon Web Services, 315, 324

Poleć książkęKup książkę

Page 64: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1182 SKOROWIDZ

analizaobciążenia wejścia-wyjścia, 1111statycznego kodu, 992użycia pamięci, 1109użycia procesora, 1106

anatomia wiadomości pocztowej, 637Ansible, 889, 926

akcje, 900bazy konfiguracyjne, 903bezpieczeństwo, 927generowanie szablonów, 899grupy dynamiczne i obliczane, 895grupy klientów, 894interakcja z Jinja, 899iteracja, 898listy zadań, 896opcje dostępu, 904parametry state, 898przypisywanie zmiennych, 895role, 902scenariusze, 900ustawienia klienta, 892

Apache, 736API, 731aplikacje

Adobe, 226bezserwerowe, 735pakietu Microsoft Office, 226

AppArmor, 129AppleScript, 226APT, Advanced Package Tool, 210

automatyzacja, 214architekci, 70architektura

Dockera, 954planisty kontenerów, 976sieci, 513systemu rsyslog, 345VPC, 487ZFS, 811

argumenty wiersza poleceń, 243ARP, 418, 440artefakty, 991

budowania, 1011atak, 1066

typu brute-force, 1024, 1036typu DDoS, 446, 1017

ataki blokady usług, 675atrybuty plików, 176audyt bezpieczeństwa, 1031autofs, 846

automatycznainstalacja, 201konfiguracja drukarki, 407konfiguracja plików urządzeń, 379

automatyczne numerowanie hostów, 435automatyzacja, 226, 323, 1137

APT, 214instalacji FreeBSD, 203

automount, 853, 854autoryzacja, 322autouzgadnianie, 503awarie dysków twardych, 761, 794AWS, Amazon Web Services, 315, 324

dziennik konsoli, 327instancja EC2, 325kontrola podsystemów, 324kończenie instancji, 327wirtualna chmura prywatna, 484

Bbalanser obciążenia, 721, 723bastion, 321baza

aliasów, 649danych DNS, 549

bazy konfiguracyjne, 903bezklasowe trasowanie międzydomenowe, 430bezpieczeństwo

aktualizacje oprogramowania, 1019Ansible, 927centrów danych, 1129certyfikacja, 1061CIS, 1064Common Criteria, 1064czujność, 1023DNS, 587filtrowanie pakietów, 1022hasła, 1023, 1024incydenty, 1150komunikatów, 357konta współużytkowane, 1027kopie zapasowe, 1021Metasploit, 1031monitorowanie, 1089narzędzia kryptograficzne, 1036Nessus, 1030NIST 800, 1063OWASP, 1064PCI DSS, 1063PGP, 1045

Poleć książkęKup książkę

Page 65: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SKOROWIDZ 1183

podręczny audyt, 1031Postfix, 699reakcja na atak, 1066rootkity, 1022Samby, 865serwera sendmail, 670sieci, 444sieci bezprzewodowych, 509skaner portów, 1028SSHFP, 1056standardy, 1062systemów komputerowych, 1013testy penetracyjne, 1024TLS, 1040tunelowanie połączeń TCP, 1054uwierzytelnianie wieloskładnikowe, 1023VPN, 1060wirusy i robaki, 1021wykrywania włamań sieciowych, 1032zapory sieciowe, 1058, 1059zbędne usługi, 1020zdalna powłoka SSH, 1046zdalne logowanie zdarzeń, 1021zunifikowane podejście, 1046źródła informacji, 1064

bezpiecznelogowanie, 1057przesyłanie wiadomości, 672

bezpiecznytransfer plików, 631tryb obliczeniowy, 951

BGP, Border Gateway Protocol, 526bhyve, 943BIND, Berkeley Internet Name Domain, 562

kanały, 605kategorie, 606kategorie rejestrowania, 607komponenty, 563komunikaty dziennika, 606konfiguracja, 580konfiguracja rejestrowania, 609lista kontroli dostępu, 588opcje bezpieczeństwa, 588poziomy szczegółowości, 609rejestrowanie, 604

BIOS, 76bit

lepkości, 177setgid, 177setuid, 177

bity uprawnień, 176

blokowaniekont użytkowników, 305plików, 834

blokowe urządzenia pamięci masowej, 322błędy

jądra, 396konfiguracji

aplikacji, 1018sieci, 1018systemu, 1018

Bro, 1032Btfs, 819budowanie

bazy aliasów, 649obrazu, 1003

buforodwrotnego serwera pośredniczącego, 727serwera pośredniczącego, 727

buforowanie, 727

CCacti, 475całkowite obciążenie cieplne, 1126camcontrol, 775CDN, content delivery network, 728centra danych

poziomy niezawodności, 1129centralny komputer rejestrujący, 357centrum danych, 1120certyfikacja, 1061certyfikat, 1043Chef, 886chgrp, 181chłodzenie, 1124

centrum danych, 1126chmod, 179chmura, 1173

Amazon Web Services, 315automatyzacja, 323autoryzacja, 322DigitalOcean, 316hosting WWW, 733funkcje bezserwerowe, 323Google Cloud Platform, 316kontrola kosztów, 331obliczeniowa, 311, 315tożsamość, 322uruchamianie niestandardowych jąder, 395VPC, 487

Poleć książkęKup książkę

Page 66: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1184 SKOROWIDZ

chmuryhybrydowe, 314prywatne, 314publiczne, 314

chown, 181chroot, 590CI/CD, 985, 998, 1010

potoki, 990serwer Jenkins, 995środowiska, 988

ciągła integracja, 983, 985ciągłe

dostarczanie, 983, 985wdrażanie, 985

CIDR, Classless Inter-Domain Routing, 430CIP, 1157CIS, 1064Cobbler, 203

rozruch sieciowy, 203collectd, 1086Common Criteria, 1064COPPA, 1156cron, 152, 156CUPS, 402curl, 718cut, 235cykl życia procesu, 137czarne listy, 668

Ddane LDAP, 618DDoS, 1017dedykowane serwery plików, 848definiowanie

podpowiedzi, 576poziomu usług, 1153

delegowania, 543demon, 83, 521

cron, 152cupsd, 406Dockera, 973nfsd, 842nginx, 744sssd, 626trasujący, 528wydruku, 409

detekcja włamań, 1032devd, 379devfs, 379

DevOps, 69, 71, 1135administracja systemem, 1138zasady, 1135

DHCP, 441działanie, 442oprogramowanie, 441, 443

diagnostykakonfiguracji, 359serwera sendmail, 676serwerów TLS, 1044sieci, 510systemu BIND, 604

DigitalOcean, 316, 329, 492DKIM, DomainKeys Identified Mail, 644DNS, 535

aktualizowanie plików strefowych, 584analizator, 549architektura, 536automatyczne aktualizacje, 585baza danych, 549bezpieczeństwo, 587buforowanie, 545delegowania, 543diagnostyka, 546dokumenty RFC, 613dostawcy usług, 537efektywność, 545konfiguracja, 452obsługa zapytania, 544odpowiedzi wielokrotne, 545przestrzeń nazw, 539przesyłanie informacji strefowych, 584rejestracja nazwy domeny, 540rekordy zasobów, 543, 550rndc, 610rozdzielony, 578rozszerzenia DNSSEC, 593równoważenie obciążenia, 545serwery autorytatywne i buforujące, 542serwery nazw, 541serwery rekurencyjne, 542system BIND, 562typy rekordów, 552wyszukiwania, 538wyszukiwanie niepoprawnychdelegowań, 611

DNSSEC, 593, 594generowanie par kluczy, 596łańcuch zaufania, 600narzędzia, 601, 602podpisywanie stref, 598

Poleć książkęKup książkę

Page 67: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SKOROWIDZ 1185

rekordy zasobów, 594usuwanie błędów, 603włączanie, 596wymiana kluczy, 600

doc, domain obscenity control, 612Docker, 953

architektura, 954bezpieczeństwo, 972budowanie obrazów, 966dostęp do demona, 973konfigurowanie klienta, 955nakładki sieciowe, 963przestrzenie nazw, 961rejestratory, 972repozytoria, 969sieci, 961silnik kontenerowy, 953sterowniki pamięci masowej, 964usuwanie błędów, 975woluminy, 959

Docker Swarm, 979dockerd, 964dodawanie

dysków, 812sterownika urządzenia, 385użytkowników, 304

dokumentacja, 57, 1143, 1171autorytatywna, 59pakietów, 59Salt, 925

dokumentyHOWTO, 61internetowe, 60RFC, 60, 417, 533, 613

domeny wirtualnych skrzynek pocztowych,705

domyślne zachowania sieciowe, 461dopasowywanie, 250

sług, 910dostawca chmury, 314, 319dostęp

do chmury, 318do demona, 973do pliku, 189, 830w NFSv4, 192

dostępność, 1015dostrajanie wydajności, 1098dowiązania

symboliczne, 171, 175twarde, 173

Dropbear, 1057drukarki sieciowe, 404, 407drukowanie, 401

bezpośrednie, 411filtry, 405interfejsy, 403kolejka drukowania, 403konfiguracja drukarki, 407konfiguracja serwera, 407problemy, 411sieciowe, 404, 411wyłączenie usługi, 408zadania konfiguracyjne, 409

drzewo plików, 168DS, Designated Signer, 594dtrace, 1086dynamiczna konfiguracja hostów, 441dyski

hybrydowe, 766korporacyjne, 762NAS, 762PATA, 774SATA, 774SSD, 755, 763–765twarde, 760

dystrybucje systemu, 51, 53Arch, 52CentOS, 52CoreOS, 52Debian, 52Fedora, 52Kali, 52Linux Mint, 52openSUSE, 52openWRT, 52Oracle Linux, 52RancherOS, 52Red Hat Enterprise, 52Slackware, 52SUSE Linux Enterprise, 52Ubuntu, 52

działania arytmetyczne, 249dziennik konsoli, 327dzienniki, 338

EEC2, 325ECS, Elastic Container Service, 980edycja

plików, 296poleceń, 231

Poleć książkęKup książkę

Page 68: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1186 SKOROWIDZ

efemeryczna pamięć masowa, 322EFI, Extensible Firmware Interface, 783EGID, 136EIGRP, Enhanced Interior Gateway Routing

Protocol, 526e-mail, 160, 633, 637enkapsulacja, 421etapy budowania, 1005Ethernet, 496

przesyłanie sygnałów, 496ramki, 504rozszerzanie sieci, 501topologia, 498

EUID, 135ewidencjonowanie, 878Exim, 678

diagnostyka, 696filtrowanie, 693instalacja serwera, 679język konfiguracji, 682konfiguracja ponowień, 694konfiguracja przepisywania, 695listy, 685lokalna funkcja skanująca, 695makra, 685mechanizm ACL, 686mechanizmy uwierzytelniające, 689narzędzia serwera, 681opcje globalne, 684plik konfiguracyjny, 683skanowanie treści, 689transporty, 693uruchamianie serwera, 681zapisywanie dzienników, 695

FFail2Ban, 1036fałszowanie adresów IP, 446FERPA, 1156filtrowanie, 693

iptables, 478pakietów, 480, 1022usług, 1058

filtry, 405pakietów, 472

fio, 1112FISMA, 1156Fluke LanMeter, 510format

crontab, 153LDIF, 619

formatowanie, 773systemu plików, 802

formuły Salt, 921FreeBSD, 81

Active Directory, 624automatyzacja instalacji, 203bhyve, 943budowanie jądra, 386domyślne parametry sieciowe, 464dostrajanie parametrów jądra, 385Kerberos, 624kolekcja portów, 218komunikaty rozruchowe, 394konfiguracja

TCP/IP, 463sprzętu sieciowego, 462

ładowalne moduły jądra, 389obsługa ACL, 186panika jądra, 399partycjonowanie, 784pkg, 217sieci, 461skrypty startowe, 99system bazowy, 216ścieżka

BIOS-u, 81UEFI, 82

tryb pojedynczego użytkownika, 104wersje jądra, 370zarządzanie

dziennikami, 362oprogramowaniem, 215urządzeniami, 378woluminami logicznymi, 790

fsck, 802FTC Red Flag Rules, 1157FTC Safe Harbor, 1157funkcja, 243

access_db, 661always_add_domain, 661ldap_routing, 662redirect, 661use_cw_file, 660virtusertable, 662

funkcjebezserwerowe, 323skrótu, 1040stanowe, 916systemów zgłoszeniowych, 1140wykonawcze, 916

Poleć książkęKup książkę

Page 69: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SKOROWIDZ 1187

Ggcloud, 328GCP, Google Cloud Platform, 316, 328, 490

konfigurowanie gcloud, 328uruchamianie instancji, 328

generowanieliczb losowych, 1042szablonów, 899

GID, 136, 289Git, 274

społecznościowe tworzenie kodu, 278zastrzeżenia, 278

GLBA, 1157gniazda, 341

lokalne, 171, 174Go, 731Google Cloud Platform, 316, 328GPT, 783Graphite, 1076Graylog, 363grep, 238GRUB, 78

konfiguracja programu, 79opcje konfiguracyjne, 79polecenia, 81wiersz poleceń, 80

grupowa koordynacja protokołów, 527grupowanie kontenerów, 976grupowe adresy protokołów, 527grupy

kontrolne, 148, 951woluminów, 778zabezpieczeń, 486

HHAProxy, 748

kontrolowanie stanu serwera, 749lepkie sesje, 750statystyki serwera, 750terminacja TLS, 751

harmonogram poleceń, 152hasła, 117, 287, 1023, 1024

menedżery, 1025okres ważności, 1027słabe, 1031zmiany, 1025

hasło, 297hasło zaszyfrowane, 286hdparm, 775

head, 237HIPAA, 1157hipernadzorca, 934hipernadzorca parawirtualizacyjny, 939host wirtualny, 739hosting, 68

treści statycznych, 735WWW, 713WWW w chmurze, 733

hostowane platformy monitorujące, 1079hosty wirtualne, 720HTTP, 714

kategorie odpowiedzi, 717metody żądań, 716oprogramowanie pośredniczące, 722podstawowe uwierzytelnianie, 740przez TLS, 720struktura transakcji, 716z wiersza poleceń, 718

httpd, 736rejestrowanie zdarzeń, 742ustawienia konfiguracyjne, 737

hub, 501

IIaaS, 318IaaS, Infrastructure-as-a-Service, 317IAM, identity and access management, 308Icinga, 1075ICMP, 418, 439

przekierowania, 445identyfikator

grupy, 136procesu, 134procesu macierzystego, 135stanów, 914użytkownika, 135zależności, 914

ifconfig, 462implementacja serwera LDAP, 620incydenty bezpieczeństwa, 1150InfluxDB, 1077informacje

o bezpieczeństwie, 1064o IPv6, 437o pakietach, 208o procesach, 148o stanie procesu, 148o użyciu pamięci, 148strefowe, 584

Poleć książkęKup książkę

Page 70: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1188 SKOROWIDZ

infrastrukturabezprzewodowa, 506jako kod, 1144jako usługa, IaaS, 317klucza publicznego, 1038

init, 86, 92, 99instalacja

automatyczna, 201Dockera, 955dysku, 771oprogramowania, 62oświetleniowa, 1126pakietu OSSEC, 1034przez sieć, 196serwera Exim, 679serwera Samba, 859systemów operacyjnych, 196UTP, 499ze skryptu WWW, 67ze źródeł, 66

instalator, 201instalatory pakietów, 205instalowanie

oprogramowania, 64plików startowych, 298

instancja EC2, 325instancje drukarek, 404instrukcja

acl, 571controls, 577include, 565key, 571logging, 573masters, 573options, 565server, 572statistics-channels, 573view, 578zone, 574

instrukcjeDockerfile, 968instalacji, 196w named.conf, 564

instrumentacja, 1071integralność, 1015

systemu, 1089interfejs

API, 323PCI Express, 768podsystemu drukowania, 403programowania aplikacji, API, 731

SAS, 769SATA, 768sieciowy, 449urządzeń pamięci masowej, 768

internet, 416inwentaryzacja sprzętu, 1103inżynierowie

ds. bezpieczeństwa, 69ds. niezawodności, 69sieciowych centrów operacyjnych, 70

IP, 418, 444fałszowanie adresów, 446konfiguracja, 449śledzenie pakietów, 467

iPerf, 474IPFilter, 481iptables, 476

cele reguł, 477konfiguracja zapory, 478opcje filtrowania, 478

IPv4, 419IPv6, 419

adresowanie, 433prefiksy, 435tunelowanie, 437zapis adresów, 434

ISC, 443ITGC, 1158ITIL, 1158

JJava, 730jądro, 359, 367, 951

błędy, 396budowanie, 381, 383dostrajanie parametrów, 380konfiguracja, 380, 385konfigurowanie opcji, 383ładowalne moduły, 387, 389panika, 399uruchamianie w chmurze, 395wersje, 369, 370

jednostki, 56, 87celu, 91kolejność wykonywania, 94mocy, 1123NFSv4, 191statusy, 89zależności, 93

Poleć książkęKup książkę

Page 71: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SKOROWIDZ 1189

Jenkins, 995potok, 1001

językForth, 83Go, 731Java, 730JavaScript, 228Perl, 228PHP, 228, 731powłoka Bourne’a, 228powłoka C, 228Python, 228, 255, 730Ruby, 228, 262, 729

językisieci WWW, 729skryptowe, 227

Jinja, 899, 913JSON, 731

Kkable UTP, 499kanał oczekiwania, 143katalog, 170, 172

/proc, 148/sys, 374, 382domowy, 290network-scripts, 98

kategorie rejestrowania, 607Kerberos, 124, 623, 1046

integracja z Active Directory, 624Kickstart, 198

plik konfiguracyjny, 198, 200tworzenie serwera, 200

kill, 140klastry stron, 765klasy adresów IPv4, 427klauzula match-destinations, 579klient

bezprzewodowy, 506poczty, 635rejestrujący, 356

kluczTLS, 741ZSK, 596

kluczedopasowań udev, 379dopasowań udevd, 376publiczne, 1037, 1038symetryczne, 1037

kolejka drukowania, 403

kolekcja portów, 218komponenty BIND, 563komunikaty

dziennika, 336jądra, 359rozruchowe, 390rozruchowe systemu FreeBSD, 394systemu syslog, 344

koncentratory, 501konferencje, 62konfigurowanie

BIND, 580DNS, 452drukarki, 407drukarki sieciowej, 407gcloud, 328HAProxy, 748hostów wirtualnych, 739httpd, 737interfejsów sieciowych, 462IP, 449iptables, 476jądra, 380, 385klienta, 664, 955macierzy, 797mechanizmu PAM, 628opcji jądra, 383oprogramowania, 219pakietu OSSEC, 1035PAM, 629pamięci masowej, 820plików urządzeń, 379ponowień, 694programu

GRUB, 79loader, 83

PXE, 198rejestratora systemd, 341rejestrowania

w BIND, 609zdarzeń, 866

repozytorium, 212resolvera klienta, 538ról, 300serwera

Apache, 737poczty, 649NGINX, 744Postfix, 700Samba, 859sendmail, 655, 656strefy, 574, 575

Poleć książkęKup książkę

Page 72: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1190 SKOROWIDZ

konfigurowaniesieci, 448, 453, 456, 463sieciowego serwera wydruków, 407sprzętu sieciowego, 462strefy przekazującej, 577sudo, 119systemu rsyslog, 346TCP/IP, 463TLS, 740, 747tras, 451TSIG, 591udziałów, 861zapory iptables, 478

kontasystemowe, 121współużytkowane, 1027

kontenery, 949, 971, 1010danych, 960EC2, 980grupowanie, 976jako środowisko budowania, 1011obrazy, 951, 1011sieć, 952silnik kontenerowy, 953zarządzanie, 977

konteneryzacja, 938konto

nobody, 837użytkownika root, 110

kontroladostępu, 107, 108

AppArmor, 129do programu cron, 156do systemu plików, 124listy, 124nowoczesne mechanizmy, 125obowiązkowa, 126oddzielne ekosystemy, 126oparta na rolach, 127, 300rozszerzenia, 122Security-enhanced Linux, 128w systemie plików, 109wady modelu standardowego, 122zaawansowana, 116

kosztów, 331podsystemów aws, 324procesów, 133rozruchu, 96wersji, 274wydajności systemu, 1103

konwertowanie pamięci masowej, 820

kopiemigawkowe, 815migawkowe woluminów, 787zapasowe, 161, 1021

kopiowanie przy zapisie, 808krople, 105kryptografia, 1036

klucza publicznego, 1037klucza symetrycznego, 1037

kryptograficzne funkcje skrótu, 1040Kubernetes, 977KVM, Kernel-based Virtual Machine, 942

LLAN, Local Area Network, 496LDA, 636LDAP, 307, 617

atrybuty, 619implementacja serwera, 620konwertowanie plików, 622specyfikacje RFC, 632struktura danych, 618zapytania, 621zastosowania, 618

LDIF, LDAP Data Interchange Format, 619ldns, 602lenistwo, 254licencje na oprogramowanie, 1161LINUX, 1171, 1174listy kontroli dostępu, ACL, 124, 183LKM, loadable kernel modules, 387loader, 83

konfiguracja programu, 83polecenia, 83

localhost, 580logowanie, 111, 623logrotate, 360

opcje programu, 361zarządzanie dziennikami, 360

lokalizowanie oprogramowania, 219lokalne wytwarzanie energii, 1121ls, 177Lynis, 1031

Ł

ładowalne moduły jądra, 387łańcuchy, 476łącze symboliczne, 148

Poleć książkęKup książkę

Page 73: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SKOROWIDZ 1191

MMAC, Mandatory Access Control, 126, 423macierz

nadmiarowa, 790RAID, 778

magazyny obiektów, 321makro

DOMAIN, 660FEATURE, 660MAIL_HUB, 664MAILER, 660MASQUERADE_AS, 663OSTYPE, 660SMART_HOST, 664

maksymalna jednostka transmisji, 422maper urządzeń, 779Marathon, 978maskarada, 664maszyna wirtualna, 937, 939MBR, 81, 782mdadm, 795mechanika konta, 284mechanizm

ACL, 686automount, 854Kerberos, 624kontroli dostępu, 125PAM, 284, 627TSIG, 590uwierzytelniania, 627, 689

menedżerpakietów FreeBSD, 217haseł, 1025

Mesos, 978Metasploit, 1031metodologia, 1133MFA, multi-factor authentication, 324miary kosztu, 523migawki woluminów, 823migracja w locie, 937mikroskrypty, 224model

biznesowy, 880standardowy, 122warstw TCP/IP, 419

moduły uwierzytelniania, 306monitoring, 1069

aplikacji, 1087bezpieczeństwa, 1089dysku twardego, 776

dzienników, 1087hostowane platformy, 1079integralności plików, 1089interaktywny procesów, 144interfejsy użytkownika, 1073komercyjne platformy, 1079maksymalizowanie skuteczności, 1095panele, 1073platformy, 1074

czasu rzeczywistego, 1075pobieranie i przetwarzanie, 1072polecenia, 1085powiadomienia, 1072pozyskiwanie danych, 1082

systemowych, 1086procesów, 142sieci, 473, 1083systemów, 1084śledzenie działań, 1086środowiska, 1128tworzenia wykresów, 1078wykrywania włamań, 1090zbieranie danych, 1080

montowanienapędów USB, 807plików, 863systemu plików, 804, 849zdalnych systemów plików, 846

możliwości, 951systemu, 124

MSA, 634, 635MTA, 634, 636MTU, 422MUA, 634multipleksacja połączeń, 1053Munin, 1078, 1088MX, mail exchanger, 558

NNACL, Network Access Control Lists, 484, 486nadużycia wewnętrzne, 1018Nagios, 1075nagłówki, 717nakładki sieciowe, 963naruszenie bezpieczeństwa, 1015narzędzia, 50, 71

administratora systemu, 1131bezpieczeństwa, 1028dla serwerów, 1093DNSSEC-Tools, 602

Poleć książkęKup książkę

Page 74: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1192 SKOROWIDZ

narzędziado monitorowania aplikacji, 1088do odpytywania, 546do wyliczania podsieci, 429kryptograficzne, 1036serwera Exim, 681

narzędzie, Patrz programNAS, Network Attached Storage, 762NAT, 431, 476, 480nazwa

jądra, 369komputera, 423, 448pliku, 243urządzenia, 773użytkownika, 285

nazwane potoki, 175ND, 440Nessus, 1030Net-SNMP, 1093NetworkManager, 454newsyslog, 362

zarządzanie dziennikami, 362newusers, 304NFS, 827, 830

bezpieczeństwo, 834, 836blokowanie plików, 834dedykowane serwery plików, 848dostęp z uprawnieniami root, 837eksporty, 833kontrola stanu, 829montowanie automatyczne, 849odwzorowania

bezpośrednie, 851główne, 851pośrednie, 851tożsamości, 847wykonywalne, 852

po stronie klienta, 844statystyki połączeń, 848wersje protokołu, 831wydajność, 829zdalne wywoływanie procedur, 832

nfsd, 842nfsstat, 848NFSv4, 190

dziedziczenie wpisów ACL, 192określanie dostępu, 192podgląd list ACL, 193ustawienia list ACL, 194

NGINX, 743instalacja i uruchamianie serwera, 743

konfigurowanie serwera, 744konfigurowanie TLS, 747równoważenie obciążenia, 747

nieodwracalność, 1041NIS, Network Information Service, 630NIST, 1063nmap, 1028Node.js, 730NS, name server, 555NSS, Name Service Switch, 627null client, 700numer

GID, 289UID, 288

numerowanie wersji jądra, 369numery urządzeń, 371

Oobrazy

kontenerów, 1011maszyn wirtualnych, 937

obsługadysków, 771kontenerów EC2, 980poczty elektronicznej, 634zmian, 876

obszar wymiany, 807ochrona prywatności, 1159odbicia lustrzane, 161odpowiedzi HTTP, 717odzyskiwanie systemów chmurowych, 104okablowanie, 511opcje

architekturalne, 880bezpieczeństwa w BIND, 588dockerd, 964dodatkowe, 182dostępu Ansible, 904filtrowania iptables, 478jądra systemu, 80językowe, 883konfiguracyjne klienta SSH, 1049konfiguracyjne m4, 665polecenia dnssec-signzone, 599sprzętu sieciowego, 458TCP/IP, 459TLS, 973zarządzania zależnościami, 884

OpenDNSSEC, 603OpenLDAP, 620

Poleć książkęKup książkę

Page 75: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SKOROWIDZ 1193

OpenSSH, 1047openssl, 1043operacje wejścia-wyjścia, 1113operatorzy systemów, 1166oprogramowanie

BIND, 562buforujące, 727DHCP, 441, 443jako usługa, SaaS, 317kryptograficzne, 1043sprzętowe systemu, 75wirtualizacyjne, 933

organizacja procesu lokalizowania, 219organizacje, 1162

ICANN, 416IGF, 416ISOC, 416

OSPF, Open Shortest Path First, 526OSSEC, 1033, 1034

instalacja pakietu, 1034konfiguracja pakietu, 1035

otwarty resolver, 589OWASP, 1064oznakowanie, 233

PPaaS, 318PaaS, Platform-as-a-Service, 317, 734Packer, 944paczki, 877pakiet, 421, 518

ethernetowy, 520gem, 991IP, 444Net-SNMP, 1094OSSEC, 1034PGP, 1045ping, 445pip, 991RPM, 206virtualenv, 271

pakietyinstalowanie, 269wyszukiwanie, 269

PAM, Pluggable Authentication Modules, 123,284, 306, 627

konfiguracja, 628, 629znaczniki kontrolne, 629

pamięćflash, 764

masowa, 321, 755podręczna, 725podręczna przeglądarki, 726

panika jądra, 399parametry, 917

sieciowe, 464parawirtualizacja, 935partycja, 778partycje MBR, 782partycjonowanie

dysków, 780tradycyjne, 781w systemie FreeBSD, 784w systemie Linux, 784

PCI DSS, 1063, 1157pętle, 247, 261PGP, Pretty Good Privacy, 1045PHP, 731PID, 134ping

gromadzenie statystyk, 473pisanie skryptów, 228pkg, 217plan naprawy, 1148planista operacji wejścia-wyjścia, 1113platforma

AWS, 324GCP, 68jako usługa, PaaS, 317, 734

platformychmur obliczeniowych, 314czasu rzeczywistego, 1075do tworzenia wykresów, 1078monitorujące, 1074szeregów czasowych, 1076

plikapache2, 339apt, 339auth.log, 339autoclose, 382boot.log, 339cloud-init.log, 339config, 1052cron, 339ctrl-alt-del, 382daemon.log, 339debug, 339dmesg, 339Dockerfile, 966, 967dpkg.log, 339exports, 839, 841

Poleć książkęKup książkę

Page 76: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1194 SKOROWIDZ

plikfaillog, 339file-max, 382group, 294, 296icmp_echo_ignore_all, 382ip_forward, 382iptables-config, 98kern.log, 339kmsg, 341lastlog, 339, 340local_port_range, 382login.conf, 293mail, 339main.cf, 700master.passwd, 123, 292mdadm.conf, 797named.conf, 563, 564, 581nsswitch.conf, 538, 627overcommit_memory, 382overcommit_ratio, 382panic, 382panic_on_oops, 382passwd, 285, 296printk_ratelimit, 382printk_ratelimit_burst, 382resolv.conf, 538rp_filter, 382samba, 339secure, 339shadow, 123, 290shmmax, 382smb.conf, 860socket, 341sources.list, 212sudoers, 114, 118switch, 652syslog, 339tcp_fin_timeout, 382tcp_syncookies, 382udev.conf, 375wtmp, 339xen, 339yum.log, 339

pliki.deb, 991.exe, 991.forward, 693.jar, 991.mc, 657.rpm, 991.sls, 916

.war, 991atrybuty, 176binarne jądra, 384cookie, 750crontab, 153, 155, 156danych o strefie, 584dodatkowe atrybuty, 182dzienników, 161, 338, 360, 410jednostek, 87, 91, 94konfiguracyjne, 198

sieci, 456serwera Exim, 683

reguł, 375spacje w nazwach, 243startowe, 299strefowe, 549typy, 171urządzeń, 371, 372

automatyczna konfiguracja, 379blokowych, 171, 173dyskowych, 772znakowych, 171, 173

z dziennikami, 338zwykłe, 172

płytkie kopie, 823poczta elektroniczna, 633

aliasy pocztowe, 646anatomia wiadomości, 637czarne listy, 668DKIM, 644dokumenty RFC, 711klienty, 635kody błędów SMTP, 641kolejki pocztowe, 654konfiguracja serwera poczty, 649kontrola

dostępu, 706przekazywania, 667

mechanizmy uwierzytelniające, 689odbijanie wiadomości, 710odczyt aliasów, 648oszustwa, 643plik switch, 652preprocesor m4, 655protokół SMTP, 640prywatność, 645routery, 690Sender ID, 644serwer

Exim, 678Postfix, 697sendmail, 651, 652, 656

Poleć książkęKup książkę

Page 77: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SKOROWIDZ 1195

skrzynki pocztowe, 637spam, 643SPF, 644system

dostarczania lokalnego, 636dostępowy, 637obsługi, 634przyjmujący, 635transportowy, 636

szyfrowanie, 645, 708uwierzytelnianie

klientów, 708SMTP, 642

wysyłanie wiadomości, 648podatności oprogramowania, 1016podłączenie dysku, 756, 758podpisywanie strefy, 596, 598podpowiedzi, 576podręcznik systemowy, 57podsieci, 428, 485podsłuchiwanie pakietów, 470, 471podstawianie tożsamości, 111podwoluminy, 822podział wierszy, 235pojedyncze logowanie, 615pole GECOS, 289polecenia

Dockera, 954filtrujące, 235pakietu IPFilter, 483plików strefowych, 549podsystemu CUPS, 410SMTP, 641

polecenieapachectl, 737camcontrol, 775chgrp, 181chown, 181chmod, 179cmd, 148cut, 235dnssec-keygen, 597dnssec-signzone, 599fsck, 802grep, 238halt, 101hdparm, 775head, 237ifconfig, 462, 506ifdown, 454, 456ifup, 456

ip, 455ipf, 482iwconfig, 506iwlist, 506kill, 140logrotate, 118lpadmin, 408ls, 177lsblk, 757newusers, 304nfsstat, 848nice, 146openssl, 1043ping, 465pkg, 217postconf, 701ps, 142, 143renice, 146rndc, 611rpm, 206smbstatus, 865smokeping, 473sort, 235strace, 148su, 112sudo, 113, 115tail, 237tee, 237top, 144traceroute, 467truss, 148udevadm, 374umask, 181uniq, 236useradd, 301, 302, 303wc, 237wpa_supplicant, 506

polimorfizm systemu plików, 802połączenia przewodowe, 511połączenie TCP, 719pomiary, 1124, 1138

zgodności ze standardami, 1155porty, 218, 425porządkowanie systemu plików, 161POSIX

dziedziczenie wpisów ACL, 189określanie dostępu, 189

Postfix, 697architektura serwera, 697bezpieczeństwo, 699diagnostyka, 709

Poleć książkęKup książkę

Page 78: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1196 SKOROWIDZ

Postfixdomeny wirtualne, 704dostarczanie lokalne, 703kolejki, 709konfiguracja serwera, 700kontrola dostępu, 706null client, 700odbieranie poczty, 698odbijanie wiadomości, 710tablice dostępu, 707tablice przeglądowe, 702wysyłanie poczty, 699zarządzanie kolejkami wiadomości, 698

potok, 231CI/CD, 990demonstracyjny, 999, 1005, 1010jako kod, 997Jenkinsa, 1001nazwany, 175poleceń, 237

poufność, 1015Power over Ethernet, 504PowerShell, 226powiadomienia, 1072powiązania, 876, 900

stanów ze sługami, 919powłoka, 223, 230, 279

logowania, 290sh, 238

poziomyniezawodności centrów danych, 1129RAID, 791uruchomieniowe, 92

PPID, 135prawa własności, 109, 300prefiksy IPv6, 435preprocesor m4, 655priorytety zadań, 1155problemy z siecią, 464procedury, 1152

ponownego uruchamiania, 101uruchomieniowe, 74

proces, 133budowania, 990, 997cykl życia, 137dopasowywania, 250identyfikator procesu macierzystego, 135init, 84, 85

implementacje, 85tryby pracy systemu, 85zadania, 84

interaktywne monitorowanie, 144lokalizowania, 219monitorowanie, 142niekontrolowany, 150numer identyfikacyjny, 134okresowy, 152priorytet przełączania, 136rozruchowy, 74stany, 141terminal sterujący, 136uprzejmość, 146żądania przerwań, 137

profilowanie systemu, 1114program

Cacti, 475Cobbler, 203cron, 156doc, 612DNSSEC, 601ELK, 362fio, 1112gcloud, 328GRUB, 79iPerf, 474IPFilter, 481iptables, 477Kickstart, 198ldns, 602logrotate, 360newsyslog, 362OpenDNSSEC, 603qmgr, 699RIPE, 603rsync, 631sar, 1113syslog, 343, 344tcpdump, 470–472Terraform, 487TShark, 472Wireshark, 470, 472yum, 215

programowa strona pamięci masowej, 777programowalna sieć komputerowa, 509programowanie

w języku Python, 255w języku Ruby, 262

programypowłoki, 1028rozruchowe, 78

projektowanie sieci, 512Prometheus, 1077

Poleć książkęKup książkę

Page 79: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SKOROWIDZ 1197

protokołystanu łączy, 523transportowe, 832wektora odległości, 522wewnętrzne i zewnętrzne, 524wyznaczania tras, 522

protokółARP, 418, 440BGP, 526bramy brzegowej, 526DHCP, 441EIGRP, 526HTTP, 714ICMP, 418informowania o trasach, 524IP, 418IPv4, 419IPv6, 419ND, 440NFS, 830OSPF, 526przesyłania danych, 1080RIP, 524SMTP, 640SNMP, 1091TCP, 356, 418trasowania bramy wewnętrznej, 526UDP, 418

prywatna przestrzeń adresowa, 484przechwytywanie, 253

pakietów IP, 444przekierowania, 231

ICMP, 439, 445przekierowywanie portów, 1054przełączniki, 502

funkcji, 989z obsługą VLAN, 503

przepływ sterowania, 245przestrzenie nazw, 125, 951

DNS, 539przesyłanie

pakietów, 518plików, 1057sygnałów, 496

przewodniki, 59przydzielanie

adresów, 431zgłoszeń, 1140, 1143

przypisywanieadresu IP, 448nazwy komputera, 448

przywracaniedysku, 794systemu, 1147

ocena ryzyka, 1147plan naprawy, 1148zwalczanie skutków katastrof, 1149

ps, 142pseudolosowość, 1041PTR, pointer, wskaźnik, 557pula pamięci masowej, 817punkty dostępu, 506Puppet, 886PXE, 198Python, 255, 256, 280, 730

instalowanie pakietów, 269krotki, 258liczby, 258listy, 258łańcuchy, 258obiekty, 258pętle, 261pliki, 258słowniki, 258środowiska odtwarzalne, 270wirtualne środowiska, 271

Python 2, 256Python 3, 255

Qqmgr, 699Quagga, 529

RRAID, 790

5, 794poziomy, 791programowy, 790, 795sprzętowy, 790

RainerScript, 353ramki Jumbo, 504ramkowanie, 422RBAC, 300Red Hat

katalogi, 97pliki, 97

Red Hat Network, 210regulacje prawne, 1159

Poleć książkęKup książkę

Page 80: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1198 SKOROWIDZ

reguły, 375, 476, 1133, 1151COBIT, 1156grupy zabezpieczeń, 487iptables, 477ustalania priorytetów zadań, 1155

rejestracjaklientów, 878nazwy domeny, 540zgłoszeń, 1139

rejestrator systemd, 340rejestratory Dockera, 972rejestrowanie

zapytań, 607zdarzeń, 98, 335, 363, 742, 972

rejestry internetowe, 431rekordy

A, 556AAAA, 556CNAME, 559DKIM, 562DMARC, 562DNSSEC, 562DS, 594infrastruktury strefy, 551MX, 558NS, 555opcjonalne, 552PTR, 557SOA, 553SPF, 562SRV, 560trasowania, 551TXT, 561zabezpieczeń, 552zasobów, 550zasobów DNSSEC, 594zwykłe, 551

replikowane systemy plików, 853repozytoria, 969

lokalne, 213paczek, 877z pakietami, 209

repozytorium, 212Git, 276LDAP, 307Subversion, 216

resolver, 589ręczne konfigurowanie sieci, 455RFC, Requests for Comments, 417RIP, Routing Information Protocol, 522, 524, 529RIPE, 603

RIPng, 524rndc, 577, 610robaki, 1021rodzaje

adresów, 426danych, 1071dysków, 762

role, 300, 902root, 110, 837, 1028

logowanie, 111wyłączanie konta, 120zarządzanie kontem użytkownika, 111

rootkity, 1022rotacja plików dziennika, 161routed, 529router, 503

accept, 691dnslookup, 691manualroute, 692redirect, 692

routery CISCO, 530routing, Patrz trasowanierozgłaszanie, 445rozproszona odmowa usługi, 1017rozruch, 389

sieciowy, 203systemu, 73

problemy, 102rozszerzalność, 927RPM, 206rsync, 631rsyslog

architektura systemu, 345konfiguracja systemu, 346, 355moduły, 347opcje konfiguracyjne, 353plik konfiguracyjny, 355składnia, 349wersje systemu, 346właściwości komunikatów, 354

Ruby, 262, 263, 281, 729bloki, 265hasze opcji, 266instalacja, 263instalowanie pakietów, 269jako filtr, 268symbole, 266środowiska odtwarzalne, 270środowiska wirtualne, 272wyrażenia regularne, 267

RVM, Ruby enVironment Manager, 272

Poleć książkęKup książkę

Page 81: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SKOROWIDZ 1199

SSaaS, Software-as-a-Service, 317Salt, 913, 926

dokumentacja, 925dopasowywanie sług, 910formuły, 921powiązania wartości zmiennych, 909stany, 912środowiska, 921typy dopasowań sług, 911ustawianie sługi, 908wysokie stany, 920

Samba, 858instalacja i konfigurowanie serwera, 859

sar, 1113scenariusze, 900SDN, Software Defined Network, 495, 509Security-enhanced Linux, 128Sender ID, 644sendmail, 651, 652, 653

bazy danych, 658bezpieczeństwo, 670bezpieczniejsze przesyłanie wiadomości, 672funkcje ogólnego zastosowania, 659konfiguracja serwera, 655makra, 659mechanizmy antyspamowe, 667monitorowanie kolejki, 677ograniczenia, 669opcje konfiguracyjne, 666opcje prywatności, 674pliki dziennika, 677tabele, 658testowanie i diagnostyka, 676uprawnienia katalogów, 672uruchamianie serwera, 675własność plików, 671

Sensu, 1076serwer

aplikacji, 721automatyzacji typu open source, 995autorytatywny, 542, 570buforujący, 542CUPS, 402, 406Exim, 678główny strefy, 574Jenkins, 995Kickstart, 200lustrzany, 213nazw, 545

NFS, 838NGINX, 743nierekurencyjny, 542OpenSSH, 1055pamięci podręcznej, 721podległy strefy, 575Postfix, 697rejestrujący, 357rekurencyjny, 542, 570sendmail, 651, 652, 653skoku, 321SMB, 858transportowy, 678WWW, 721, 736wirtualny, 320, 324, 933WWW, 722wydruków, 407

setgid, 111setuid, 111sieci

bezprzewodowe, 498, 505bezpieczeństwo, 509drogie, 508Infrastruktura bezprzewodowa, 506klient bezprzewodowy, 506punkty dostępu, 506tanie, 508topologia, 507

CDN, 728diagnostyka, 510dokumentacja, 514dostarczania treści, 728Ethernet, 422, 496grupy zabezpieczeń, 486konfiguracja, 453, 456, 463konserwacja, 514listy NACL, 486mobilne, 454monitoring, 473mostowe, 961podstawowa konfiguracja, 448programowalne, 509projektowanie, 512przeciążenie, 513rozbudowa, 513rozwiązywanie problemów, 464SAN, 472testowanie, 510TCP/IP, 415tworzenie wykresów, 475w chmurze, 484

Poleć książkęKup książkę

Page 82: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1200 SKOROWIDZ

sieciw DigitalOcean, 492w GCP, 490w systemach Debian i Ubuntu, 456w systemach Red Hat i CentOS, 456w systemie FreeBSD, 461, 463w systemie LINUX, 454wirtualne, 321wydajność, 474zapory sieciowe, 476zarządzanie, 514

sieciowelisty kontroli dostępu, 484systemy plików, 828uwierzytelnianie kryptograficzne, 124

sieciowy klient rejestrujący, 356silnik kontenerowy, 953skalowalność procesu wdrażania, 926skaner portów sieciowych, 1028, 1030skrętka, 511

nieekranowana, 498skrypty, 83, 223, 228, 240

do dodawania użytkowników, 301startowe, 99, 359w powłoce SH, 238

skrzynki pocztowe, 637SLA, service level agreements, 1153SLAAC, 436SLC, single-level cells, 764sługi, 908SMART, 776SMB, Server Message Block, 857

bezpieczeństwo, 865konfigurowanie rejestrowania zdarzeń, 866montowanie plików, 863sprawdzanie stanu, 865

smbstatus, 865smokeping, 473SMTP, 640

kody błędów, 641uwierzytelnianie, 642

SMTP AUTH, 689snapshot, 787SNMP, 1091

Net-SNMP, 1093operacje protokołu, 1093organizacja, 1092

Snort, 1033SOA, Start of Authority, 553socjotechnika, 1015sort, 235

sortowanie wierszy, 235spam, 643SPF, 644splątanie, 1041sprawdzanie

plików, 177poprawności wejścia, 260

sprzętelektroniczny, 1125sieciowy, 458, 462, 495

SSD, Solid State Drives, 755sshd, 1055SSHFP, 1056SSO, single sign-on, 307, 615

komponenty, 616, 617sssd, 626standard

CJIS, 1156EIA-606, 512ISO/IEC 27001, 1063TIA/EIA-568A, 500

standardybezpieczeństwa, 1062bezprzewodowe, 505okablowania, 511sieciowe, 417

standaryzacja dokumentacji, 1144stany

procesów, 141wątków, 141wysokie, 920

StatsD, 1080statusy jednostek, 89statystyki

polecenia ping, 473wydajności, 1113

sterowanie serwerem nazw, 610sterowniki, 367

pamięci masowej, 964parawirtualizowane, 936urządzeń, 370

strefa localhost, 580struktura

transakcji HTTP, 716zegarów systemd, 157

strukturyzacja aktualizacji, 220su, 112sudo, 113

hasła, 117konfiguracja, 119terminal sterujący, 119

Poleć książkęKup książkę

Page 83: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SKOROWIDZ 1201

ustawienia, 116zaawansowana kontrola dostępu, 116zalety i wady, 115

superużytkownik, 110Supervisor, 1088surowe woluminy, 816switch, 502sygnał, 137, 139

HUP, 140INT, 139KILL, 139QUIT, 140TERM, 139

sysdig, 1086sysfs, 374syslog, 343, 344

bezpieczeństwo komunikatów, 357diagnostyka konfiguracji, 359komunikaty systemu, 344popularne działania, 351poziomy ważności komunikatów, 350usługi, 350

systemAnsible, 887, 889, 926BIND, 604Chef, 886chmurowy, 68, 104CI/CD, 985, 988Docker, 953dostarczania lokalnego, 636dostępowy, 637drukowania, 401jednozadaniowy, 1166Kerberos, 1046kontroli wersji, 274nazw domenowych, 535plików, 163, 779, 788, 799, 812

/PROC, 147Btrfs, 808, 819dla każdego użytkownika, 815dziedziczenie właściwości, 814EXT4, 800formatowanie, 802katalogi, 170montowanie, 166, 804montowanie automatyczne, 804naprawa, 802NFS, 141, 827odmontowywanie, 166podwoluminy, 822

polimorfizm, 802porządkowanie, 161replikowany, 853sieciowy, 828ścieżki dostępu, 165UFS, 800warstwy, 959właściwości, 812woluminy, 822wydajność, 809wykrywanie błędów, 809XFS, 800ZFS, 808, 810

pojedynczego logowania, 307, 615przyjmujący, 635Puppet, 886reagowania na ataki brute-force, 1036rozruchowy

FreeBSD, 81PXE, 198

Salt, 887, 906transportowy, 636uwierzytelniania, 623wykrywania włamań, 1033zarządzania

konfiguracją, 879pakietami, 206tożsamością, 308

zgłoszeniowy, 1139, 1142systemctl, 88, 97

podpolecenia, 89systemd, 86, 92, 96

konfiguracja rejestratora, 341opcje filtrujące, 342program syslog, 343przeglądanie dzienników, 340rejestrowanie zdarzeń, 98struktura zegarów, 157wyrażenia czasowe, 159

szafy, 1120szczupłe zarządzanie, 1136szperacze sieciowe, 510szyfrowanie, 676, 708

Ś

ścieżkaBIOS-u, 81dostępu, 165UEFI, 82

Poleć książkęKup książkę

Page 84: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1202 SKOROWIDZ

śledzeniefunkcji systemowych, 148pakietów IP, 467sygnałów, 148wydajności sieci, 474

środowisko, 877chroot, 590, 675produkcyjne, 988przedprodukcyjne, 988rozwojowe, 988

światłowody jednomodowe, 500

Ttablica, 476

partycji GUID, 783przeglądowa, 702tras, 438, 485tras VPC, 486

tail, 237TCP, 418, 719TCP/IP, 415, 459tcpdump, 470, 471, 472technicy centrów danych, 70techniki wdrażania, 994technologia Advanced Format, 767tee, 237telefonia VoIP, 504teoria wielkiej unifikacji, 1134terminal sterujący, 136Terraform, 487test penetracyjny, 1031testowanie, 221, 991

kropli, 1008serwera sendmail, 676sieci, 510urządzeń, 374wydajności, 1112

testyakceptacyjne, 992infrastruktury, 992integracyjne, 992jednostkowe, 992, 1000penetracyjne aplikacji, 1024wydajnościowe, 992

TKEY, 590TLS, Transport Layer Security, 676, 740,

973, 1040diagnostyka serwerów, 1044

top, 145topologia

Ethernetu, 498sieci bezprzewodowych, 507

tożsamość, 322traceroute, 467transfer plików, 631transport, 693

appendfile, 694smtp, 694

trasowanie, 517BGP, 526demony trasujące, 528dokumenty RFC, 533EIGRP, 526grupowe adresy protokołów, 527kryteria wyboru strategii, 527miary kosztu, 523OSPF, 526protokoły

stanu łączy, 523wektora odległości, 522wewnętrzne i zewnętrzne, 524

przekierowania ICMP, 439przez nadawcę, 445RIP, 524tablice tras, 438

trendy historyczne, 1071treść wiadomości, 717tryb pojedynczego użytkownika, 102, 104

z programem GRUB, 104tryby pracy systemu, 85TShark, 472TSIG, 590tunelowanie

IPsec, 1060IPv6, 437

tworzeniechmury VPC, 487instancji EC2, 325jądra, 383, 386katalogu domowego, 298kopii zapasowych, 161, 824macierzy, 796odtwarzalnych środowisk, 270plików binarnych jądra, 384plików urządzeń, 372reguł, 1152skryptów, 279własnych poddomen, 540wykresów, 1078

typyartefaktów, 991dopasowań sług, 911hipernadzorców, 936plików, 171

Poleć książkęKup książkę

Page 85: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SKOROWIDZ 1203

Uudev

klucze dopasowań, 379udevadm, 374udevd

klucze dopasowań, 376udostępnianie katalogów

dla projektów, 862domowych, 862

UDP, 418UEFI, 76UID, 135, 284, 288umask, 181, 182uniq, 236UNIX, 1167, 1171, 1174

kontrola dostępu, 108uprawnienia, 179, 191, 300

administracyjne, 107, 300domyślne, 181

uprzejmość, 146URL, Uniform Resource Locator, 715uruchamianie

aplikacji WWW, 741zadań wsadowych, 161

urządzenia, 370pamięci masowej, 759, 778trwałe nazwy, 375

USB, 770montowanie napędu, 807

useradd, 301, 302, 303usługi

chmurowe, 312, 317katalogowe, 617, 623lokalne, 95opisy, 1154systemowe, 87zakresy, 1154

ustawienia pliku konfiguracyjnego, 198usunięcie

drukarki, 408konta, 304

UTP, unshielded twisted pair, 498utrzymanie

lokalnej dokumentacji, 1143niezależnych środowisk, 1146

uwierzytelnianie, 119, 306, 623, 627, 676,689, 1050

HTTP, 740klientów, 708kryptograficzne, 124

lokalne, 860SMTP, 642wieloskładnikowe, 1023

użytkownik, 284blokowanie konta, 305dodawanie, 301, 304finalizacja konta, 300identyfikator UID, 288katalog domowy, 290, 298nazwa, 285nowe konto, 296pole GECOS, 289powłoka logowania, 290prawa własności, 300root, 1028scentralizowane zarządzanie kontem, 307uprawnienia, 300ustawianie hasła, 297

VVagrant, 946VirtualBox, 944virtualenv, 271VLAN, Virtual Local Area Networks, 503VMware, 943VoIP, 504VPCVPC, virtual private cloud, 484–487VPN, Virtual Private Network, 447, 1060

Wwady modelu standardowego, 122walidacja stanu systemu, 1089WAP, wireless access points, 505wątki, 141wbudowane moduły, 927wc, 237wdrażanie, 993, 1008

bez przestojów, 994wejście, 242wektor odległości, 522WEP, Wired Equivalent Privacy, 509wersje jądra, 369wersjonowanie, 274weryfikacja

integralności systemu, 1089klucza hosta, 1056

wiadomości e-mail, 160, 633, 637widoczność zasobów, 852

Poleć książkęKup książkę

Page 86: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

1204 SKOROWIDZ

widoki, 582wiersz poleceń, 243

procesu, 148wilgotność, 1128Windows, 1172Wireshark, 470, 472wirtualizacja, 933

hipernadzorcy, 934konteneryzacja, 938KVM, 942maszyny wirtualne, 937Packer, 944sprzętowa, 935sterowniki parawirtualizowane, 936typy hipernadzorców, 936Vagrant, 946VirtualBox, 944VMware, 943w Linuksie, 939Xen, 939

wirtualnechmury prywatna, 484domeny aliasów, 704hosty, 720serwery prywatne, 320, 324sieci, 321sieci prywatne, 447środowiska, 271

wirusy, 1021witryny informacyjne, 61włamania, 1032, 1033, 1090włókna światłowodowe, 500woluminy, 822, 959

logiczne, 778, 784wskaźniki

awaryjności, 761czasu rzeczywistego, 1071

współdzielenie plików, 860, 861wybór dostawcy chmury, 314wycofania, 254wydajność, 1097

analizaobciążenia wejścia-wyjścia, 1111problemów, 1102użycia pamięci, 1109użycia procesora, 1106

czynniki, 1101dostrajanie, 1098energetyczna, 1123gromadzenie danych, 1105kontrola, 1103

metody poprawy, 1099operacje wejścia-wyjścia, 1113podsystemu dyskowego, 1112profilowanie systemu, 1114statystyki, 1113zabieranie cykli procesora, 1102zarządzanie pamięcią, 1108

wyjście, 242wykonywanie poleceń, 239wykrywanie włamań, 1033, 1090

sieciowych, 1032wyliczanie podsieci, 429wyłączanie

fizycznych systemów, 101konta użytkownika root, 120systemów chmurowych, 101

wymazywanie wstępne, 765wymuszanie stosowania reguł, 1160wyrażenia

czasowe systemd, 159regularne, 249, 252, 280

w języku Ruby, 267wyrażenie $, 1007wysyłanie

sygnałów, 140wiadomości

do plików, 648do programów, 649e-mail, 160

wyszukiwaniepakietów, 269tekstu, 238

wyświetlanie listy, 177wyznaczanie tras, Patrz trasowanie

XXen, 939XML, 731XORP, 530

YYAML, 887yum, 215

Zzachłanność, 254zadania wsadowe, 161zamykanie systemu, 101

Poleć książkęKup książkę

Page 87: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

SKOROWIDZ 1205

zapis adresów IPv6, 434zapisywanie dzienników, 695zaplanowane zadania, 160zapora

aplikacji, 721IPFilter, 481iptables, 478

zaporyfiltrujące pakiety, 1058sieciowe, 446, 476, 1058

dla instancji EC2, 484z kontrolą stanu, 1059

zapytania LDAP, 621zarządzania

zgłoszeniami, 1139bibliotekami, 269dziennikami, 360, 362, 363

na dużą skalę, 362konfiguracją, 873

ewidencjonowanie, 878obsługa zmian, 876opcje architekturalne, 880opcje językowe, 883opcje zarządzania zależnościami, 884operacje i parametry, 874paczki, 877powiązania, 876rejestracja klientów, 878repozytoria paczek, 877system Ansible, 887system Chef, 886system Puppet, 886system Salt, 887systemy, 879środowiska, 877wzorce postępowania, 929zmienne, 875

kontami, 307kontenerami, 976oprogramowaniem, 215pakietami, 204, 208

.deb, 207RPM, 206

pamięcią, 1108plikami

crontab, 155urządzeń, 372, 373

pulą pamięci masowej, 817systemd, 88systemem, 83środowiskiem, 117

tożsamością, 308urządzeniami, 373, 378

wysokopoziomowe, 379uszkodzonymi blokami, 773użytkownikami, 283woluminami logicznymi, 784, 790zestawami znaków, 867

zasady DevOps, 1135zasilacze awaryjne, 1121zasilanie

nadmiarowe, 1121szaf, 1122

zbędne usługi, 1020zdalna powłoka SSH, 1046zdalne

logowanie zdarzeń, 1021sterowanie, 1124systemy plików, 846wywoływanie procedur, 832

zdarzenia, 335, 363, 1071rejestrowane w dziennikach, 364

zegaryprzejściowe, 160systemd, 156

ZFS, 810zgłoszenia, 1139zgodność

regulacje i standardy, 1156ze standardami, 1155

zliczanie wierszy, 237zmiana

hasła, 1025systemu plików, 788tożsamości użytkownika, 112uprawnień, 179właściciela i grupy, 181

zmienne, 233, 875jądra, 461środowiskowe, 234, 1007

znacznikiSEP, 596kontrolne PAM, 629

znakidosłowne, 250specjalne, 250

zrzut pamięci, 138

Ź, Żźródła informacji, 60żądania HTTP, 716

Poleć książkęKup książkę

Page 88: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie

NOTATKI

Poleć książkęKup książkę

Page 90: Tytuł oryginału: UNIX and Linux System Administration ... · SPIS TREŚCI 5 2 Rozruch i demony zarządzania systemem 73 2.1. Przegląd procesu rozruchowego 74 2.2. Oprogramowanie