Ich freue mich, dass das Security Pack hier diskutiert wird und gebe gerne einen Überblick über den Funktionsumfang.
Meine modified eCommerce Shopsoftware-Installation 1.01 läuft direkt nach dem Über-Kopieren des Packs ohne sichtbare Veränderung. Im xtc Code werden praktisch nur punktuell Funktionen aus der Sicherheitsbibliothek SSEQ-LIB aufgerufen.
Diese setzen z.B.
++ die relative Laufzeit des Cookie herunter,
++ begrenzen die absolute Lebenszeit der Session auf einige Stunden,
++ machen das Cookie durch das httpOnly-Tag nicht mehr für XSS-Angriffe sichtbar,
++ filtern nach einer frei definierbaren Liste bestimmte Variablen und prüfen diese auf Einhaltung eines definierten Typs und Länge,
++ konvertieren diese optional um XSS-Angriffe zu verhindern und
++ "escapen" sie optional zur Vermeidung von SQL-Injections,
++ bindet die Session an den Client des Nutzers,
++ erzeugt und prüft Tokens um Cross-Site-Request-Forgery zu unterbinden.
Jede Neuinstallation der SSEQ-LIB erzeugt einmalig einen eigenen "salt", der bei allen MD5-Hashes hinzugenommen wird. Blockiert der Filter Variableninhalte, werden abgelaufene Sessions oder Tokens verwendet oder ändert sich der Client des Nutzers wird es in eine Datei protokolliert zur späteren Auswertung. Zusätzlich können andere Aktionen ausgeführt werden wie: Verzögerung der Antwort, Umleitung auf spezielle Seite oder Löschen der Session (Logout).
Der Schutz gegen Cross-Site-Request-Forgery erfolgt durch die im Security Pack beiliegenden xtc-Dateien. Sie wurden so modifiziert, dass manche Formulare oder Links mit einem zusätzlichen Token versehen werden, der dann bei der Ausführung des Formulars geprüft wird. So wird sichergestellt, dass ein eingeloggter Nutzer beim Besuch einer fremden Seite nicht unwissentlich und unwillentlich z.B. Kommentare im Shop hinterlässt, Bestellungen ausführt oder unerwünschte Waren in Warenkorb gesetzt bekommt.
Grüße
Erich