Eine sichere Webseite programmieren - kurze Checkliste

08/12/2014 15:02 ThinSmoke#1
Moin,

auch wenn ich ( seltsamerweise... ) sehr selten danach gefragt werde, was ich tue um eine programmierte Webseite zu sichern, habe ich immer eine PDF ausgehändigt, welche einen kleinen Einblick gibt was ich mache und was die Kunden machen müssen um eine Webseite sicher zu halten.

Da ich noch einiges an Domains habe, die zZ. nicht in Benutzung sind habe ich einfach mal eine kleine Webseite aufgesetzt.

Es ist nichts großes und auch keine Step-by-Step Anleitung wie man verschiedene Vulns ausnutzt/verhindert/ausbügelt. Der Sinn ist, das man sich bewusst wird, wo man überall etwas verbessern kann und sich dann selbstständig auf die Suche nach einer Lösung macht.

Bin für jede Kritik offen!

[Only registered and activated users can see links. Click Here To Register...]

Das ganze gibt's auch noch auf deutsch hier:
[Only registered and activated users can see links. Click Here To Register...]
08/13/2014 00:13 watcher777#2
Bisschen knurz und knapp aber verständlich.
08/15/2014 15:13 PseudoPsycho#3
Okay. Das sollte die Grundlagen schonmal abdecken. Für Beginner sicherlich nützlich.

Was die Passwörter angeht, macht es aber nicht unbedingt Sinn, sie automatisch zu erstellen. Das bewirkt nur, dass Nutzer sie entweder ständig vergessen oder irgendwo abspeichern. Wenn man dann auch noch autocoplete (wie beschrieben) abstellt, ist der 0815-Nutzer vollends aufgeschmissen und besucht die Seite nie wieder. Oder aber er schreibt sich 'nen Zettel und pinnt das Passwort an seinen Bildschirm. Auch nicht wirklich optimal. Für normale Accounts halte ich diese Methode für unhaltbar. Das macht nur dann Sinn, wenn wirklich wichtige Daten geschützt werden müssen, z.B. die Zugangsdaten für den Admin-Bereich, und man die entsprechenden Benutzer zwingen kann, die Passwörter auswendig zu lernen.
08/15/2014 18:30 ThinSmoke#4
Deshalb steht da ja auch, wenn man sie ein Passwort auswählen lässt, sie dann zumindest dazu bringt Vorgaben einzuhalten.. Grundlagen? Was hättest du denn noch im Kopf was fehlt? Bin für alles offen ;)
08/15/2014 20:49 MrDami123#5
Gute Liste gefällt mir. :)
08/17/2014 11:38 Cr41s3'#6
Gefällt mir auch sehr gut, danke!
08/17/2014 20:15 tooti#7
Was mir noch fehlt ist der Hinweis das man PDO oder MySqli anstatt Mysql verwenden sollte da die MySQL-Extension ab PHP5.5 nichtmehr dabei ist
([Only registered and activated users can see links. Click Here To Register...])
08/17/2014 22:13 ThinSmoke#8
Wie dir vielleicht aufgefallen ist, geht es bei der Liste um allgemeine Tipps und nicht um programmiersprachen-abhängige Informationen.
Ansonsten wäre die Liste auch locker 10mal so lang ausgefallen...
08/18/2014 13:10 NotEnoughForYou#9
Eventuell, was für Anfänger oftmals eine Möglichkeit ist zur einfachen Authentifizierung, dass Passwörter nicht im Klartext im PHP-Script stehen sollten.

-->
PHP Code:
if($user "Admin" && $pass"myPass")
{
 echo 
"Login";

Bei einer fehlerhaften PHP-Konfiguration oder einem Serverfehler kann es dann nämlich passieren, dass der PHP-Code nicht geparst wird sondern dargestellt wird.

Dann eventuell noch der Fall mit
PHP Code:
$_SERVER['PHP_SELF'
09/01/2014 13:46 ThinSmoke#10
Naja wo die Logindaten stehen, auch wenn es natürlich äußerst unsauber ist, wenn die einfach mal mitten im Code stehen, sollte es keine Rolle spielen wenn man die Fehler ordentlich abhandelt womit wir dann wieder bei einem der Punkte währen die ich bereits genannt habe.