Eschweiler / Atencio Psille | Security@Work | E-Book | www.sack.de
E-Book

E-Book, Deutsch, 334 Seiten

Reihe: X.systems.press

Eschweiler / Atencio Psille Security@Work

Pragmatische Konzeption und Implementierung von IT-Sicherheit mit Lösungsbeispielen auf Open-Source-Basis
2006
ISBN: 978-3-540-36226-5
Verlag: Springer Berlin Heidelberg
Format: PDF
Kopierschutz: 1 - PDF Watermark

Pragmatische Konzeption und Implementierung von IT-Sicherheit mit Lösungsbeispielen auf Open-Source-Basis

E-Book, Deutsch, 334 Seiten

Reihe: X.systems.press

ISBN: 978-3-540-36226-5
Verlag: Springer Berlin Heidelberg
Format: PDF
Kopierschutz: 1 - PDF Watermark



Die Autoren erläutern die konzeptionellen und technischen Grundlagen des Themas IT-Sicherheit anhand anschaulicher Beispiele. Im Fokus stehen dabei die praktische Verwendbarkeit realitätsnaher Konzepte und Techniken. Hierzu werden ebenfalls aktuelle Standards erläutert und eingebunden. Um die Komplexität des Themas und seine Abhängigkeiten darzustellen, werden die Integration der einzelnen Bausteine sowie der Betrieb eines solchen Verbundes von IT-Komponenten sowohl aus technischer als auch administrativer Sicht und unter dem Aspekt der Integration in eine organisationsweite IT-Infrastruktur betrachtet. Das Buch bietet technisch versierten Einsteigern und Administratoren eine umfassende Grundlage für die weitergehende Auseinandersetzung mit dem Thema IT-Sicherheit.

Jörg Eschweiler ist langjähriger IT-Berater und Trainer mit den Schwerpunkten Systems Management und Projektleitung. Er engagiert sich nebenberuflich in Organisationen zur Entwicklung und Pflege von Projektmanagement-Methoden. Daniel E. Atencio Psille ist langjähriger IT-Berater mit den Schwerpunkten Systeme und Sicherheit. Er engagiert sich nebenberuflich für Debian GNU/Linux sowie im Rahmen einer Vereinigung von Mietserverbetreibern.

Eschweiler / Atencio Psille Security@Work jetzt bestellen!

Weitere Infos & Material


