Linux_Bezpieczenstwo_Receptury_libezp.pdf

(853 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TRE CI
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
Linux. Bezpieczeñstwo.
Receptury
Autorzy: Daniel J. Barrett,
Richard E. Silverman, Robert G. Byrnes
T³umaczenie: Adam Podstawczyñski
ISBN: 83-7361-249-1
Tytu³ orygina³u:
Linux Security Cookbook
Format: B5, stron: 346
Zabezpieczanie systemu komputerowego to proces z³o¿ony. Nie trzeba jednak od razu
wprowadzaæ z³o¿onych mechanizmów ochrony systemu. Znajomo æ podstawowych
procedur pomaga dostatecznie zwiêkszyæ poziom bezpieczeñstwa. Czy chcesz szybko
dowiedzieæ siê, jak wysy³aæ zaszyfrowane listy elektroniczne z programu Emacs?
Jak ograniczyæ dostêp do us³ug sieciowych w okre lonych porach dnia?
Jak zabezpieczyæ serwer WWW zapor¹ sieciow¹? Skonfigurowaæ uwierzytelnianie
z u¿yciem klucza publicznego przez SSH?
Ksi¹¿ka „Linux. Bezpieczeñstwo. Przewodnik encyklopedyczny” nauczy Ciê, jakie
polecenia nale¿y wykonaæ i co wpisaæ w plikach konfiguracyjnych, by poprawiæ
bezpieczeñstwo Twojego systemu. Nie jest to klasyczny podrêcznik; nie znajdziesz
tu teorii, lecz rozwi¹zania konkretnych problemów i sposoby ³atania typowych luk
w zabezpieczeniach. Dziêki ksi¹¿ce nie bêdziesz traciæ cennego czasu, poszukuj¹c
w³a ciwej sk³adni poleceñ. Przeznaczona jest dla rednio zaawansowanych
u¿ytkowników i administratorów systemów Linux.
• Kontrola dostêpu do systemu na ró¿nych poziomach - od zapory sieciowej a¿
po poszczególne us³ugi; programy: iptables, ipchains, xinetd, inted i wiele innych.
• Monitorowanie sieci programami: ethereal, dsniff, netstat i innymi.
• Ochrona po³¹czeñ sieciowych technologiami SSH i SSL.
• Wykrywanie w³amañ programami: tripwire, snort, tcpdump, logwatch i innymi.
• Zabezpieczanie uwierzytelniania za pomoc¹ kluczy kryptograficznych, technologii
Kerberos, oprogramowania PAM; autoryzacja przywilejów administratora
programem sudo.
• Szyfrowanie plików i wiadomo ci e-mail oprogramowaniem GnuPG.
• Sondowanie zabezpieczeñ w³asnego systemu programami do ³amania hase³,
narzêdziem nmap i skryptami pomocniczymi.
Je li administrujesz systemami linuksowymi, receptury przedstawione w niniejszej
ksi¹¿ce pozwol¹ zwiêkszyæ wydajno æ Twojej pracy: osi¹gniesz wiêcej po wiêcaj¹c
mniej czasu. Zdobêdziesz pewno æ, ¿e zastosujesz w³a ciwe rozwi¹zania gdy pojawiaj¹
siê konkretne zagro¿enia.
TWÓJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWO CIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treści
Przedmowa........................................................................................................................9
Rozdział 1. Tripwire i migawki systemu ..................................................................17
1.0. Wprowadzenie ................................................................................................................................17
1.1. Konfiguracja Tripwire....................................................................................................................20
1.2. Wyświetlanie założeń i konfiguracji............................................................................................22
1.3. Modyfikacja założeń i konfiguracji..............................................................................................22
1.4. Podstawowe sprawdzanie spójności ...........................................................................................24
1.5. Sprawdzanie spójności w trybie tylko do odczytu ...................................................................25
1.6. Zdalne sprawdzanie spójności .....................................................................................................26
1.7. Superskrupulatne sprawdzanie spójności ..................................................................................28
1.8. Drogie i superskrupulatne sprawdzanie spójności...................................................................30
1.9. Automatyczne sprawdzanie spójności........................................................................................30
1.10. Odczytywanie najnowszego raportu Tripwire........................................................................31
1.11. Uaktualnianie bazy danych ........................................................................................................32
1.12. Dodawanie plików do bazy danych..........................................................................................33
1.13. Usuwanie plików z bazy danych...............................................................................................35
1.14. Sprawdzanie systemów plików Windows VFAT ...................................................................35
1.15. Sprawdzanie plików zainstalowanych za pomocą menedżera pakietów RPM.................36
1.16. Sprawdzanie spójności za pomocą programu rsync ..............................................................37
1.17. Ręczne sprawdzanie spójności ...................................................................................................38
Rozdział 2. Zapory sieciowe: oprogramowanie iptables i ipchains ....................41
2.0. Wprowadzenie ................................................................................................................................41
2.1. Weryfikacja adresu źródłowego...................................................................................................43
2.2. Blokowanie sfałszowanych adresów...........................................................................................45
2.3. Blokowanie całego ruchu sieciowego..........................................................................................47
2.4. Blokowanie ruchu przychodzącego.............................................................................................48
2.5. Blokowanie ruchu wychodzącego ...............................................................................................49
4
Spis treści
2.6. Blokowanie przychodzących żądań usług .................................................................................50
2.7. Blokowanie dostępu z określonego hosta zdalnego .................................................................51
2.8. Blokowanie dostępu do określonego hosta zdalnego ..............................................................52
2.9. Blokowanie dostępu do wszystkich serwerów WWW określonej zdalnej sieci...................53
2.10. Blokowanie połączeń z komputerów zdalnych, zezwalanie na lokalne .............................54
2.11. Kontrola dostępu na podstawie adresów MAC ......................................................................55
2.12. Zezwalanie wyłącznie na dostęp SSH.......................................................................................56
2.13. Blokowanie wychodzących połączeń Telnet............................................................................57
2.14. Zabezpieczanie wydzielonego serwera ....................................................................................58
2.15. Blokowanie pingów......................................................................................................................59
2.16. Wyświetlanie reguł zapory sieciowej ........................................................................................60
2.17. Usuwanie reguł zapory sieciowej ..............................................................................................61
2.18. Wstawianie reguł zapory sieciowej ...........................................................................................62
2.19. Zapisywanie konfiguracji zapory sieciowej .............................................................................63
2.20. Ładowanie konfiguracji zapory sieciowej ................................................................................64
2.21. Testowanie konfiguracji zapory sieciowej................................................................................66
2.22. Budowanie złożonych drzew reguł ...........................................................................................67
2.23. Uproszczone rejestrowanie .........................................................................................................69
Rozdział 3. Kontrola dostępu do sieci.......................................................................71
3.0. Wprowadzenie ................................................................................................................................71
3.1. Wyświetlanie interfejsów sieciowych..........................................................................................74
3.2. Włączanie i wyłączanie interfejsu sieciowego ...........................................................................75
3.3. Włączanie i wyłączanie usługi (xinetd) ......................................................................................76
3.4. Włączanie i wyłączanie usługi (inetd).........................................................................................77
3.5. Dodawanie nowej usługi (xinetd)................................................................................................78
3.6. Dodawanie nowej usługi (inetd)..................................................................................................79
3.7. Ograniczanie dostępu zdalnym użytkownikom .......................................................................80
3.8. Ograniczanie dostępu zdalnym hostom (xinetd) ......................................................................82
3.9. Ograniczanie dostępu zdalnym hostom (xinetd z biblioteką libwrap) .................................83
3.10. Ograniczanie dostępu zdalnym hostom (xinetd w połączeniu z tcpd) ...............................84
3.11. Ograniczanie dostępu zdalnym hostom (inetd) ......................................................................85
3.12. Ograniczanie dostępu o określonych porach dnia..................................................................86
3.13. Ograniczanie określonym hostom dostępu do serwera SSH ................................................88
3.14. Ograniczanie dostępu do serwera SSH w zależności od konta systemowego...................89
3.15. Ograniczanie zasobów usług do określonych katalogów systemu plików ........................90
3.16. Zapobieganie atakom powodującym odmowę obsługi .........................................................92
3.17. Przekierowanie do innego gniazda ...........................................................................................93
3.18. Rejestrowanie przypadków korzystania z usług ....................................................................94
3.19. Uniemożliwianie logowania się przez terminal jako root .....................................................96
Spis treści
5
Rozdział 4. Techniki i infrastruktury uwierzytelniania.........................................97
4.0. Wprowadzenie ................................................................................................................................97
4.1. Tworzenie aplikacji obsługującej infrastrukturę PAM ...........................................................100
4.2. Wymuszanie stosowania silnych haseł za pomocą oprogramowania PAM ......................101
4.3. Tworzenie list kontroli dostępu za pomocą oprogramowania PAM...................................102
4.4. Sprawdzanie poprawności certyfikatu SSL..............................................................................104
4.5. Odkodowywanie certyfikatu SSL ..............................................................................................105
4.6. Instalowanie nowego certyfikatu SSL .......................................................................................106
4.7. Generowanie żądania podpisania certyfikatu SSL (CSR) ......................................................107
4.8. Tworzenie samopodpisanego certyfikatu SSL.........................................................................109
4.9. Tworzenie organu certyfikującego ............................................................................................110
4.10. Konwertowanie certyfikatów SSL z formatu DER do formatu PEM.................................113
4.11. Rozpoczęcie pracy z oprogramowaniem Kerberos...............................................................114
4.12. Dodawanie użytkowników do domeny Kerberos ................................................................119
4.13. Dodawanie hostów do domeny Kerberos ..............................................................................120
4.14. Korzystanie z uwierzytelniania Kerberos w usłudze SSH ..................................................121
4.15. Korzystanie z uwierzytelniania Kerberos w usłudze Telnet...............................................124
4.16. Zabezpieczanie usługi IMAP technologią Kerberos .............................................................126
4.17. Uwierzytelnianie użytkowników w systemie z użyciem technologii Kerberos i PAM..127
Rozdział 5. Mechanizmy autoryzacji ......................................................................131
5.0. Wprowadzenie ..............................................................................................................................131
5.1. Logowanie do powłoki z przywilejami roota ..........................................................................133
5.2. Uruchamianie programów X z przywilejami roota ................................................................134
5.3. Uruchamianie poleceń jako inny użytkownik przez program sudo....................................135
5.4. Jak obejść uwierzytelnianie hasłem w programie sudo .........................................................136
5.5. Wymuszanie uwierzytelniania hasłem w sudo.......................................................................138
5.6. Autoryzacja w sudo z uwzględnieniem nazwy hosta............................................................138
5.7. Przydzielanie przywilejów grupie przez program sudo .......................................................140
5.8. Uruchamianie przez sudo dowolnego programu w katalogu..............................................140
5.9. Blokowanie argumentów poleceń w sudo ...............................................................................141
5.10. Współużytkowanie plików z użyciem grup ..........................................................................142
5.11. Zezwalanie przez sudo na dostęp do współużytkowanego pliku
w trybie tylko do odczytu .........................................................................................................143
5.12. Autoryzacja zmian haseł przez sudo.......................................................................................144
5.13. Uruchamianie-zatrzymywanie demonów przez sudo .........................................................145
5.14. Ograniczenie przywilejów roota za pomocą sudo................................................................145
5.15. Zabijanie procesów przez sudo................................................................................................146
5.16. Wyświetlanie prób wywołania programu sudo....................................................................148
5.17. Zdalny dziennik sudo................................................................................................................148
6
Spis treści
5.18. Udostępnianie przywilejów roota przez SSH ........................................................................149
5.19. Uruchamianie poleceń roota przez SSH .................................................................................151
5.20. Udostępnianie przywilejów roota przez Kerberos su ..........................................................152
Rozdział 6. Ochrona wychodzących połączeń sieciowych ..................................155
6.0 Wprowadzenie ...............................................................................................................................155
6.1. Logowanie do zdalnego hosta....................................................................................................156
6.2. Uruchamianie zdalnych programów ........................................................................................157
6.3. Zdalne kopiowanie plików .........................................................................................................158
6.4. Uwierzytelnianie za pomocą klucza publicznego (OpenSSH)..............................................161
6.5. Uwierzytelnianie z użyciem klucza publicznego
(Klient OpenSSH, serwer SSH2, klucz OpenSSH) ..................................................................163
6.6. Uwierzytelnianie z użyciem klucza publicznego
(Klient OpenSSH, serwer SSH2, klucz SSH2) ..........................................................................165
6.7. Uwierzytelnianie z użyciem klucza publicznego (Klient SSH2, serwer OpenSSH) ..........166
6.8. Uwierzytelnianie przez mechanizm wiarygodnego hosta ....................................................167
6.9. Uwierzytelnianie bez hasła (interaktywne)..............................................................................171
6.10. Uwierzytelnianie w zadaniach cron ........................................................................................173
6.11. Wyłączanie agenta SSH po wylogowaniu..............................................................................175
6.12. Dostosowanie działania klienta SSH do poszczególnych hostów......................................175
6.13. Zmiana domyślnych ustawień klienta SSH ...........................................................................176
6.14. Tunelowanie innej sesji TCP przez SSH .................................................................................178
6.15. Panowanie nad hasłami.............................................................................................................179
Rozdział 7. Ochrona plików......................................................................................181
7.0. Wprowadzenie ..............................................................................................................................181
7.1. Stosowanie prawa dostępu do plików......................................................................................182
7.2. Zabezpieczanie współużytkowanego katalogu .......................................................................183
7.3. Blokowanie wyświetlania zawartości katalogu.......................................................................184
7.4. Szyfrowanie plików z użyciem hasła ........................................................................................185
7.5. Rozszyfrowywanie plików .........................................................................................................186
7.6. Przygotowanie oprogramowania GnuPG do szyfrowania
z użyciem klucza publicznego ...................................................................................................187
7.7. Wyświetlanie zawartości zbioru kluczy ...................................................................................189
7.8. Ustawianie klucza domyślnego..................................................................................................190
7.9. Udostępnianie kluczy publicznych ...........................................................................................191
7.10. Dodawanie kluczy do zbioru ...................................................................................................192
7.11. Szyfrowanie plików w celu wysłania innym .........................................................................193
7.12. Podpisywanie pliku tekstowego ..............................................................................................194
7.13. Podpisywanie i szyfrowanie plików .......................................................................................195
7.14. Składanie podpisu w oddzielnym pliku.................................................................................195
Zgłoś jeśli naruszono regulamin