Apache_Zabezpieczenia_aplikacji_i_serwerow_WWW_apazab.pdf

(702 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TREœCI
Apache. Zabezpieczenia
aplikacji i serwerów WWW
Autor: Ryan C. Barnett
T³umaczenie: Marek Pa³czyñsk
ISBN: 83-246-0505-3
Tytu³ orygina³u:
Preventing Web Attacks with Apache
Format: B5, stron: 544
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Internet to nie tylko niezmierzone Ÿród³o informacji. To tak¿e zagro¿enie dla serwerów
WWW, aplikacji internetowych i baz danych, które codziennie s¹ atakowane przez
komputerowych przestêpców, korzystaj¹cych z dziesi¹tek technik. Publikowane
regularnie raporty o cyberprzestêpczoœci s¹ zatrwa¿aj¹ce. Liczba ataków na serwery
internetowe wzrasta corocznie œrednio o 30%. Wœród atakowanych serwerów
przewa¿aj¹ te, na których utrzymywane s¹ witryny WWW i aplikacje. Wed³ug raportu
firmy Symantec, „aplikacje WWW s¹ popularnymi celami ataków z uwagi na ich
rozpowszechnienie i fakt, ¿e pozwalaj¹ w³amywaczom na pominiêcie tradycyjnych
mechanizmów zabezpieczaj¹cych, takich jak firewalle”. W tym samym raporcie mo¿na
równie¿ przeczytaæ, ¿e prawie 50% luk w zabezpieczeniach serwerów wi¹¿e siê w³aœnie
z aplikacjami WWW.
W ksi¹¿ce „Apache. Zabezpieczenia aplikacji i serwerów WWW” znajdziesz informacje
o tym, w jaki sposób uchroniæ przed atakami hakerów aplikacje i witryny WWW
kontrolowane przez najpopularniejszy obecnie serwer WWW — Apache. Przeczytasz
o tym, jak poprawnie zainstalowaæ i skonfigurowaæ Apache’a i w jaki sposób uruchomiæ
w nim modu³y zabezpieczeñ. Poznasz techniki ataków hakerskich i dowiesz siê, jak im
zapobiegaæ. Znajdziesz sposoby testowania zabezpieczeñ swojego serwera za pomoc¹
odpowiednich narzêdzi. Nauczysz siê tak¿e wykrywaæ próby ataków i reagowaæ na nie
odpowiednio wczeœnie.
• Czynniki wp³ywaj¹ce na bezpieczeñstwo sieci
• Instalacja serwera Apache
• Plik httpd.conf — konfiguracja Apache’a
• Instalowanie i konfigurowanie modu³ów zabezpieczeñ
• Klasyfikacja zagro¿eñ sieciowych WASC
• Metody zabezpieczania aplikacji sieciowych
• Ochrona przed atakami
• Tworzenie serwerów-pu³apek
Dziêki tej ksi¹¿ce ka¿dy administrator bêdzie móg³ spokojnie spaæ
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOœCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Koœciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
O autorze ...................................................................................... 13
Przedmowa ................................................................................... 15
Wprowadzenie ............................................................................... 17
Rozdział 1. Czynniki wpływające na obniżenie bezpieczeństwa sieci ................. 29
Typowy poranek .............................................................................................................
Dlaczego bezpieczeństwo sieciowe jest istotne? ............................................................
Czynniki wpływające na obniżenie bezpieczeństwa sieci ..............................................
Zarządzanie i procedury .................................................................................................
Zarządzanie i nieprzekraczalne terminy ...................................................................
Sprzedaż załadowanego pistoletu .............................................................................
Dwuminutowa zmiana ..............................................................................................
Środowisko projektowe a środowisko pracy ............................................................
Zdarzeniowa koncepcja utrzymania bezpieczeństwa sieci ......................................
Błędy techniczne w zabezpieczeniach sieciowych .........................................................
Mamy serwer w strefie zdemilitaryzowanej ............................................................
Mamy firewalla ........................................................................................................
Mamy sieciowy system wykrywania włamań ..........................................................
Mamy jednostkowy system wykrywania włamań ...................................................
Wykorzystujemy protokół SSL ................................................................................
Podsumowanie ................................................................................................................
Raporty CIS dotyczące serwera Apache dla systemu Unix
— zagadnienia związane z systemem operacyjnym ....................................................
Zabezpieczenie usług innych niż HTTP ...................................................................
Przykład ataku na usługę — wykorzystanie serwera FTP (7350wu) .......................
Wpływ błędów w usługach na bezpieczeństwo serwera Apache ............................
Uaktualnienia dostawców systemów operacyjnych .................................................
Dostosowanie stosu IP .............................................................................................
Odmowa obsługi ......................................................................................................
Grupy i konta użytkowników sieciowych ................................................................
Zablokowanie konta serwera WWW .......................................................................
Wprowadzenie limitów dyskowych .........................................................................
Dostęp do poleceń systemowych .............................................................................
Zmiana właściciela i praw dostępu do poleceń systemu ..........................................
29
31
32
32
32
33
34
34
35
36
36
37
38
39
39
40
Rozdział 2. Raporty CIS dotyczące serwera Apache ......................................... 41
41
41
46
49
49
50
51
53
56
57
59
64
6
Apache. Zabezpieczenia aplikacji i serwerów www
Tradycyjny mechanizm chroot .................................................................................
Wady mechanizmu chroot ........................................................................................
Moduł chroot mod_security .....................................................................................
Konfiguracja mechanizmu chroot ............................................................................
Podsumowanie ................................................................................................................
Wybór wersji ..................................................................................................................
Pakiety binarne czy kod źródłowy? ................................................................................
Pobranie kodu źródłowego .............................................................................................
Czy potrzebna jest weryfikacja MD5 i PGP? ...........................................................
Rozpakowanie archiwum ...............................................................................................
Nakładki ...................................................................................................................
Śledzenie komunikatów o błędach i nakładkach ......................................................
Które moduły uwzględnić? ......................................................................................
Podsumowanie ................................................................................................................
Ustawienia uwzględnione w raporcie CIS ....................................................................
Plik httpd.conf ..............................................................................................................
Wyłączenie niepotrzebnych modułów ..........................................................................
Dyrektywy ....................................................................................................................
Dyrektywy związane z serwerem .................................................................................
Moduły pracy wieloprocesorowej (MPM) .............................................................
Dyrektywa Listen ...................................................................................................
Dyrektywa ServerName .........................................................................................
Dyrektywa ServerRoot ...........................................................................................
Dyrektywa DocumentRoot .....................................................................................
Dyrektywa HostnameLookups ...............................................................................
Dyrektywy związane z kontami użytkowników ...........................................................
Dyrektywa User ......................................................................................................
Dyrektywa Group ...................................................................................................
Dyrektywa ServerAdmin ........................................................................................
Dyrektywy związane z ochroną przed atakami DoS ....................................................
Test domyślnej konfiguracji ...................................................................................
Dyrektywa Timeout ................................................................................................
Dyrektywa KeepAlive ............................................................................................
Dyrektywa KeepAliveTimeout ..............................................................................
Dyrektywa MaxKeepAliveRequests ......................................................................
Dyrektywa StartServers ..........................................................................................
Dyrektywy MinSpareServers i MaxSpareServers ..................................................
Dyrektywa ListenBacklog ......................................................................................
Dyrektywy MaxClients i ServerLimit ....................................................................
Test serwera po zamianie konfiguracji ...................................................................
Zapowiedź ..............................................................................................................
Dyrektywy utajniające oprogramowanie ......................................................................
Dyrektywa ServerTokens .......................................................................................
Dyrektywa ServerSignature ...................................................................................
Dyrektywa ErrorDocument ....................................................................................
Dyrektywy katalogów ...................................................................................................
Parametr All ...........................................................................................................
Parametr ExecCGI ..................................................................................................
Parametry FollowSymLinks i SymLinksIfOwnerMatch .......................................
Parametry Includes i IncludesNoExec ...................................................................
65
65
66
66
73
75
76
78
78
84
85
86
89
98
Rozdział 3. Instalacja serwera Apache ............................................................. 75
Rozdział 4. Konfiguracja — plik httpd.conf ...................................................... 99
102
102
103
104
105
105
105
106
106
106
106
108
108
109
109
109
110
111
112
112
112
113
113
113
114
114
115
116
116
117
117
121
121
121
121
122
Spis treści
Parametr Indexes ....................................................................................................
Dyrektywa AllowOverride .....................................................................................
Parametr Multiviews ..............................................................................................
Dyrektywy kontroli dostępu .........................................................................................
Uwierzytelnianie ...........................................................................................................
Autoryzacja ...................................................................................................................
Dyrektywa Order ....................................................................................................
Kontrola dostępu — informacje o kliencie ...................................................................
Nazwa komputera lub domeny ...............................................................................
Adres IP lub zakres adresów IP ..............................................................................
Zmienne środowiskowe żądania ............................................................................
Ochrona katalogu głównego ...................................................................................
Zmniejszenie liczby metod HTTP ................................................................................
Ogólne dyrektywy rejestracji zdarzeń ..........................................................................
Dyrektywa LogLevel ..............................................................................................
Dyrektywa ErrorLog ..............................................................................................
Dyrektywa LogFormat ...........................................................................................
Dyrektywa CustomLog ..........................................................................................
Usunięcie domyślnych i przykładowych plików ..........................................................
Pliki kodu źródłowego Apache ..............................................................................
Domyślne pliki HTML ...........................................................................................
Przykładowe skrypty CGI ......................................................................................
Pliki użytkownika webserv ....................................................................................
Zmiana praw dostępu ....................................................................................................
Pliki konfiguracyjne serwera ..................................................................................
Pliki katalogu dokumentów ....................................................................................
Katalog cgi-bin .......................................................................................................
Katalog logs ............................................................................................................
Katalog bin .............................................................................................................
Modyfikacja skryptu apachectl .....................................................................................
Test Nikto po zmianach konfiguracji ...........................................................................
Podsumowanie ..............................................................................................................
Protokół SSL .................................................................................................................
Dlaczego należy korzystać z protokołu SSL? ........................................................
Jak działa mechanizm SSL? ...................................................................................
Wymagane oprogramowanie ..................................................................................
Instalacja oprogramowania SSL .............................................................................
Tworzenie certyfikatów SSL ..................................................................................
Sprawdzenie wstępnej konfiguracji .......................................................................
Konfiguracja modułu mod_ssl ...............................................................................
Podsumowanie mechanizmu SSL ..........................................................................
Moduł mod_rewrite ......................................................................................................
Włączenie modułu mod_rewrite ............................................................................
Podsumowanie modułu mod_rewrite .....................................................................
Moduł mod_log_forensic .............................................................................................
Moduł mod_evasive .....................................................................................................
Do czego służy moduł mod_evasive? ....................................................................
Instalacja modułu mod_evasive .............................................................................
Jak działa moduł mod_evasive? .............................................................................
Konfiguracja ...........................................................................................................
Podsumowanie modułu mod_evasive ....................................................................
7
122
123
123
123
124
125
126
127
127
128
128
128
129
130
130
130
131
131
132
132
132
133
134
134
134
134
135
135
135
136
137
137
139
140
142
144
145
146
147
149
155
155
156
158
158
159
159
160
160
161
165
Rozdział 5. Najważniejsze moduły zabezpieczeń ............................................. 139
8
Apache. Zabezpieczenia aplikacji i serwerów www
Moduł mod_security .....................................................................................................
Instalacja modułu mod_security .............................................................................
Ogólne informacje na temat modułu ......................................................................
Opcje i możliwości modułu mod_security .............................................................
Techniki przeciwdziałania maskowaniu ataków ....................................................
Specjalne wbudowane procedury sprawdzające ....................................................
Reguły filtrowania ..................................................................................................
Akcje ......................................................................................................................
Pozostałe funkcje ....................................................................................................
Podsumowanie ..............................................................................................................
165
166
166
167
168
169
172
173
176
177
Rozdział 6. Test konfiguracji
— narzędzie CIS Apache Benchmark Scoring Tool .......................... 179
Pobranie, rozpakowanie i uruchomienie aplikacji ........................................................
Rozpakowanie archiwum .......................................................................................
Uruchomienie programu ........................................................................................
Podsumowanie ..............................................................................................................
Współautorzy dokumentu .............................................................................................
Charakterystyka dokumentu WASC ............................................................................
Cele .........................................................................................................................
Wykorzystanie dokumentacji .................................................................................
Przegląd ..................................................................................................................
Tło ..........................................................................................................................
Klasy ataków ................................................................................................................
Format podrozdziałów ............................................................................................
Uwierzytelnianie ...........................................................................................................
Metoda siłowa ........................................................................................................
Niedostateczne uwierzytelnienie ............................................................................
Niedoskonały mechanizm odzyskiwania haseł ......................................................
Autoryzacja ...................................................................................................................
Predykcja danych uwierzytelniających (danych sesji) ...........................................
Niedostateczna autoryzacja ....................................................................................
Niewłaściwe wygasanie sesji .................................................................................
Ustawienie sesji ......................................................................................................
Ataki na jednostki klienckie .........................................................................................
Podmiana treści ......................................................................................................
Wykonywanie kodu w ramach witryny .................................................................
Wykonywanie poleceń .................................................................................................
Przepełnienie bufora ...............................................................................................
Atak z wykorzystaniem ciągu formatującego ........................................................
Wstrzyknięcie danych LDAP .................................................................................
Wykonanie poleceń systemu operacyjnego ...........................................................
Wstrzyknięcie instrukcji SQL ................................................................................
Wstrzyknięcie instrukcji SSI ..................................................................................
Wstrzyknięcie instrukcji XPath ..............................................................................
Ujawnienie informacji ..................................................................................................
Indeksowanie katalogu ...........................................................................................
Wyciek informacji ..................................................................................................
Manipulacja ścieżkami ...........................................................................................
Przewidywanie położenia zasobów ........................................................................
Ataki logiczne ...............................................................................................................
Zakłócenie funkcjonowania ...................................................................................
Odmowa obsługi ....................................................................................................
180
181
182
186
188
188
189
189
189
190
190
191
192
192
196
198
200
200
202
204
205
209
209
211
213
213
218
220
222
224
229
230
231
232
235
237
240
241
241
244
Rozdział 7. Klasyfikacja zagrożeń sieciowych WASC ...................................... 187
Zgłoś jeśli naruszono regulamin