TYPO3 Extension PHPIDS nextGen

Werbung
SZENARIO
Folgenden grundlegende Gefahren ist ein Webauftritt ständig ausgesetzt:
•
SQL Injection: fremde SQL Statements werden in die Opferapplikation eingeschleust und von dieser
ausgeführt
•
Command Injection: Einschleusen (Injizieren) bösartiger Befehle zur Kompromittierung der Funktionsschicht
•
Cross-Site Scripting: Einschleusen (Injizieren) von bösartigen Programmcode
•
Directory Traversal: Technik um an nicht öffentliche, aber zugängliche Daten zu kommen
•
Header Injection: Manipulation von dynamisch generierten Header
•
Session Hijacking: Technik zur Übernahme einer fremden Session
•
Session Fixation: Technik zur Session-Manipulation um Session des Angreifers zu privilegieren
•
Cookie Poisoning: Manipulation von Cookies
Bei eine Intrusion Detection System für PHP handelt es sich um ein Skript, das mittels regulären Ausdrücken und
einem generischen Ansatz (Zentrifuge-Ansatz) die übergebenen Parameter (GET, POST, COOKIE, REQUEST) überprüft
und mögliche Angriffe erkennt.
Ein erkannter Angriff wird mit einem “Impact” Wert gekennzeichnet, der angibt, wie schwerwiegend der Angriff ist. Ein
Impactwert von 2-5 ist unbedenklich, wobei ein Impact 15 schon sehr hoch ist und eine Reaktion erfordert. Ein sehr
hoher Wert (25-50) macht eine Reaktion unbedingt erforderlich. Dabei kommt PHPIDS auch mit exotischen
Zeichensätze (UTF-7), JavaScript Unicode, dezimal und hexcode usw. zurecht und erkennt alle gängigen Angriffsmuster
wie SQL Injection, Cross-Site Scripting Attacken oder Directory Traversal Zugriffe.
Für TYPO3-Auftritte bietet unsere neu entwickelte Erweiterung PHPIDS nextGen nun einen erhöhten Schutz vor
Angriffen.
Bergisch Gladbach, den 13.03.2014
Ihr Kennziffer-Team
Seite 3 von 6
PHPIDS NEXTGEN
Die Erweiterung "PHPIDS nextGen" (phpidsng) basiert auf Extbase und Fluid. Sie kann somit in allen TYPO3 CMS
Versionen von 4.5.x bis 6.1.x eingesetzt werden. Für den Einsatz auf Systemen mit TYPO3 CMS 6.2 liegt bereits eine
gesonderte Erweiterungsversion mit identischen Features vor.
Beide Extensions implementieren die aktuellste Version des Intrusion Detection Systems "PHPIDS" – derzeit in Version
0.7. Diese Version ist derzeit nicht als sicherheitskritisch eingestuft. Bei der Implementierung wurde Wert darauf gelegt,
dass auch zukünftige Versionen von PHPIDS zeitnah in die TYPO3 CMS - Extension "phpidsng" integriert werden
können.
Neben den bereits bekannten Features wie
•
Blocken des Seitenzugriffs
•
Logging von Angriffsversuchen in Datenbank und Logdatei
•
Benachrichtigung über Angriffsversuche per E-Mail, jeweils ab dem Erreichen eines IDS-intern berechneten
Schwellenwerts, der individuell angepasst werden kann
sind folgende neue Funktionalitäten hinzugekommen:
•
Loggen von Angriffs-IP-Adressen, so dass diese ab einer bestimmten Anzahl von Angriffen automatisch
geblockt werden können
•
Konfigurierbare Zeitspanne, in der Angriffs-IPs geblockt werden sollen
•
Cronjob zur Freigabe von Angriffs-IPs nach Ablauf der Blocking-Zeitspanne
•
Weiterleitung bei erkanntem Angriff auf separate Subdomain oder URL
•
Lauffähig auf jeder TYPO3 CMS Version, die "Extbase" und "Fluid" mitliefert
•
Erweiterter Debugmodus: Prüfen auf Konfigurationsfehler, Whitelisting von Seiten
•
Optimierte Default-Schwellenwerte für Logging und E-Mail Benachrichtigungen, so dass Angriffe frühzeitig
erkannt werden können
•
E-Mail-Absendername, -Absenderadresse und -betreff konfigurierbar
•
Caching von Angriffsvektorendatei in der Datenbank und somit schnellerer Zugriff auf Vektoren bei Angriff als
bei Zugriff über die Dateiebene
Seite 4 von 6
•
Integration von zukünftigen PHPIDS-Versionen möglich, so lange kein komplettes Rewrite von dessen
Codebasis erfolgt
Warum ist ein IDS notwendig und was macht unsere Erweiterung?
PHPIDS dient zur Erkennung von Angriffen auf die Webseite. Dabei werden Zugriffe auf bekannte Angriffsvektoren
überwacht und ein numerischer Wert zur Beurteilung der Gefährlichkeit des Angriffs erstellt. Auf Basis dieses Wertes
wird gegen verschiedene Schwellenwerte geprüft: Soll der Angriff "nur" protokolliert werden (und wie), muss die
weitere Ausführung sofort beendet und/oder eine E-Mail Benachrichtigung an den Administrator generiert werden?
Ohne den Einsatz eines solchen "Intrusion Detection Systems" (IDS) ist der Webseitenbetreiber "blind" für Angriffe.
Eventueller Datendiebstahl oder die Manipulation von Daten bzw. des Servers etc. bleiben verborgen. Erst Kunden
oder Fehlfunktionen führen zur Entdeckung eines Einbruchs. Potentieller Datendiebstahl lässt sich ohne dieses
Monitoring nur schwerlich entdecken.
Warum brauchen wir ein neues IDS?
Mit dem letzten Security-Bulletin des TYPO3 Security Teams verschwand unsere alte Monitoring-Erweiterung aus dem
TER, da sie Sicherheitslücken aufwies. Es wurde keine aktualisierte Version mehr zur Verfügung gestellt und die
sicherheitskritische Extension musste von allen Kundenauftritten entfernt werden.
Um weiterhin Angriffe auf Kundenauftritte entdecken und auswerten zu können, haben wir eine eigene Erweiterung
implementiert, die eine aktuelle Version von PHPIDS verwendet und auf allen TYPO3 CMS Versionen ab 4.5.x
einsatzbereit ist. Außerdem wurden weitere Sicherheitsmechanismen integriert, die unserer Erfahrung nach einen
erheblichen Mehrwert bieten.
Worin liegen die Vorteile?
Gegenüber unserer alten Monitoring-Erweiterung kann in die neu entwickelte IDS-Erweiterung eine aktualisierte
Version des PHPIDS-Frameworks jederzeit integriert werden, ohne größeren Aufwand zu verursachen. Außerdem wird
bereits der Einsatz auf der neuen LTS-Version 6.2 sicher gestellt, so dass eine lückenlose Abdeckung aller TYPO3 CMS
Versionen seit 4.5.x möglich ist.
Zusätzlich kann nun auf massive Angriffe auf Webauftritte effektiver reagiert werden:
Seite 5 von 6
•
durch Umleitung auf eine Subdomain oder eine andere Domain
•
durch das Blocken von einer konfigurierbaren Schwelle von Angriffen der gleichen IP-Adresse
•
generelles Blocken von IPs für eine vordefinierte Zeitspanne
Seite 6 von 6
Herunterladen