O'Reilly logo

PHP-Sicherheit: PHP/MySQL-Webanwendungen sicher programmieren by Stefan Esser, Christopher Kunz

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

1 Einleitung10
und Informationen mit Ihrem System auszutauschen. Hier sollten Ver-
einbarungen vor Missbrauch schützen.
Auch die Sicherheit von Zugangskennungen wird behandelt – dem
Standard folgend, sollten Sie Ihren Benutzern – sei es in einem PHP-
Forum, einem CMS oder einer Administrationsoberfläche – nur exakt
die Privilegien geben, die für die Ausführung der jeweiligen Aufgabe
notwendig sind, und darauf achten, dass Passwörter sicher sind und
geheim bleiben. Temporäre Passwörter, die direkt nach der Registrie-
rung oder auf Anforderung durch den Benutzer vergeben werden, soll-
ten auf einem sicheren Weg (nicht im Klartext per E-Mail, wie leider
meist üblich, sondern möglichst per SSL-geschützter HTTP-Verbin-
dung) übergeben und vom Benutzer sofort geändert werden.
Eine vollständige Besprechung der ISO 17799 bzw. der Nachfolger
dieser Richtlinie würde den Rahmen dieses Buches sprengen. Sie ist
jedoch als Zusammenfassung der Vorgänge und Arbeitsweisen, die
guten Systemadministratoren in Fleisch und Blut übergegangen sind,
eine wertvolle Hilfe. ISO 17799 kann kostenpflichtig im Internet
direkt über den Onlineshop der ISO
7
bestellt werden.
1.6 Wie verkaufe ich Sicherheit?
Wenn Sie dieses Buch lesen, sind Sie vielleicht auf irgendeine Weise
professioneller PHP-Entwickler – entweder als freiberuflicher Pro-
grammierer oder als Angestellter in einem Unternehmen. Möchten Sie
Ihre bestehenden PHP-Anwendungen sichern oder eine neue Anwen-
dung mit besonderem Augenmerk auf die Sicherheit entwickeln, wer-
den Sie feststellen, dass dies mit höherem Aufwand verbunden ist, als
das Skript einfach »herunterzuhacken«. Ihr Auftrag- oder Arbeitgeber
muss diesen Aufwand finanzieren, und Sie müssen begründen können,
warum diese Zusatzkosten zwingend notwendig sind.
Was für Sie völlig einleuchtend sein dürfte – schließlich hätten Sie
sonst nicht dieses Buch gekauft, ist Managern oder Projektleitern oft
leider nicht ganz so leicht zu vermitteln.
Insbesondere in Unternehmen, deren Hauptgeschäftsfeld nicht die
IT ist, ist die »Security Awareness«, also das Sicherheitsbewusstsein,
oft nur ungenügend ausgeprägt. Das äußert sich in Problemen wie per
Post-It-Haftnotiz am Monitor befestigten Passwörtern, aber auch in
einer gewissen Naivität für Applikationssicherheit.
Für Manager zählt hauptsächlich, wie sich eine Ausgabe rechnet:
Ergibt sich nach Gegenrechnung aller Kosten noch immer ein Gewinn
7. http://www.iso.org/
111.6 Wie verkaufe ich Sicherheit?
für das Unternehmen, sind Ausgaben leicht zu vermitteln. Sicherheit
bringt allerdings direkt keine zusätzlichen Umsätze, ist also zunächst
als Kostenfaktor ohne Gewinn einzustufen.
Genauer betrachtet, stimmt das natürlich nicht – das müssen Sie
dem Management vermitteln. Entwickeln Sie ein Softwareprodukt,
das später von Ihrer Firma verkauft oder lizenziert werden soll, ist
Sicherheit ein wichtiges Produktmerkmal, das die Verkäufe äußerst
positiv beeinflussen kann. Setzen Sie webbasierte Anwendungen für
das eigene Unternehmen ein, können Sie Datensicherheit nur dann
gewährleisten, wenn die Anwendung gegen Diebstahl von Sessions,
SQL-Injection und XSS abgeschottet ist.
Der Verlust von Kundendaten kann ernste juristische Konsequen-
zen nach sich ziehen und zum Ruin Ihres Unternehmens führen. So
musste das amerikanische Unternehmen CardSystems im Juni 2005
zugeben, dass die Kreditkartendaten von über 40 Millionen Kunden
durch Hacker gestohlen worden waren.
8
Die Firma führte als soge-
nannter »Third Party Processor« Kreditkartentransaktionen im Auf-
trag von Händlern durch und leitete diese an die Kreditkartenunter-
nehmen weiter.
Da der Diebstahl durch eine Sicherheitslücke im Netzwerk des
Unternehmens und fahrlässiges Verhalten einiger Mitarbeiter möglich
wurde, kündigten daraufhin einige Kreditkartenfirmen ihre Verträge
mit CardSystems und entzogen der Firma dadurch die Grundlage ihrer
Dienstleistungen.
Bei webbasierten Anwendungen ist ein Beispiel für den durch
Sicherheitslücken entstehenden Vertrauensverlust das Portalsystem
phpNuke. Obgleich die Idee und der Funktionsumfang von phpNuke
prinzipiell sehr nützlich sind, hat die Menge an konzeptbedingten
Sicherheitslücken das Open-Source-Projekt so weit diskreditiert, dass
man von einer Installation inzwischen nur noch abraten kann. Auch
das freie Forensystem phpBB hat in letzter Zeit durch viele kritische
Sicherheitslücken, die unter anderem den Wurm »Santy« ermöglich-
ten, von sich reden gemacht – einige Hosting-Firmen verbieten in der
Konsequenz den Einsatz dieses Forums auf ihren Servern.
Verdient Ihr Unternehmen sein Geld mit der Entwicklung und dem
Verkauf webbasierter Applikationen, können solche Boykottaktionen
empfindliche Umsatzeinbußen bedeuten – schon eine auf Security-
Mailinglisten veröffentlichte kritische Lücke wird viele Administrato-
ren davon abhalten, Kaufempfehlungen für Ihr Produkt auszusprechen.
Denn: Wo ein Fehler ist, sind meist noch ein paar ähnliche Schnitzer,
8. http://www.heise.de/newsticker/meldung/60767

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required