Eschweiler / Atencio Psille Security@Work
2006
ISBN: 978-3-540-36226-5
Verlag: Springer
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, eBook
Reihe: X.systems.press
ISBN: 978-3-540-36226-5
Verlag: Springer
Format: PDF
Kopierschutz: 1 - PDF Watermark
Zielgruppe
Professional/practitioner
Autoren/Hrsg.
Weitere Infos & Material
Einführung in das Thema „IT-Sicherheit“.- Was ist „IT-Sicherheit“?.- IT-Sicherheit im Kontext.- Ideen für eine Laborumgebung.- Bedrohungen.- Methodische Grundlagen zur Modellierung und Umsetzung von IT-Sicherheit.- Anforderungsableitung und -definition.- Sicherheitsanalyse.- Anwendung der Sicherheitsanalyse.- Überprüfung und Bewertung von IT-Sicherheit.- IT-Sicherheitskonzept.- Standards zur IT-Sicherheit und Regulatory Compliance.- Etablierung einer Grundabsicherung.- Methodische Vorgehensweise zur Umsetzung technischer Maßahmen.- Grundlagen zur Härtung von Systemen.- Grundlagen zur Absicherung von Netzen.- Querschnittsbetrachtungen zur Absicherung des Betriebs.- Absicherung von Peripheriediensten.- Überblick und Szenarien.- Datensicherung.- Verzeichnisdienste.- RDBMS.- Interpretersprachen zur Web-Ausgabe.- Web Application Server.- Exkurs: Technische Sicherheit von Web-Inhalten.- Spezielle Sicherheitsdienste.- Betrachtung spezieller Sicherheitsdienster.- Proxy-Dienste.- Content-Filter.- Eindringlingserkennung.- Abschluss.- Reflexion und Ausblick.
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.