Die 12 besten Sicherheitspraktiken für PHP
Veröffentlicht: 2021-08-14Sicherheit ist ein wichtiges Thema für alle Softwareentwickler, aber PHP-Entwickler stehen vor einigen einzigartigen Herausforderungen. In diesem Blogbeitrag untersuchen wir die 12 besten Sicherheitsmethoden für PHP und wie Sie sie in Ihren Code implementieren können, um Ihre Website sicher und geschützt zu halten. Sie können jederzeit auf die Profis von WebCitz zurückgreifen, um Ihre PHP-Programmieranforderungen zu erfüllen!
1. Aktualisieren Sie Ihre PHP-Version regelmäßig
Stellen Sie sicher, dass Ihre PHP-Version auf dem neuesten Stand ist, um das Risiko von Sicherheitslücken zu minimieren. Das Patchen behebt häufig bekannte Fehler, daher ist es wichtig, dass Sie diese nutzen, sobald sie veröffentlicht werden.
Hacker haben bereits damit begonnen, die neuesten Schwachstellen in PHP auszunutzen. Diejenigen von Ihnen mit älteren Releases sind anfällig für deren Eindringen, es sei denn, Sie ändern Ihr Setup!
Sie können die Vorschauversion ausprobieren, aber Sicherheitsberater warnen Unternehmen davor, Vorschauversionen einer neuen Software zu vermeiden, da diese möglicherweise noch unbekannte Sicherheitslücken aufweisen.

2. Geben Sie dem Internet keine sensiblen Daten über eine unverschlüsselte Verbindung
Viele Websites sind immer noch anfällig, weil ihre Entwickler einen Fehler gemacht haben, als sie Datenbank- oder Dateisystem-Anmeldeinformationen im öffentlichen Internet mit einem ungeschützten FTP-Protokoll, einem E-Mail-Konto ohne SSL-Schutz usw.
Schützen Sie diese Dateien und Ordner, indem Sie sie verschlüsseln, bevor Sie sie über eine Netzwerkverbindung übertragen, die nicht mit TLS/SSL verschlüsselt ist.

3. Schützen Sie sich vor SQL-Injection-Angriffen
Eine SQL-(Structured Query Language)-Injection-Schwachstelle tritt auf, wenn Benutzereingaben in einer Abfrage ohne ordnungsgemäße Validierung ihres Typs und ihrer Absicht verwendet werden.
Das klingt kompliziert, aber Sie müssen nur wissen, dass dieser Angriff Ihre Geschäftsdaten und sensiblen Informationen preisgeben kann.
Der beste Schutz vor SQL-Injection-Angriffen besteht darin, die Eingabe zu sichern – Hacker daran zu hindern, ihren eigenen Code über ein Formularfeld oder eine Breakout-Box in die Website einzuschleusen. Sie möchten alle vom Benutzer übermittelten Werte bereinigen, bevor Sie sie in eine SQL-Abfrage einfügen, wie folgt: $input = filter_var($_POST['field'], FILTER_SANITIZE_STRING); if(!empty($input)){ echo „Sie haben eingegeben: „.$input.“
“; }else{echo 'Bitte etwas eingeben';} . Beachten Sie, wie wir empty() verwendet haben, um sicherzustellen, dass keine leeren Felder vorhanden sind.

4. Stellen Sie sicher, dass Sie sensible Daten sicher speichern
Wenn es um die sichere Aufbewahrung von Passwörtern und Kreditkarteninformationen geht, dürfen keine Fehler gemacht werden – es ist zu viel auf dem Spiel, wenn ein Hacker Zugriff auf diese Dateien oder Datenbanken mit diesen Informationen erhält!
Um das Risiko eines solchen Angriffs zu minimieren, verwenden Sie beim Speichern sensibler Daten in Ihrer Datenbank immer einen starken Verschlüsselungsalgorithmus – vorzugsweise einen mit 128-Bit-AES-Verschlüsselung wie SHA512_RSA.
Es gibt auch Software, die die Verwaltung verschlüsselter Datenbanken erleichtert: MySQL Encryption Utilities (MEU). Es ist wichtig zu beachten, dass MEU nur Textfelder in MySQL-Datenbanken verschlüsselt, aber das ist für die meisten Anwendungsfälle gut genug.

5. Passwörter nicht wiederverwenden
Wenn Sie dasselbe Passwort immer wieder verwenden, können Sie Ihr Konto früher als später hacken! Wenn Sie die eingebauten Funktionen von PHP verwenden, um zufällige Textstrings (wie rand()) zu generieren, denken Sie daran, dass diese nur kurzlebig sind, also stellen Sie sicher, dass Sie sie mindestens alle paar Monate ändern.
Sie möchten, dass es Großbuchstaben, Kleinbuchstaben, Zahlen und Symbole enthält. Es schadet auch nicht, komplexere Regeln zu haben, wann auch ein neuer String generiert werden soll – etwa einmal pro Woche oder nach drei Anmeldeversuchen mit einem falschen Passwort. Es gibt sogar Software, die die Berechnungen für Sie erledigen kann!