1;Vorwort;7
2;Inhaltsverzeichnis;9
3;1 Einleitung;14
3.1;1.1 Für wen dieses Buch interessant ist;15
3.2;1.2 Warum dieses Buch entstand;15
3.3;1.3 Was dieses Buch leistet;16
3.4;1.4 Was dieses Buch nicht bietet;18
3.5;1.5 Wie dieses Buch gelesen werden sollte;18
3.6;1.6 Konventionen im Buch;19
3.7;1.7 Randgedanken;19
4;Teil I Einführung in das Thema ”IT-Sicherheit“;22
4.1;2 Was ist ”IT-Sicherheit“?;24
4.1.1;2.1 Versuch einer Herleitung;25
4.1.1.1;2.1.1 ”Sicherheit“ im Alltag;25
4.1.1.2;2.1.2 ”IT“;28
4.1.2;2.2 Sicherheitsgrundbedürfnisse;32
4.1.2.1;2.2.1 Verfügbarkeit;32
4.1.2.2;2.2.2 Verlässlichkeit;33
4.1.2.3;2.2.3 Vertraulichkeit;35
4.1.3;2.3 Begriffsdefinition;35
4.2;3 IT-Sicherheit im Kontext;38
4.2.1;3.1 Der allgemeine Kontext;38
4.2.2;3.2 Schutzbedarf;39
4.2.3;3.3 Schutzziele;41
4.2.3.1;3.3.1 Integrität;43
4.2.3.2;3.3.2 Verfügbarkeit;43
4.2.3.3;3.3.3 Vertraulichkeit;44
4.2.3.4;3.3.4 Weitere Zielsetzungen;44
4.2.4;3.4 Schutzmaßnahmen;45
4.2.4.1;3.4.1 Konfiguration;46
4.2.4.2;3.4.2 Überwachung;46
4.2.4.3;3.4.3 Alarmierung;48
4.2.4.4;3.4.4 Reaktion;52
4.3;4 Ideen für eine Laborumgebung;56
4.3.1;4.1 Logische Struktur;57
4.3.1.1;4.1.1 Netzwerkzone DMZ;58
4.3.1.2;4.1.2 Netzwerkzone LAN;60
4.4;5 Bedrohungen;62
4.4.1;5.1 Motivation der Angreifer;62
4.4.1.1;5.1.1 Habgier;63
4.4.1.2;5.1.2 Neugier;64
4.4.1.3;5.1.3 Spionage;65
4.4.1.4;5.1.4 Vergeltung/Sabotage;66
4.4.1.5;5.1.5 Konspiration;67
4.4.2;5.2 Das Ebenenmodell der Bedrohungsarten;68
4.4.2.1;5.2.1 Anwendungsebene;70
4.4.2.2;5.2.2 Protokollebene;70
4.4.2.3;5.2.3 Ressourcenebene;72
4.4.3;5.3 Technische Bedrohungskategorien;73
4.4.3.1;5.3.1 Denial of Service;73
4.4.3.2;5.3.2 Code Injection;77
4.4.3.3;5.3.4 Spoofing und Session Hijacking;81
4.4.3.4;5.3.5 Poisoning;88
4.4.3.5;5.3.6 Flooding;88
4.4.3.6;5.3.7 Malicious Content;89
4.4.3.7;5.4 Social Engineering;94
4.4.3.8;5.5 Zusammenfassung;95
5;Teil II Methodische Grundlagen zur Modellierung und Umsetzung von IT-Sicherheit;98
5.1;6 Anforderungsableitung und -definition;102
5.1.1;6.1 Einleitung;102
5.1.2;6.2 Exkurs: Bundesdatenschutzgesetz (BDSG);102
5.1.3;6.3 Ausgangssituation;104
5.1.4;6.4 Analyse von Organisation- und IT-Struktur;106
5.1.5;6.5 Anregungen;108
5.2;7 Sicherheitsanalyse;110
5.2.1;7.1 Einleitung;110
5.2.2;7.2 Zielsetzung;110
5.2.3;7.3 Vorgehensweise;111
5.2.4;7.4 Ist-Erhebung;111
5.2.5;7.5 Schutzbedarfserhebung;112
5.2.5.1;7.5.1 Ableitung von Schutzbedarfskategorien;112
5.2.5.2;7.5.2 Festlegung des Schutzbedarfs;112
5.2.6;7.6 Ableitung Soll-Modell;113
5.2.6.1;7.6.1 IT-Sicherheitsrichtlinie / Security-Policy;113
5.2.6.2;7.6.2 Priorisierung;115
5.2.6.3;7.6.3 Zuordnung von Maßnahmen;116
5.2.6.4;7.6.4 Restrisikoanalysen;116
5.2.7;7.7 Ergebnisumfang;117
5.3;8 Anwendung der Sicherheitsanalyse;120
5.3.1;8.1 Einführung;120
5.3.2;8.2 Vorgehen;120
5.3.3;8.3 Bedrohungs- und Gefahrenpotentialanalyse;120
5.3.4;8.4 Sicherheitscheck;122
5.3.5;8.5 Ableitung Handlungsbedarf;122
5.4;9 Überprüfung und Bewertung von IT-Sicherheit;124
5.4.1;9.1 Vorbemerkungen;124
5.4.2;9.2 Prüfung ist notwendig, Evaluierung nutzbringender!;124
5.4.3;9.3 Assessments;126
5.4.3.1;9.3.1 Self-Assessment;126
5.4.3.2;9.3.2 Vulnerability-Assessment;126
5.4.3.3;9.3.3 Penetration-Assessment;126
5.4.3.4;9.3.4 Risk-Assessment;127
5.4.4;9.4 Audits;127
5.4.4.1;9.4.1 Internes Audit;127
5.4.4.2;9.4.2 Externes Audit;127
5.4.5;9.5 Möglichkeiten einer Tool-Unterstützung;128
5.5;10 IT-Sicherheitskonzept;130
5.5.1;10.1 Überblick;130
5.5.1.1;10.1.1 Kapitel 1 und 2 – Administrativa und Überblick;131
5.5.1.2;10.1.2 Kapitel 3 – Fokus;132
5.5.1.3;10.1.3 Kapitel 4 – Systemarchitektur;132
5.5.1.4;10.1.4 Kapitel 5 – Schutzbedarf;133
5.5.1.5;10.1.5 Kapitel 6 – Anzuwendende Vorgaben;134
5.5.1.6;10.1.6 Kapitel 7 – Anforderungen;134
5.5.1.7;10.1.7 Kapitel 8 – Implementierungsvorgaben;136
5.5.1.8;10.1.8 Kapitel 9 – Restrisiken;137
5.5.1.9;10.1.10 Sonstige Konzepte und Querverweise;139
5.5.2;10.2 Exkurs: Erstrealisierung von IT-Sicherheit;141
5.6;11 Standards zur IT-Sicherheit und Regulatory Compliance;142
5.6.1;11.1 Was hat IT-Sicherheit mit Regulatory Compliance zu tun?;142
5.6.2;11.2 Regulatory Compliance;143
5.6.2.1;11.2.1 Allgmeine Gesetze und Regelungen in der BRD;143
5.6.2.2;11.2.2 Fachspezi.sche Gesetze und Regelungen in der BRD;145
5.6.2.3;11.2.3 Ausl¨andische Gesetze und Regelungen;148
5.6.2.4;11.2.4 Allgemeine Standards;151
5.6.3;11.3 Standards zur IT-Sicherheit;152
5.6.3.1;11.3.1 ISO-Standards;152
5.6.3.2;11.3.2 BSI-Standards;154
5.6.4;11.4 Weitere Technologie- und Methodenstandards mit Bezug zur IT-Sicherheit;157
5.6.4.1;11.4.1 Querschnittliche Methoden und Standards;157
5.6.4.2;11.4.2 NIST-Methoden und -Standards;161
5.6.4.3;11.4.3 Open Source Community / Freie Projekte;163
6;Teil III Etablierung einer Grundabsicherung;165
6.1;12 Methodische Vorgehensweise zur Umsetzung technischer Maßnahmen;166
6.1.1;12.1 Konzeption und PoC;168
6.1.2;12.2 Implementierung und Ausbringung;173
6.1.3;12.3 Betrieb;173
6.2;13 Grundlagen zur Härtung von Systemen;176
6.2.1;13.1 Zielsetzung;178
6.2.2;13.2 Betriebskonzeption;178
6.2.3;13.3 Konzeptionelle H¨artung des Betriebssystems;180
6.2.3.1;13.3.1 Ressourcenverwaltung;181
6.2.3.1.1;13.3.2 Der Kernel;184
6.2.3.1.2;13.3.3 Benutzerverwaltung;193
6.2.3.1.3;13.3.4 Berechtigungskonzepte;196
6.2.3.1.4;13.3.5 Installation;203
6.2.4;13.4 Konzeptionelle H¨artung systemnaher Dienste;208
6.2.5;13.5 Virtualisierung;211
6.2.5.1;13.5.1 LPAR;212
6.2.5.2;13.5.2 chroot;212
6.2.5.3;13.5.3 jails, UML, vserver;213
6.2.5.4;13.5.4 Virtuelle Hardware;214
6.2.5.5;13.5.5 Einsatzgebiete;214
6.3;14 Grundlagen zur Absicherung von Netzen;216
6.3.1;14.1 Netzwerkgrundlagen;219
6.3.1.1;14.1.1 Das ISO/OSI-Modell;220
6.3.2;14.2 Ethernet;223
6.3.2.1;14.2.1 Zugang zum Medium;223
6.3.2.2;14.2.2 Adressierung;225
6.3.2.3;14.2.3 Zugriffskontrolle;227
6.3.2.4;14.2.4 Zusammenfassung;228
6.3.3;14.3 TCP/IP;229
6.3.4;14.4 Übergreifende Absicherung von Netzen und Datenverkehr;230
6.3.4.1;14.4.1 Anbindung von Systemen an Netze;230
6.3.4.2;14.4.2 Absicherung von Endger¨aten auf Systemebene;232
6.3.4.3;14.4.3 Absicherung von Netzwerkverkehr;235
6.3.4.4;14.4.4 Absicherung des Zugangs zu Diensten und Anwendungen;237
6.3.4.5;14.4.5 Datentransfer und -haltung auf Anwendungsebene;239
6.3.4.6;14.4.6 Gedanken zum integrierten Betrieb;240
6.4;15 Querschnittsbetrachtungen zur Absicherung des Betriebs;242
6.4.1;15.1 Best Practices;242
6.4.1.1;15.1.1 NTARS;243
6.4.1.2;15.1.2 Think Twice;244
6.4.1.3;15.1.3 Konfigurationsänderungen;244
6.4.1.4;15.1.4 Installationen;245
6.4.1.5;15.1.5 Informationsbescha.ung;246
6.4.1.6;15.1.6 Gesunde Paranoia;246
6.4.2;15.2 Systems Management;247
6.4.2.1;15.2.1 Monitoring;247
6.4.2.2;15.2.2 Event Management und Resolution;248
6.4.2.3;15.2.3 Con.guration Management;249
6.4.2.4;15.2.4 Software Distribution;250
6.4.3;15.3 Dokumentation;252
6.4.3.1;15.3.1 Inhalte;253
6.4.3.2;15.3.2 Umfang;254
6.4.3.3;15.3.3 Aufbau und Form;255
6.4.3.4;15.3.4 Ablage;256
6.4.4;15.4 Information Flow Control;258
6.4.5;15.5 ”Externe“;260
6.4.5.1;15.5.1 Dienstleister;261
6.4.5.2;15.5.2 Mitarbeiter;262
6.4.6;15.6 Worst Practices;264
6.4.6.1;15.6.1 Security by Obscurity;264
6.4.6.2;15.6.2 Sorglosigkeit;265
6.4.6.3;15.6.3 Inselmentalit¨at;266
7;Teil IV Absicherung von Peripheriediensten;268
7.1;16 Überblick und Szenarien;270
7.1.1;16.1 Uberblick;270
7.1.2;16.2 Szenarien;271
7.2;17 Datensicherung;272
7.2.1;17.1 Allgemeine Anforderungen und Lösungen;272
7.2.1.1;17.1.1 Methoden und Verfahren zur Datensicherung;273
7.2.1.2;17.1.2 Datenhaltung und Kategorien von Daten;275
7.2.2;17.2 Anforderungen an Datensicherungsimplementierungen;275
7.2.2.1;17.2.1 Kommunikationswege;276
7.2.2.2;17.2.2 Verschlüsselung von Datensicherungsdaten;276
7.2.2.3;17.2.3 Datensicherungsserver;277
7.2.2.4;17.2.4 Datensicherungsklient;278
7.2.2.5;17.2.5 Datenhaltung;279
7.3;18 Verzeichnisdienste;280
7.3.1;18.1 Historie und Einsatzfelder;280
7.3.1.1;18.1.1 System- und Benutzerverwaltung;281
7.3.1.2;18.1.2 Rollen- und Berechtigungsverwaltung im Anwendungsumfeld;282
7.3.1.3;18.1.3 Benutzeranmeldung;282
7.3.1.4;18.1.4 Verwaltung von Metadaten;284
7.3.1.5;18.1.5 Next Generation Tools: Access und Identity Management;284
7.3.1.6;18.1.6 Zertifikate und Verzeichnisdienste;285
7.3.2;18.2 Architekturempfehlungen hinsichtlich Betriebsf uhrung;286
7.3.2.1;18.2.1 Datenladung und Platzierung von Verzeichnisdiensten;286
7.3.2.2;18.2.2 Kommunikation mit Verzeichnisdiensten;286
7.4;19 RDBMS;288
7.4.1;19.1 Betriebssysteme und Datenbanken;289
7.4.2;19.2 Kommunikation mit Datenbanken über Schnittstellen;290
7.4.3;19.3 Datenhaltung und Zugri.;290
7.4.4;19.4 Kryptologie im RDBMS-Umfeld;291
7.5;20 Interpretersprachen zur Web-Ausgabe;292
7.5.1;20.1 Mögliche Schwachstellen;293
7.5.1.1;20.1.1 Allgemeines;293
7.5.1.2;20.1.2 Vulnerabilities des PHP-Interpreter;293
7.5.1.3;20.1.3 Benutzereingaben;294
7.5.1.4;20.1.4 Dateinamen;294
7.5.1.5;20.1.5 Variante 1: Lokale Dateien;294
7.5.1.6;20.1.6 Variante 2: Entfernte Dateien;295
7.5.1.7;20.1.7 Eingabe von Werten mittels eval();295
7.5.1.8;20.1.8 Umgebungs- und Laufzeitvariablen;296
7.5.1.9;20.1.9 Aufruf externer Programme;297
7.5.1.10;20.1.10 Datenbankzugri.e;298
7.5.2;20.2 Übergreifende Lösungsansätze;298
7.5.2.1;20.2.1 Allgemeine PHP-Kon.guration;299
7.5.2.2;20.2.2 PHP Safe Mode;300
7.5.2.3;20.2.3 Include-Dateien;301
7.5.2.4;20.2.4 Auslagern von sensitiven Daten;302
7.5.2.5;20.2.5 Filterung von Benutzereingaben;302
7.5.2.6;20.2.6 Handhabung von Benutzersitzungen;303
7.5.2.7;20.2.7 HTTP-Authentisierung;303
7.5.2.8;20.2.8 Credential-Authentisierung;304
7.5.2.9;20.2.9 Verfolgung von Benutzeraktivitäten;305
7.5.2.10;20.2.10 Berechtigungssysteme;305
7.6;21 Web Application Server;308
7.6.1;21.1 Einleitung;308
7.6.2;21.2 Plattform;308
7.6.3;21.3 Technische Aspekte zur Absicherung;310
7.6.3.1;21.3.1 Dislozierung in Netzwerkzonen;310
7.6.3.2;21.3.2 J2EE-Server;310
7.6.3.3;21.3.3 CVS und Entwicklungstools;311
7.6.4;21.4 Betriebliche Aspekte zur Absicherung;311
7.6.4.1;21.4.1 Transportwesen und Release Management;311
7.6.4.2;21.4.2 Überwachung Laufzeitverhalten;312
7.6.4.3;21.4.3 Security by Policy;312
7.7;22 Exkurs: Technische Sicherheit von Web-Inhalten;314
7.7.1;22.1 Aktive Inhalte;315
7.7.1.1;22.1.1 Java-Applets;315
7.7.1.2;22.1.2 JavaScript;317
7.7.1.3;22.1.3 ActiveX und Visual Basic Script;318
7.7.1.4;22.1.4 Macromedia Flash und sonstige Plug-ins;319
7.7.2;22.2 Dynamische Inhalte;320
8;Teil V Spezielle Sicherheitsdienste;323
8.1;23 Betrachtung spezieller Sicherheitsdienster;325
8.2;24 Proxy-Dienste;326
8.2.1;24.1 Grundfunktionalität;326
8.3;25 Content-Filter;328
8.3.1;25.1 Funktionsweise;328
8.4;26 Eindringlingserkennung;330
8.4.1;26.1 Arten von IDS;330
8.4.1.1;26.1.1 Network Based IDS;330
8.4.1.2;26.1.2 Host Based IDS;331
8.4.1.3;26.1.3 Web Based IDS;331
8.4.1.4;26.1.4 Grundlegende Architektur;331
8.4.2;26.2 Funktionsweisen;332
8.4.2.1;26.2.1 Signaturerkennung;332
8.4.2.2;26.2.2 Anomalieerkennung;332
8.4.2.3;26.2.3 Wirtschaftlichkeit versus Motivation;333
9;Teil VI Abschluss;335
9.1;27 Reflexion und Ausblick;336
10;Teil VII Anhänge;338
11;Literaturverzeichnis;340
12;Sachverzeichnis;342


