Geleitwort | 5 |
Vorwort | 7 |
Inhaltsverzeichnis | 9 |
Abbildungs- und Tabellenverzeichnis | 13 |
1 Ziel dieses Buches | 14 |
2 „Wir sind sicher – Wir haben eine Firewall“ | 16 |
3 Allgemeines zu Web-Servern | 20 |
4 Protokolle, Datenverkehr und Logfiles | 24 |
4.1 HTTP-Header | 24 |
4.2 Protokolldateien des Microsoft Internet Information Services | 26 |
4.3 Protokolldateien des Apache-Servers | 27 |
4.4 Wie funktioniert ein Web-Server | 29 |
5 Zugriffsmethoden (Request Methods) | 32 |
5.1 GET-Methode | 32 |
5.2 HEAD-Methode | 33 |
5.3 POST-Methode | 33 |
5.4 PUT-Methode | 34 |
5.5 DELETE-Methode | 34 |
5.6 LINK-Methode | 34 |
5.7 UNLINK-Methode | 34 |
5.8 TRACE-Methode | 34 |
5.9 OPTIONS-Methode | 35 |
5.10 CONNECT-Methode | 35 |
5.11 Weitere Methoden | 35 |
6 Programmiersprachen im WWW | 36 |
6.1 Perl | 36 |
6.2 PHP | 38 |
6.3 ASP | 39 |
7 Hacker, Tools und Methoden | 44 |
7.1 Abgrenzung: Hacker, Cracker, Angreifer | 44 |
7.2 Typen und Klassifizierungen von Angriffsmethoden | 47 |
7.3 Scanner, Sniffer, Passwortknacker und weitere Tools aus dem Internet | 48 |
7.4 Trojaner | 49 |
8 Penetrations-Test | 52 |
8.1 Was vorher zu beachten wäre | 52 |
8.2 Der Penetrations-Test-Konflikt | 54 |
9 Informationsbeschaffung anhand eines Beispiels | 58 |
9.1 Angriff auf die Webseiten von SCO | 58 |
9.2 Informationsbeschaffung mittels Suchmaschinen am Beispiel Google | 61 |
9.2.1 Informationsbeschaffung Microsoft IIS 6.0 | 61 |
9.2.2 Google Suchanfragen nach verschiedenen Arten und Standardseiten von Web-Servern | 63 |
9.3 ICMP-Echo-Anfragen | 64 |
9.4 Informationen über Netzwerke sammeln | 64 |
9.4.1 Dateistrukturen auf Ihrem Server auflisten nach Eingabe einer falschen URL | 65 |
9.4.2 Informationen zu Applikationen sammeln | 65 |
9.4.3 Informationen über angelegte Ordner, Dateien auf dem Web-Server | 66 |
9.4.4 Stand der installierten Updates und Patches auf dem Server | 68 |
9.4.5 “Out of Office”-Nachrichten per Email | 68 |
10 Der Apache-Web-Server | 72 |
10.1 Architektur des Apache-Web-Server | 72 |
10.2 Multi-Thread und Multi-Prozess Web-Server | 74 |
10.3 Serverlogging und Status beim Apache-Server | 74 |
10.4 Architektur des Apache 2.0 | 75 |
10.5 Sicherheitsperspektiven | 77 |
10.5.1 Installation des Apache unter einem anderen Benutzer | 77 |
10.5.2 Dateisystem des Web-Server absichern | 78 |
10.5.3 Server Limits konfigurieren | 79 |
10.5.4 Verschlüsselung mit SSL | 79 |
10.5.5 Zugriffsbeschränkungen per .htaccess | 80 |
11 Internet Information Services (IIS) 6.0 | 88 |
11.1 Architektur des IIS 6.0 | 88 |
11.2 Integration in Windows | 90 |
11.3 Zugriffsberechtigung und Dienste | 91 |
11.4 Zugriffskontrolllisten – ACL | 93 |
12 Angriffe auf IIS Web-Server | 96 |
12.1 Bekannte Sicherheitsrisiken | 96 |
12.1.1 Lockout-Funktion auf einem Web-Server | 101 |
12.1.2 RPC-DCOM-Verwundbarkeiten | 102 |
13 Angriffe auf Apache-Web-Server | 104 |
13.1 Der PHP XML-RPC-Bug | 104 |
13.2 Pufferüberlauf im Apache Tomcat Connector | 105 |
13.3 Der Angriff auf die Software Foundation Web-Server | 105 |
14 Maßnahmen zur Absicherung | 110 |
14.1 Grundlegende Maßnahmen | 111 |
14.1.1 Updates installierter Systeme und Programme | 111 |
14.1.2 Entfernung aller unnötigen Script-Mappings und Beispieldateien | 113 |
14.1.3 Zugriffsrechte für die Verzeichnisse festlegen | 114 |
14.1.4 Den IIS-Dienst als separaten Dienst laufen lassen | 116 |
14.1.5 Härten des Betriebssystems | 116 |
14.1.6 Konzepte und Vorüberlegungen zur Absicherung | 126 |
14.1.7 Tools und Programme zur Absicherung des Apache-Servers | 126 |
14.1.8 Tools für den Internet Information Service | 131 |
14.1.9 Tools für Apache (Windows/Unix) | 133 |
15 „Wenn es doch passiert ist“ – Was ist nach einem Einbruch zu tun? | 138 |
15.1 Erste Schritte | 139 |
15.2 Spurensicherung | 140 |
15.3 Rechtliche Aspekte der Forensik | 141 |
16 Fazit | 144 |
Anhang | 148 |
Anhang A | 148 |
Anhang B – Apache Response Codes | 150 |
Anhang C – IIS Response Codes | 152 |
Anhang D – Beispielcode bindshell.c | 156 |
Quellenverzeichnis | 158 |
Sachwortverzeichnis | 162 |