Joomla Zabezpieczanie witryn(1).pdf

(446 KB) Pobierz
Joomla! Zabezpieczanie
witryn
Autor: Tom Canavan
T³umaczenie: Roman Gryzowski, Tomasz Walczak
ISBN: 978-83-246-2197-2
Tytu³ orygina³u:
Joomla! Web Security
Format: 170×230, stron: 248
Zabezpiecz stronê opart¹ o Joomla!
• Na co nale¿y zwróciæ uwagê przy wyborze firmy hostingowej?
• Jak wykorzystaæ potencja³ plików .htaccess i php.ini?
• Jak reagowaæ na ataki hakerów?
Nikomu nie trzeba jej przedstawiaæ – Joomla! to wiod¹cy system zarz¹dzania treœci¹.
Wœród jej zalet warto wymieniæ ³atwoœæ instalacji i konfiguracji, dostêpnoœæ wielu
dodatków oraz cenê – jest to system darmowy. Jednak¿e z tej popularnoœci wynika te¿
pewna zasadnicza wada. Mianowicie Joomla! jest ³akomym k¹skiem dla internetowych
w³amywaczy.
Dziêki tej ksi¹¿ce dowiesz siê, jak zabezpieczyæ swoj¹ stronê, opart¹ o ten system,
przed ich dzia³aniem. Podrêcznik w kompleksowy sposób opisuje wszystkie zagadnienia
zwi¹zane z bezpieczeñstwem Joomla! – pocz¹wszy od wyboru firmy, na której serwerach
umieœcisz swoj¹ stronê, a skoñczywszy na tworzeniu polityki reagowania na ataki.
Ponadto podczas lektury zdobêdziesz ogrom wiedzy na temat dostêpnych narzêdzi,
metodologii ataków oraz konfiguracji za pomoc¹ plików .htaccess i php.ini. Wœród
poruszanych tematów znajdziesz równie¿ te poœwiêcone logom serwera i wykorzystaniu
szyfrowanego kana³u komunikacyjnego SSL. Ksi¹¿ka ta jest obowi¹zkow¹ lektur¹ dla
wszystkich administratorów stron internetowych opartych o system Joomla! – zarówno
tych ma³ych, jak i korporacyjnych.
• Hosting – na co zwróciæ uwagê
• Wykorzystanie œrodowiska testowego do prowadzenia badañ nad bezpieczeñstwem
• Dostêpne narzêdzia oraz ich przeznaczenie
• Luki w systemie
• Instalacja poprawek
• Ataki typu „wstrzykniêcie kodu” oraz „RFI”
• Techniki wykorzystywane przez w³amywaczy
• Konfiguracja systemu za pomoc¹ plików .htaccess oraz php.ini
• Logi serwera – sposoby na zdobycie wiedzy o systemie
• Wdra¿anie SSL
• Zarz¹dzanie incydentami
Zapewnij bezpieczeñstwo Twojej witrynie!
Spis treści
O autorze
O redaktorze
Przedmowa
Rozdział 1. Zaczynamy
Wprowadzenie
Powszechnie używana terminologia
Wybór hostingu dostosowanego do potrzeb
Co to jest firma hostingowa?
Wybieranie firmy hostingowej
Pytania, jakie należy zadać przyszłemu dostawcy usług hostingowych
Pomieszczenia
O co zapytać dostawcę hostingu w kwestiach bezpieczeństwa?
Pytania dotyczące warunków w pomieszczeniach
Monitorowanie i ochrona lokalizacji
Instalowanie poprawek a bezpieczeństwo
Hosting współdzielony
Hosting dedykowany
Planowanie instalacji Joomla!
Jakiemu celowi ma służyć Twoja witryna?
Jedenaście kroków do udanej architektury witryny
Pobieranie systemu Joomla!
Ustawienia
.htaccess
Uprawnienia
Zarządzanie użytkownikami
Typowe błędy
Ustanawianie parametrów bezpieczeństwa
Podsumowanie
9
11
13
17
17
18
19
19
19
20
20
21
21
22
22
23
25
26
26
27
29
30
33
34
35
35
38
45
Spis treści
Rozdział 2. Testowanie i rozwijanie witryny
Witaj w laboratorium!
Środowisko
testowe
Jaki to ma związek z zabezpieczeniami?
Błędne koło aktualizowania
Tworzenie planu testów
Wykorzystanie
środowiska
testowego w planowaniu działań na wypadek awarii
Tworzenie dobrej dokumentacji
Korzystanie z systemu zarządzania tworzeniem oprogramowania
Raportowanie
Ravenswood Joomla! Server
Uruchamianie
Podsumowanie
47
48
48
49
49
52
54
55
58
60
62
63
64
Rozdział 3. Narzędzia
Wprowadzenie
Narzędzia, narzędzia i jeszcze raz narzędzia
HISA
Joomla! Tools Suite with Services
Jak zdrowie?
Nmap — narzędzie do mapowania sieci ze strony insecure.org
Wireshark
Metasploit — zestaw narzędzi do testów penetracyjnych
Nessus — skaner luk
Podsumowanie
65
65
66
66
72
73
80
82
85
87
89
Rozdział 4. Luki
91
Wprowadzenie ................................................................................................................................. 91
Instalowanie poprawek jest nieodzowne ...................................................................................... 93
Czym jest luka? ................................................................................................................................ 94
Luki związane z uszkodzeniem zawartości pamięci ....................................................... 95
Wstrzyknięcie kodu SQL ................................................................................................ 97
Ataki przez wstrzyknięcie poleceń ................................................................................. 99
Dlaczego pojawiają się luki? ....................................................................................... 100
Co można zrobić, aby zapobiec lukom? ...................................................................... 100
Odmowa dostępu ....................................................................................................... 103
Niewłaściwe formatowanie zmiennych i niebezpiecznych danych wejściowych ........ 103
Brak testów w zróżnicowanym
środowisku
................................................................ 104
Testowanie w różnych wersjach baz SQL .................................................................... 104
Współdziałanie z rozszerzeniami niezależnych producentów ......................................... 104
Użytkownicy końcowi .................................................................................................................... 105
Socjotechnika ............................................................................................................. 105
Nieregularne instalowanie poprawek i aktualizacji ..................................................... 106
Podsumowanie .............................................................................................................................. 107
4
Spis treści
Rozdział 5. Anatomia ataków
Wprowadzenie
Wstrzyknięcie kodu SQL
Testowanie odporności witryny na wstrzyknięcie kodu SQL
Kilka metod zapobiegania wstrzyknięciu kodu SQL
Metoda zapobiegania wstrzyknięciu kodu SQL zalecana przez PHP.NET
Ataki RFI
Najprostszy atak
Co możemy zrobić,
żeby
powstrzymać atak?
Zapobieganie atakom RFI
Podsumowanie
109
110
110
114
114
115
116
118
118
122
123
Rozdział 6. Jak to robią „źli chłopcy”?
Obecne regulacje prawne
Namierzanie celu
Poznawanie celu
Narzędzia do wykrywania luk
Nessus
Nikto — skaner luk o otwartym dostępie do kodu
źródłowego
Acunetix
Nmap
Wireshark
Ping Sweep
Firewalk
Angry IP Scanner
Cyfrowe graffiti a prawdziwe ataki
Wyszukiwanie celów ataku
Co możesz zrobić?
Przeciwdziałanie
Co zrobić, jeśli firma hostingowa nie jest skłonna do współpracy?
Co zrobić, jeśli ktoś włamał się do mojej witryny i ją oszpecił?
Co zrobić, jeśli napastnik umieścił na serwerze rootkita?
Słowo na zakończenie
Podsumowanie
125
126
127
128
131
131
132
132
133
134
134
134
135
137
144
144
145
146
146
147
147
148
Rozdział 7. Pliki php.ini i .htaccess
Plik .htaccess
Zmniejszanie transferu danych
Wyłączanie sygnatury serwera
Zapobieganie dostępowi do pliku .htaccess
Zapobieganie dostępowi do jakiegokolwiek pliku
Zapobieganie dostępowi do plików różnych typów
Zapobieganie nieuprawnionemu przeglądaniu katalogów
Ukrywanie rozszerzeń skryptów
Ograniczanie dostępu do sieci LAN
Udostępnianie katalogów na podstawie adresu IP i (lub) domeny
149
150
151
151
151
151
152
152
153
153
153
5
Spis treści
Blokowanie dostępu i zezwalanie na dostęp do domeny
na podstawie przedziału adresów IP
Blokowanie hotlinkingu i zwracanie materiałów zastępczych
Blokowanie robotów, programów typu site ripper, przeglądarek
offline i innych „szkodników”
Pliki, katalogi i inne elementy chronione hasłem
Aktywowanie trybu SSL za pomocą pliku .htaccess
Automatyczne ustawianie uprawnień do plików różnych typów
Ograniczanie wielkości plików w celu ochrony witryny przed atakami
przez odmowę usługi (DoS)
Niestandardowe strony błędów
Udostępnianie uniwersalnej strony błędu
Zapobieganie dostępowi w określonych godzinach
Przekierowywanie
żądań
z danym
łańcuchem
znaków pod określony adres
Wyłączanie ustawienia magic_quotes_gpc na serwerach z obsługą PHP
Plik php.ini
Czym jest plik php.ini?
Jak przebiega odczytywanie pliku php.ini?
Podsumowanie
154
154
155
157
160
160
161
161
162
162
162
163
164
164
164
166
Rozdział 8. Pliki dziennika
Czym dokładnie są pliki dziennika?
Nauka czytania logów
A co z tym?
Kody stanu w HTTP 1.1
Analizowanie plików dziennika
Łańcuchy
znaków z nazwą agenta
Blokowanie przedziałów adresów IP z danego kraju
Skąd pochodzi napastnik?
Konserwowanie plików dziennika
Etapy konserwowania plików dziennika
Narzędzia do przeglądania plików dziennika
BSQ-SiteStats
JoomlaWatch
AWStats
Podsumowanie
167
168
169
170
172
175
176
177
177
178
179
180
180
181
181
182
Rozdział 9. SSL w witrynach opartych na Joomla!
Czym jest technologia SSL (TLS)?
Używanie SSL do nawiązywania zabezpieczonych sesji
Certyfikaty autentyczności
Uzyskiwanie certyfikatów
Procedura wdrażania SSL
SSL w systemie Joomla!
Kwestie związane z wydajnością
Inne zasoby
Podsumowanie
183
184
185
186
187
188
188
190
191
191
6
Zgłoś jeśli naruszono regulamin