9 Sicherheit Tipps, um Ihre Website vor Hackern zu schützen, kreativer Bloq

9 Sicherheit Tipps, um Ihre Website vor Hackern zu schützen, kreativer Bloq

01. Halten Sie die Software auf dem neuesten Stand

Wenn Sie eine Managed-Hosting-Lösung verwenden, dann brauchen Sie nicht so viel über die Anwendung von Sicherheitsupdates für das Betriebssystem als das Hosting-Unternehmen kümmern sollte sich darum kümmern.







02. SQL-Injection

SQL-Injection-Angriffe sind, wenn ein Angreifer ein Web-Formularfeld oder URL-Parameter verwendet, um Zugriff zu erhalten oder Ihre Datenbank zu manipulieren. Wenn Sie Standard-Transact SQL verwenden ist es leicht zu unwissentlich Rogue-Code in Ihre Abfrage einfügen, die verwendet werden könnten, Tabellen zu ändern, Informationen zu erhalten und Daten zu löschen. Sie können dies verhindern, indem immer parametrisierte Abfragen verwenden, haben die meisten Web-Sprachen diese Funktion und es ist einfach zu implementieren.

Betrachten Sie diese Abfrage:

Wenn ein Angreifer den URL-Parameter geändert in passieren ‚oder‚1‘=‘ 1 dadurch wird die Abfrage wie folgt aussehen:

Da ‚1‘ ist gleich ‚1‘ Dies ermöglicht es dem Angreifer eine zusätzliche Abfrage an das Ende der SQL-Anweisung hinzufügen, die auch ausgeführt werden.

Sie könnten diese Abfrage beheben, indem sie explizit Parametrisierung. Zum Beispiel sollten, wenn Sie MySQLi in PHP verwenden diese werden:

Der Schlüssel hier ist zu konzentrieren, wie Ihre benutzergenerierte Inhalte, die Grenzen entkommen konnte man erwarten und andere vom Browser als etwas interpretiert werden, dass, was Sie wollten. Dies ist vergleichbar mit der Verteidigung gegen SQL-Injection. Wenn dynamisch HTML zu erzeugen, verwenden Funktionen, die explizit die Änderungen vornehmen Sie suchen (zB verwenden element.setAttribute und element.textContent, die automatisch vom Browser entwertet werden, anstatt element.innerHTML von Hand einstellen) bzw. Funktionen in Ihrem Templat-Tool, das automatisch die entsprechenden Entkommen tun, anstatt Strings oder Einstellung rohen HTML Inhalt verketten.

04. Fehlermeldungen

Seien Sie vorsichtig mit wie viele Informationen, die Sie in Ihren Fehlermeldungen weggeben. Geben Sie nur minimale Fehler Benutzer, um sicherzustellen, dass sie nicht auslaufen Geheimnisse auf Ihrem Server vorhanden (zum Beispiel API-Schlüssel oder Datenbank-Passwörter). da diese bieten nicht alle Einzelheiten Ausnahme entweder können komplexe Angriffe wie SQL-Injection-weit leichter machen. Halten Sie detaillierte Fehler in Ihrem Server-Logs, und zeigen Benutzer nur die Informationen, die sie benötigen.







05. Server-seitige Validierung / Formularvalidierung

06. Passwörter

07. Datei-Uploads

Also, was können Sie tun, um dies zu verhindern? Schließlich wollen Sie Benutzer daran hindern, eine beliebige Datei laden sie ausführen zu können. Mit dem Standard-Web-Server versuchen, werden keine Dateien mit Bild Erweiterungen auszuführen, aber es ist nicht allein zu verlassen empfohlen auf die Überprüfung der Dateierweiterung als Datei mit dem Namen image.jpg.php bekannt, um durchzukommen.

Einige Optionen sind die Datei beim Upload benennen Sie die richtige Dateierweiterung zu gewährleisten, oder die Dateiberechtigungen zu ändern, beispielsweise chmod 0666, so dass es nicht ausgeführt werden kann. Bei der Verwendung von * nichts können Sie eine .htaccess-Datei erstellen (siehe unten), die nur den Zugriff ermöglicht, Dateien, um den doppelte Erweiterung Angriff zuvor erwähnt zu verhindern.

Stellen Sie sicher, Sie eine Firewall eingerichtet haben, und sind alle nicht wesentlich Ports blockiert. Wenn möglich, die Einrichtung nur eine DMZ (Demilitarized Zone) ermöglicht den Zugriff auf Port 80 und 443 von der Außenwelt. Obwohl dies nicht möglich sein, wenn Sie Ports keinen Zugriff auf den Server von einem internen Netzwerk haben, wie Sie benötigen würden zu öffnen, um das Hochladen von Dateien zu erlauben und aus der Ferne auf den Server über SSH oder RDP anmelden.

Wenn Sie erlauben Dateien aus dem Internet nur sichere Transportmethoden zu Ihrem Server hochgeladen werden, wie SFTP oder SSH.

Wenn möglich, haben Sie Ihre Datenbank auf einem anderen Server zu, dass Ihre Web-Server ausgeführt wird. Dadurch bedeutet, dass der Datenbankserver kann nicht direkt von der Außenwelt zugänglich, nur Ihren Web-Server zugreifen können, um das Risiko der Daten minimiert ausgesetzt.

Schließlich, vergessen Sie nicht über physischen Zugriff auf den Server zu beschränken.

HTTPS ist ein Protokoll verwendet Sicherheit über das Internet zur Verfügung zu stellen. HTTPS Garantien für die Nutzer, dass sie im Gespräch mit dem Server sie erwarten, und dass niemand sonst den Inhalt abfangen oder verändern kann sie auf der Durchreise sind zu sehen.

Das ist nicht mehr als heikel oder teuer, wie es einmal war allerdings. Lassen Sie sich Encrypt bietet völlig kostenlos und automatisierte Zertifikate, die Sie benötigen, um HTTPS zu ermöglichen, und es gibt bestehende Community-Tools für eine breite Palette von gemeinsamen Plattformen und Frameworks dies für Sie automatisch eingestellt.

Bereits HTTPS überall mit? Gehen Sie weiter und sehen Sie Einrichten HTTP Strict Transport Security (HSTS), ein einfacher Kopf Sie Ihre Server-Antworten hinzufügen können unsichere HTTP für die gesamte Domain zu verbieten.

Einige kostenlose Tools, die sich sehen lassen:

So was sollten Sie auf Wunsch zu ändern sein, die versuchen? Wenn Sie Seiten, die nur sichtbar sein sollen zu einem angemeldeten Benutzer dann würde ich ändern URL-Parameter versuchen, wie Benutzer-ID, oder Cookie-Werte in einem Versuch, Details eines anderen Benutzers anzuzeigen. Ein weiterer Bereich, die es zu testen sind Formen, die POST-Werte zu ändern, zu versuchen, Code zu unterbreiten XSS auszuführen oder eine serverseitige Skript zu laden.

Darüber hinaus gibt es einige hilfreiche Module für CMSes Ihre Installation für gemeinsame Sicherheitslücken wie Security Review für Drupal und WP Security Scan für Wordpress zu überprüfen.







In Verbindung stehende Artikel