20 Interpretersprachen zur Web-Ausgabe (S. 279-280)

In diesem Kapitel beschäftigen wir uns mit IT-Sicherheit im Hinblick auf (Web-)Skriptsprachen. Dabei wurde PHP (PrettyHomePage Hypertext Processor) als Beispiel gewählt, da es sich hier um eine mittlerweile recht stabile Version einer solchen Sprache handelt, sie über eine Fülle von Funktionalitäten verfügt und der Einsatz im Feld recht weit verbreitet ist. Entsprechend liegt es in der Natur der Dinge, dass statistisch gesehen PHP-basierte Websitesöfters Opfer von Angriffen werden.

Skriptsprachen wie PHP werden meist eingesetzt, um dynamische Webseiten zu schaffen, wozu ebenfalls einige Features aus bekannten, aber eher klassischen Sprachen wie Perl, C oder auch Java entliehen wurden. Je kraftvoller und funktionsreicher ein solches Werkzeug ist, umso mehr Möglichkeiten für Fehlfunktionen, suboptimales Design und daraus resultierenden Problemen bietet es. Insbesondere kommt bei Web-Skriptsprachen wie PHP oftmals zum Tragen, dass die Benutzer zwar mit HTML etc. und Grundlagen der Programmierung vertraut sind, aber nicht unbedingt mit Design- und Coding-Grundsätzen aus der klassischen Programmierung. Entsprechend gilt es, einige potentielle Sicherheitsprobleme mit optimiertem Design oder auch Programmierverfahren im Keim zu ersticken, anstatt die (Er-)Lösung in weiteren Features oder Zusätzen zu suchen!