6. Stellen Sie sicher, dass Ihre Anwendungen nicht anfällig für XSS-Angriffe sind
XSS (Cross-Site Scripting) ist ein Angriff, bei dem bösartiger Code in eine Website eingeschleust und dann im Browser eines Besuchers ausgeführt wird. Dies kann oft zu Cookie-Diebstahl oder Session-Hijacking führen, wodurch Hacker auf alle Ihre sensiblen Daten zugreifen können, ohne ihre eigenen Zugangsdaten – wie Passwörter oder Kreditkartennummern – eingeben zu müssen.

Diese Sicherheitsanfälligkeit kann ausgenutzt werden, indem JavaScript-Formularvalidierung auf Webseiten verwendet wird, sodass alle Eingaben von Besuchern automatisch über die Seitenaktualisierung ausgeführt werden, Hyperlinks mit aktivem Inhalt wie Bildern darin angezeigt werden und vom Benutzer bereitgestellte Parameter an dynamische URLs wie '? Konto=123' usw.

7. Schutz vor CSRF-Angriffen
CSRF (Cross-Site Request Forgery) ist eine Angriffsart, bei der nicht autorisierte Befehle von der Site des Angreifers an Ihre Webanwendung übertragen werden. Dies kann unter anderem zu Session-Hijacking oder Cookie-Diebstahl führen.
Es mag auf den ersten Blick schwierig erscheinen, aber Sie müssen lediglich ein zusätzliches Token bereitstellen, das für jede Aktion überprüft werden muss, bei der sensible Informationen preisgegeben werden könnten, z Single Point of Vulnerability und stellen Sie sicher, dass auf Ihrer Website keine automatisierten Konten verwendet werden.

8. Vergessen Sie nicht die regelmäßigen Patches!
Es versteht sich oft von selbst, aber Sie sollten mit dem Patchen neuer Schwachstellen Schritt halten, wenn diese von Ihrem Systemanbieter oder Softwareanbieter freigegeben werden.
Sie wissen nie, welche Sicherheitslücke ein anderer gefunden hat, aber Sie sind sich dessen nicht bewusst, und es ist besser, auf dem Laufenden zu bleiben, als Ihre Website hacken zu lassen!

9. Lassen Sie den Debug-Modus in Produktionsumgebungen nicht aktiviert
Debugging-Code hat oft Funktionen, um Dinge wie die Remote-Dateibearbeitung (mit fopen()) und das Generieren von rohen SQL-Abfragen über mysql_query() zu ermöglichen.
Diese sind großartig, wenn Sie beim Auftreten von Fehlern vollständige Stack-Traces generieren möchten, aber sie bergen große Sicherheitsrisiken auf Ihrer Produktionswebsite. Wenn Sie diese Funktionen deaktivieren und alle Instanzen entfernen, in denen sie verwendet werden, sparen Sie auch beim Patchen von Fehlern viel Zeit!

10. Überprüfen Sie die Firewall auf offene Ports
Es mag verlockend sein, einfach auf „Weiter“ zu klicken, wenn Windows mit der Installation von Updates fertig ist, aber vergessen Sie nicht zu überprüfen, welche Dienste ausgeführt werden und ob alles richtig konfiguriert ist oder nicht – dazu gehört auch das Aktualisieren von Firewalls, falls erforderlich.
Es hilft, unerwünschte Besucher fernzuhalten, wenn Hacker keinen Einstiegspunkt in Ihr System finden, über den sie ihren Angriff so einfach ausführen könnten.

11. Verwenden Sie nicht „admin“ als Kontonamen
Wenn Sie sich davor schützen möchten, dass jemand anderes auf Ihre Site zugreift, indem Sie Passwörter erraten, versuchen Sie es mit einem anderen Benutzernamen, z. B. „admin“ oder etwas anderem, das nicht so offensichtlich ist.
Wenn jemand versucht, auf Ihr Konto zuzugreifen, wird es für ihn viel schwieriger, das Passwort zu erraten, und es ist auch für Hacker schwieriger, Brute-Force-Methoden auszunutzen, wenn Sie einen ungewöhnlichen Benutzernamen verwenden!

12. Bleiben Sie über neue Schwachstellen auf dem Laufenden
Es mag auf den ersten Blick entmutigend erscheinen, aber wenn Sie sich über die Sicherheitslücken informieren, die andere Personen finden, können Sie Ihr System im Falle von Lecks schützen.
Es kann jedoch schwierig sein, den Überblick über all diese Updates zu behalten – zum Glück gibt es jetzt viele Tools, die diese Aufgabe einfacher denn je machen. Ein solches Tool heißt "Debian Long Term Support", das mehrere Versionen des Betriebssystems und alle Arten von Software unterstützt – einschließlich Webserver mit PHP.

Fazit
Zusammenfassend sind dies nur einige der besten Sicherheitspraktiken, die Sie auf Ihre Website anwenden können, um sie zu schützen. Es ist nicht immer einfach, aber wenn Sie sich etwas Zeit nehmen, um sich die Mühe zu machen, werden Sie mit einer Online-Präsenz belohnt, die weniger wahrscheinlich gehackt wird!
