V-Server / Hosting

Gibt es eigentlich so etwas wie eine Checkseite, wo man die URL eingibt und dann die Schwachstellen aufgezeigt werden?
Für PHP-Programme oder Server im Gesamten?
Jedenfalls, "wenns nur so einfach wär"...

Falls es so Seiten gibt (keine Ahnung) und dir die Probleme zeigen, gut.
Wenn sie aber sagen "alles ok" ist nur deswegen noch nicht alles ok.
"Sicherheit" ist so was vielseitiges...
Gar nicht wenig Probleme in der echten Welt sind nicht entstanden, weil jemand beim Absichern schlampig war, sondern weil dieser jemand sich nicht im Traum vorstellen hätte können, was der Hacker dann gemacht hat. Ab einem bestimmten Sicherheitslevel ist das Nachdenken, gegen was man absichern will/soll, das Schwerste am Ganzen.
Natürlich soll das nicht heißen, dass jede kleine Homepage irgendwelche unterirdischen Serverbunker und 30 Leibwächter für den Admin braucht. Für die meisten Sachen sind die Standardmaßnahmen, die man so im Internet findet, genug, weil es zwar Umgehungsmöglichkeiten gibt, aber die viel zu viel Aufwand wären (verglichen mit dem, was man dann hat)

Um dir gezielte Stichworte und Links zu nennen bzw. direkt mit den Sachen zu helfen
wäre es allerdings hilfreich zu erfahren, was du eigentlich machst.
 
@Alice: Spicelab hat richtig erkannt, worauf meine Aussage bezogen war.
Es ist auch gar nichts falsch an deinem Beitrag, im Gegenteil,
nur ist das eben ein ziemliches Problem im echten Leben.

Als ich (vor langer langer Zeit) mein Studium begonnen habe (na gut, nicht soo lange,
es gab schon Computer und Studentenaccounts :D) hab ich mein Passwort im Klartext
per Mail bekommen (wer ein bisschen Ahnung von Hashes und deren Sinn hat versteht
sicher, wie grauenhaft das ist. Natürlich war die ganze Verbindung auch nicht verschlüsselt).
Universität. Und mit dem PW kommt man nicht nur an Adresse, Noten etc. dran,
sondern kann den Besitzer auch vom Studium abmelden etc.

Vielen Firmen gehts ähnlich, deswegen hört man dann jede Woche von
irgendwelchen Hunderttausend-Kreditkarten-gestohlen-Fällen
 
Zuletzt bearbeitet:
Ich habe eine Zeit in einer Uni (Verwaltung) gearbeitet. ;)

Wenn einige wüssten was dort intern so alles schief läuft, gäbe es wahrscheinlich gar keine "Verwaltung" mehr. :D :D :D Ja ja ja... die guten alten Zeiten.

Es wurde z.B. mal der Stempel der Stadt für die Dimplome usw. geklaut. Wir hatten nur diesen einen. Komplett verwechslungen der Noten (300 statt 100) kamen auch schon vor... Es wurden auch schon einmal tonnenweise aktuelle (wichtige) Dokumente geschreddert.
 
Für PHP-Programme oder Server im Gesamten?
Jedenfalls, "wenns nur so einfach wär"...

Falls es so Seiten gibt (keine Ahnung) und dir die Probleme zeigen, gut.
Wenn sie aber sagen "alles ok" ist nur deswegen noch nicht alles ok.
"Sicherheit" ist so was vielseitiges...
Gar nicht wenig Probleme in der echten Welt sind nicht entstanden, weil jemand beim Absichern schlampig war, sondern weil dieser jemand sich nicht im Traum vorstellen hätte können, was der Hacker dann gemacht hat. Ab einem bestimmten Sicherheitslevel ist das Nachdenken, gegen was man absichern will/soll, das Schwerste am Ganzen.
Natürlich soll das nicht heißen, dass jede kleine Homepage irgendwelche unterirdischen Serverbunker und 30 Leibwächter für den Admin braucht. Für die meisten Sachen sind die Standardmaßnahmen, die man so im Internet findet, genug, weil es zwar Umgehungsmöglichkeiten gibt, aber die viel zu viel Aufwand wären (verglichen mit dem, was man dann hat)