Durch Beachtung einiger Regeln und Gedanken zur sicheren Programmierung kann auch beim Einsatz von Tools wie PHP das Risiko von Sicherheitslöchern oder deren Kompromittierung signifikant gesenkt werden. Auf den folgenden Seiten werden also weniger "Kernel Hacker’s Coding Hints" als vielmehr praktische Erfahrungen (beziehungsweise Lehren daraus) und Designaspekte im Vordergrund stehen. Klar, dass sich diese Aspekte auch auf andere Sprachen wie z.B. Python, regul¨are CGIs etc. übertragen lassen.

20.1 Mögliche Schwachstellen
20.1.1 Allgemeines

Um die folgenden Betrachtungen aus Sicht der IT-Sicherheit, aber auch allgemeiner Systemadministration besser einschätzen zu können, sei der werten Leserschaft angeraten, Folgendes im Hinterkopf zu halten: Prinzipell bietet PHP zwei verschiedene Ausführungsmodi: einmal als CGI-Applikation und einmal als in den Webserver integriertes Modul. Unabhängig vom gewählten Modus verfügt der im System installierte und laufende PHP-Interpreter (unabhängig vom Betriebssystem) über das Potential, zur Laufzeit auf jeden Teil des Systems zugreifen zu können. Dies bedeutet, Prozesssystem, Dateisysteme, Netzwerkverbindungen etc. stehen zur Verfügung – auch beziehungsweise gerade im Falle eines Missbrauchs! Um also Risiko und Auswirkung von Attacken oder Fehlfunktionen eingrenzen zu können, sollten sich Programmierer und Administrator darüber im Klaren sein, was zur Laufzeit der Programme im Rahmen deren Ausf¨uhrung, aber auch auf Ebene der genutzten Schnittstellen passieren kann. Das ist natürlich in Anbetracht der doch mitunter recht komplexen Softwaresysteme auf PHP-Basis nicht trivial. Dies bedingt erst recht eine ordentliche konzeptionelle Grundlage, um Ursachen – sofern möglich – proaktiv eliminieren zu könen und nicht späer "nur" Symptome oder Auswirkungen eingrenzen zu müssen.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.