Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Installation und Konfiguration  Teil von  Sicherheit
Professional CronJob-Service

Suche

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: SELFPHP Forum ::

Fragen rund um die Themen PHP?
In über 130.000 Beiträgen finden Sie sicher die passende Antwort!  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 
 
Angriffsszenarien

SELFPHP ist Shopware Solution Partner
Shopware ist ein vielfach ausgezeichnetes Onlineshop-System der shopware AG, das auf PHP. Zend Framework und SQL basiert.
SELFPHP unterstützt Sie als Shopware Solution Partner bei der Konzeption, Programmierung und Realisierung Ihres Onlineshops und passt Shopware bei Bedarf an Ihre Unternehmensbedürfnisse an. Weitere Informationen



Angriffe auf Webserver sind häufig und treffen – früher oder später – jeden aktiven Webserver. Inzwischen scheinen nicht nur einige wenige engagierte Hacker Jagd auf bekannte Sites zu machen. Mit den im Internet grassierenden Hacker-Tools und Exploits entwickelt sich eine Art Volkssport. Dabei geht es oftmals um den Lerneffekt und den Spaß an der Sache, keine Site ist unbedeutend und unwichtig genug, um nicht doch zum Opfer werden zu können. Auch wenn keine wichtigen Daten vorhanden sind, kann ein Angriff zu Schäden führen und kostet zumindest die wertvolle Zeit des Systemadministrators.


Parameterattacke

Die Installation als CGI-Programm ist der wichtigste Sicherheitsschritt. Dem steht die Leistung entgegen – CGI ist als universelle Schnittstelle ausgesprochen langsam. Zum Hintergrund ist es wichtig zu wissen, wie die PHP-Binärdateien arbeiten. Generell wird jeder Parameter als Kommandozeilenparameter interpretiert. Dies entspricht dem Aufruf des PHP-Interpreters am Prompt mit PHP. Nun könnte ein Angreifer in seinem Browser die URL wie folgt manipulieren:
www.domain.de/cgi-bin/php?/ect/password
PHP würde den QueryString, die Zeichen nach dem ?-Zeichen, als Kommandozeilenparameter interpretieren und die Kennwortdatei übertragen. Dies ist sicher nicht erwünscht. Im CGI-Modus unterdrückt PHP diese Art der Interpretation selbst und kopiert den QueryString in eine entsprechende Variable.


Pfadattacke

Das nächste Problem stellen manipulierte Pfade dar. Normalerweise kann ein Benutzer aus dem Internet nicht auf Pfade des Webservers zugreifen, die nicht explizit freigegeben wurden, entweder unter htdocs (Apache) oder wwwroot (IIS). Ist PHP im /cgi-bin-Verzeichnis erreichbar, sind Pfadangaben wie folgende erlaubt:
www.domain.de/cgi-bin/php/docs/standard.doc
Der an den Aufruf des Programms PHP angehängte Pfad, hier /docs/standard.doc, wird als Zugriff auf ein Dokument interpretiert. Das Dokument wird geholt und an den Browser gesendet. Normalerweise ist der Webserver in der Lage, die Zugriffsrechte zu überprüfen. Im gezeigten Fall werden Sie vielleicht das Dokument nur einer geschlossenen Benutzergruppe zugänglich machen wollen. Dann richten Sie ein virtuelles Verzeichnis ein und schließen den anonymen Webnutzer, nobody, im Apache und IUSR_
Machine im IIS, davon aus. So erfolgt der Aufruf:
www.domain.de/docs/standard.doc
Beim Aufruf prüft der Webserver die Rechte und verlangt Name und Kennwort, oder er lehnt die Übertragung sofort ab. Wird aber der physische Pfad, sollte dieser bekannt sein, verwendet, prüft der Webserver nur die Sicherheit der Pfadangabe vor »php«:
www.domain.de/cgi-bin/php/docs/standard.doc
Normalerweise wird der Interpreter aber allen zugänglich sein, das Dokument wird übertragen. Mit dem Schlüsselwort doc_dir und user_dir kann PHP Voreinstellungen der Stammpfade einrichten. Damit kann das Verhalten unterdrückt werden, nur die hier angegebenen Pfade werden überhaupt akzeptiert. Die Einstellungen werden im entsprechenden Abschnitt der PHP.INI vorgenommen.


PHP außerhalb der Webserver-Umgebung

Die sicherste Methode ist die Platzierung der ausführbaren Dateien außerhalb der Webserver-Umgebung, beispielsweise in /USR/LOCAL/BIN (Unix) oder im Installationsverzeichnis C:\PHP (Windows). Sie können mithilfe der Apache-Konfigurationsdatei HTTPD.CONF die Verknüpfungen an diesem Ort herstellen oder im IIS die entsprechenden Verknüpfungen vornehmen.
In der Unix-Umgebung müssen Sie allerdings jede Datei mit dem Shell-Kommando #! beginnen und den Pfad zu PHP angeben. Perl-Programmierer kennen dieses Verfahren:
#!/usr/local/bin/php
Darüber hinaus müssen die Dateien Ausführrechte haben, nicht nur Skriptrechte.



Sicherheitsprobleme
 




:: Premium-Partner ::

Webhosting/Serverlösungen

MECO Systemhaus GmbH & Co. KG weitere Premium-Partner
 

:: SELFPHP Sponsor ::

DM Solutions e.K. weitere Sponsoren
 


:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Webhosting/Serverlösungen

Suchen Sie den für Sie passenden IT-Dienstleister für Ihr Webhosting-Paket oder Ihre Serverlösung?

Sie sind nur ein paar Klicks davon entfernt!


 

Ausgewählter Tipp im Bereich PHP-Skripte


Umrechnung Byte/Kilobyte/Megabyte – Byte/Kibibyte/Mebibyte

Weitere interessante Beispiele aus dem SELFPHP Kochbuch finden Sie im Bereich PHP-Skripte
 

SELFPHP Code Snippet


Größe einer MySQL-Datenbank ermitteln

Weitere interessante Code Snippets finden Sie auf SELFPHP im Bereich PHP Code Snippets
 
© 2001-2017 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt
© 2005-2017 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de