Um dir gezielte Stichworte und Links zu nennen bzw. direkt mit den Sachen zu helfen
wäre es allerdings hilfreich zu erfahren, was du eigentlich machst.
Geht darum, die einfachsten Kopfhau-Fehler zu vermeiden, etwas, woran kein Grünhorn denkt.
"...Standardmaßnahmen, die man so im Internet findet ..." tja, was immer das sein mag.
Wenn es so weit ist, melde ich mich. Momentan lerne ich. Der Typ scheint ganz gut zu sein: YouTube Video

 
Eine kleine Liste, PHP-bezogen (nicht Server allgemein)
(jeweils als Anregung zum Recherchieren, keine ausführliche Erklärung, weil das jetzt zu viel wäre):

Passwörter etc. hashen. Richtig hashen. Folgender Link hat einige wichtige Stichwörter und Infos allgemein:
http://stackoverflow.com/questions/401656/secure-hash-and-salt-for-php-passwords

SQL-Injections: Wenn man Datenbankabfragen macht, bei denen Benutzereingaben als Werte vorkommen
(zB. liste mir alles auf, wo der vom Benutzer im Forumlar eingegebene Text in der DB in Spalte xyz steht)
können Benutzer bei falschem Code auch die Art der Abfrage selber ändern und je nach Situation
Infos bekommen die sie nicht haben sollten, DB-Inhalte ändern, ganze DBs leeren usw.usw.
Codeproblem dabei: Variablen einfach mit der restlichen SQL-Anweisung zusammenhängen.
Abhilfe: Prepared Statements.

XSS: Wenn Eingaben von Benutzer A auch für andere Benutzer B,C,D sichtbar sind
könnte dieser außer Text auch zB. Javascript-Code mitgeben, der den Server zwar nicht stört,
aber bei den Browsern der anderen Benutzer ausgeführt wird.
Siehe htmlspecialchars oder je nach Fall striptags.

PHP-Dateien, die nur als Include für andere gedacht sind und nicht direkt vom Benutzer aufgerufen
werden sollen, in einen entsprechend abgesicherten Ordner (htaccess, deny from all)

Dateiuploads wie zB. Bilder können Schadsoftware enthalten. Vor allem für Benutzer die es anschauen,
aber auch für den Server. Als Benutzerschutz zB. alle Bilder nach Upload in ein anderes Format konvertieren.

Keine Dateien oder Eingaben von Benutzern oder irgendwem für Includes und/oder eval verwenden.
Bzw. eval überhaupt nicht verwenden.

Prinzipielle Unterschiede und Abgrenzungen zwischen Verschlüsselung, symmetrisch/asyymetrisch,
Blockmodes, Hash, MAC; Signatur, Padding etc. kennen.
zB. Verschlüsselung (richtig angewendet) verhindert dass jemand anders den Inhalt erfährt,
aber nicht, dass dieser Andere die Daten zu irgendeinem Müll ändert, ohne dass der richtige Benutzer
das (automatisch und zuverlässig) erkennen kann. Oder zB. Einen Hash einer Nachricht mit der Nachricht
zusammen zu versenden, als Garantie dass sie nicht verändert wurde, hilft überhaupt nicht.
Mehr zB. bei Wikipedia.

Charsets beachten (UTF8 usw.usw.). Nicht nur, damit zB. deutsche Umlaute richtig angezeigt werden,
sondern auch, weil verschiedene genannte Sicherheitsmaßnahmen nur dann richtig funktionieren,
wenn man auch wirklich das Charset hat das man angegeben hat.
In dem Zusammenhang auch Unicode-Normalisierung beachten.

...in jedem Thema können natürlich auch hier Fragen gestellt werden :)

Vor allem die letzten zwei Blöcke sind ziemlich weitreichende Themen, aber ich verspreche,
dass gründliches Lernen davon einen zu einem besseren Programmierer macht :D
 
Zuletzt bearbeitet:
Zurück