Die ultimative PHP-Sicherheitscheckliste mit WordPress Best Practices

Veröffentlicht: 2017-11-03

mirsad / stock.adobe.com

Ihr Website-Sicherheitsprozess befasst sich wahrscheinlich mit der Sicherung Ihrer WordPress-Site auf Serverebene und dem Schutz Ihrer Site auf Dateiebene. Aber müssen Sie Ihre Programmiersprache schützen? Gibt es Best Practices für die PHP-Sicherheit, die Sie befolgen müssen? Muss PHP gesichert werden?

Ja, ja und ja.

Wenn Sie eine WordPress-Website betreiben, sich aber nicht auf die Sicherheit Ihres PHP-Codes konzentrieren, besteht die Gefahr eines schwerwiegenden Vorfalls.

Oh No Omg GIF von Friends

Die Verwendung von PHP zur Entwicklung Ihrer WordPress-Website bietet zahlreiche Vorteile:

  • Es ist einfach genug für Anfänger und flexibel genug für Programmierprofis.
  • Es funktioniert hervorragend auf allen Plattformen (z. B. Linux, Windows usw.).
  • Es ist auch sehr WordPress-freundlich.
  • Es kann die Geschwindigkeit der Website verbessern.

Allerdings ist PHP nicht ohne Fehler. PHP-programmierte Anwendungen können gefährdet sein durch:

  • SQL-Injektionen
  • Cross-Site-Scripting
  • Offengelegte Anmeldeinformationen
  • Session-Hijacking
  • Gefälschte Formulare
  • Und andere schlimme Sicherheitsrisiken

Verwandte Themen: So überprüfen Sie die PHP-Version Ihrer WordPress-Site (und die Upgrade-Kompatibilität)

Dies soll Sie natürlich nicht von Ihrem Wunsch abbringen, PHP zum Programmieren Ihrer WordPress-Website zu verwenden. Es handelt sich um eine äußerst zuverlässige und flexible Sprache, die bei ordnungsgemäßer Sicherung ein unglaublich leistungsstarkes Tool sein kann, das auch zur Rationalisierung Ihres Prozesses beiträgt.

Die folgende PHP-Sicherheitscheckliste vermittelt Ihnen alle Best Practices für die PHP-Sicherheit, die Sie kennen müssen, um Ihre Programmiersprache und in PHP erstellten Anwendungen auch in Zukunft sicher zu halten.

Unser Team bei WP Buffs hilft Websitebesitzern, Agenturpartnern und freiberuflichen Partnern dabei, die Best Practices für die PHP-Sicherheit einzuhalten. Ganz gleich, ob Sie uns für die Verwaltung einer Website oder die Betreuung von 1.000 Kundenseiten benötigen, wir stehen Ihnen zur Seite.

Die ultimative PHP-Sicherheitscheckliste für WordPress

Möchten Sie sicherstellen, dass Ihre WordPress-Website vor Hackern geschützt bleibt? Dann liegt es an Ihnen, sicherzustellen, dass alle Tools, die Sie zum Erstellen verwenden (einschließlich Ihrer Programmiersprache), den Best Practices für die Sicherheit entsprechen. Insbesondere wenn es um PHP geht, müssen Sie Folgendes genau beachten:

  • Best Practices für die PHP-Codierung
  • Einschränkungen für den Zugriff auf das Backend Ihrer Website
  • Verwaltung und Überwachung von Benutzerkonten
  • Validierung, Bereinigung und Escape von Daten
  • Benutzerübermittlung von Daten und Upload-Überwachung
  • Zuverlässigkeit des Webhosts

Wenn Sie weitere Informationen zu den oben genannten PHP-Sicherheitskontrollpunkten und deren Verwendung in der WordPress-Entwicklung wünschen, lesen Sie weiter, um die ultimative PHP-Sicherheitscheckliste zu erhalten

PHP-Best Practices

  • Verwenden Sie PHP7 : Verwenden Sie immer die neueste Version von PHP. Das Gleiche gilt für alle Bibliotheken und Anwendungen von Drittanbietern, die Sie damit verwenden.
  • Version ausblenden : Die aktuelle Version von PHP, die Sie verwenden, kann Hackern mitteilen, für welche Art von Schwachstellen Sie Ihre Website offen gelassen haben. Deaktivieren Sie diese Einstellung daher in Ihrem Header mit „exposure_php“.
  • phpinfo umbenennen : Zusätzliche Informationen zu Ihrer Installation müssen ebenfalls ausgeblendet werden. Ändern Sie daher unbedingt den Dateinamen phpinfo.php.
  • Fehlercode ändern : Ändern Sie die Standardfehlermeldung, die Benutzern angezeigt wird, wenn eine Verbindung zu Ihrer Site fehlschlägt. Dadurch wird verhindert, dass sie Informationen über Ihre IP-Adresse oder Ihren Dateipfad sehen. Protokollieren Sie diese Fehler stattdessen einfach auf Ihrer Seite.
  • Beschränken Sie Systembefehle : Der allgemeine Konsens besteht darin, dass Sie in PHP keine Shell-Funktionen verwenden sollten. Geben Sie jedoch ggf. keine Benutzerdaten an.

Schützen Sie das Backend

  • SFTP verwenden : Verwenden Sie beim Übertragen von Dateien im Backend immer SFTP.
  • Zugriff auf Verzeichnis beschränken : Ändern Sie den Standardverzeichnisnamen für Ihre PHP-Anwendung.
  • Konfigurieren Sie den Sitzungspfad : Wenn Sie Shared Hosting für Ihre Site verwenden, können andere Benutzer auf dem Server möglicherweise Ihre Sitzungsdaten sehen. Sie können dies verhindern, indem Sie neue Sitzungspfade unterhalb des Stammverzeichnisses speichern.
  • Erstellen Sie separate Administratoren : Wenn Sie mehr als eine PHP-basierte Website auf einem einzelnen Server betreiben, stellen Sie sicher, dass Sie für jede einen separaten Administrator mit völlig unterschiedlichen Anmeldeinformationen verwenden. Dadurch werden Cross-Site-Infektionen verhindert.
  • Verzeichnis schreibgeschützt machen : Schützen Sie Ihr über das Internet zugängliches Verzeichnis, indem Sie es auf schreibgeschützt setzen.
  • Speichern Sie sensible Dateien außerhalb des Verzeichnisses : Sensible Anwendungsdateien (wie Konfigurationsdateien) müssen in einem nicht über das Internet zugänglichen Verzeichnis abgelegt werden. Sie können sie dann mithilfe eines PHP-Skripts weiterleiten.

Sichere Benutzerinformationen

  • Alle Passwörter verschlüsseln : Dies ist offensichtlich, aber stellen Sie sicher, dass Sie es überall anwenden – sowohl für Ihre Passwörter als auch für alle angemeldeten Benutzer.
  • Sichere Sitzungen : Verhindern Sie die Übernahme von Sitzungen durch die Erstellung einer komplexen Sitzungs-ID. Sie können jeder URL auch ein spezielles Token hinzufügen.
  • Alte Sitzungen zerstören : Wenn sich jemand abgemeldet hat oder sich seine Zugriffsrechte geändert haben, löschen Sie immer die Cookies aus seiner Sitzung und erzwingen Sie eine neue Sitzungs-ID.
  • Neue Benutzer überprüfen : Überprüfen Sie immer die Identität neuer Benutzer und gewähren Sie ihnen entsprechende Zugriffsrechte. Dies ist besonders wichtig, wenn sie versuchen, auf eine eingeschränkte Seite zuzugreifen.
  • Verwenden Sie eine Drosselung : Zu viele fehlgeschlagene Anmeldungen sollten mit einer Passwortdrosselung blockiert werden.

Validieren Sie Eingaben und Ausgaben von Benutzern

  • Eingaben validieren und bereinigen : Alle Daten, Dateien, URLs, eingebetteten Inhalte, CSS oder HTML, die von einem bekannten oder unbekannten Benutzer über Ihre Website gesendet werden, müssen überprüft und bereinigt werden. Das bedeutet, dass nur die Daten zugelassen werden sollten, die Sie erwartet haben (z. B. Benutzername für Benutzername, E-Mail-Adresse für E-Mail-Adresse usw.). Behalten Sie „schlechte“ Wörter wie „FROM“ oder „WHERE“ oder Satzzeichen wie ein einfaches Anführungszeichen bei auf Ihrem Radar , da sie ein Zeichen dafür sein können, dass jemand versucht, bösartigen Code in Ihre Website einzuschleusen .
  • Escape-Ausgabe : Bevor Sie Benutzerdaten oder Dateien auf Ihrer Website veröffentlichen, stellen Sie sicher, dass diese ebenfalls maskiert wurden, um zu verhindern, dass potenziell gefährliche Zeichen und Code durchkommen (z. B. einfache Anführungszeichen oder <script>).
  • POST-Daten begrenzen : Wenn Hacker Ihre Website mit einer überwältigenden Datenmenge angreifen möchten, können Sie dies unterbinden, indem Sie die Menge der POST-Daten, die gesendet werden können, begrenzen. Sie können die Eingabezeit auch begrenzen.
  • Register_Globals deaktivieren : Es sollte niemals Spielraum bei der Art von Informationen geben, die in den Formularen Ihrer Website übermittelt werden können. Leider eröffnet Register_globals Hackern diese Möglichkeit.
  • Deaktivieren Sie Magic_Quotes : Magic_quotes an sich schadet Ihrer Website nicht, aber Personen, die es verwenden, um Ihre ausgegebenen Daten zu umgehen, könnten unbeabsichtigt eine Sicherheitslücke schaffen.

Überwachen Sie Uploads

  • Datei-Uploads deaktivieren : Dies ist möglicherweise nicht immer möglich. Wenn Sie jedoch keine Dateien oder Daten von Benutzern empfangen müssen, verzichten Sie auf diese Funktionalität.
  • Hochgeladene Dateien überprüfen : Wenn Sie Benutzern das Hochladen von Dateien auf Ihre Website erlauben müssen, müssen Sie den Dateiinhalt auf schädliche Injektionen analysieren. Als Verknüpfung können Sie die Datei in einem anderen Format erneut speichern. Wenn es noch gültig ist, ist die Wahrscheinlichkeit geringer, dass ein Problem vorliegt.
  • Verwenden Sie einen Virenscanner : Wenn Ihre Website viele hochgeladene Dateien akzeptiert, sollten Sie einen Virenscanner installieren.

Nutzen Sie sicheres Webhosting

  • Verwenden Sie einen zuverlässigen Host: Ganz gleich, wie viel Arbeit Sie in die Sicherung Ihrer Website, Dateien, Ihres Anmeldebereichs oder Ihrer Programmiersprache stecken, die Sicherheit muss auf der Hosting-Ebene beginnen. Aus diesem Grund müssen Sie mit einem zuverlässigen Webhoster zusammenarbeiten, der Sicherheit in den Vordergrund stellt und speziell PHP7-Unterstützung bietet.
  • Holen Sie sich ein CDN: Eine weitere Möglichkeit, Sicherheitsbedrohungen auf Serverebene zu reduzieren, ist die Einrichtung eines Content Delivery Network (CDN). Während diese oft vor allem mit der Verbesserung der Leistung weltumspannender Websites in Verbindung gebracht werden, bieten CDNs auch eine zusätzliche Schutzschicht.
  • Holen Sie sich ein SSL-Zertifikat: Dies ist eine bewährte Methode, unabhängig davon, ob Sie mit PHP programmieren oder nicht. SSL-Zertifikate fügen eine zusätzliche verschlüsselte Ebene zwischen Ihrem Server und den Browsern Ihrer Besucher hinzu.

Obwohl jeder der oben genannten Punkte in der Tat zutrifft, lohnt es sich, diesen besonderen Punkt hervorzuheben, da die Qualität des Webhostings, auf das Sie sich verlassen, letztendlich über Erfolg oder Misserfolg der Sicherheitsstrategie Ihrer Website entscheiden kann.

Da es oft schwierig ist, das Gute vom Schlechten zu unterscheiden – vor allem, wenn man nach etwas so Spezifischem wie PHP7-Unterstützung sucht – empfehlen wir Ihnen, mit Webhostern wie WP Engine und Kinsta zu beginnen.

Verwandte Themen: Vollständig verwaltetes WordPress-Hosting über WP Engine und Kinsta

WP Engine ist ein verwalteter WordPress-Hosting-Anbieter, der PHP7-Unterstützung in jedem seiner Hosting-Pläne beinhaltet. Darüber hinaus behandelt WP Engine das Thema PHP7 regelmäßig in seinem Blog mit besonderen Hinweisen auf sein PHP Compatibility Checker-Plugin. Zu sagen, dass sich dieses Unternehmen der PHP7-Benutzerunterstützung widmet, wäre eine Untertreibung.

Kinsta, ein weiteres verwaltetes WordPress-Hosting-Unternehmen, hostet alle seine Kunden-Websites mit PHP7. Dadurch soll eine hohe Leistung und Geschwindigkeit auf ganzer Linie gewährleistet werden. Kinsta bietet seinen Benutzern außerdem die Möglichkeit, ihre PHP-Engine auf die neueste PHP-Version zu aktualisieren.

Und natürlich sollten Sie auch das vollständig verwaltete WordPress-Hosting von WP Buffs in Betracht ziehen. WP Buffs bleibt immer einen Schritt voraus, indem es seine Server und PHP-Versionen auf dem neuesten und besten Stand hält, sodass Sie sich nie um die Verwaltung dieser Upgrades kümmern müssen (was ein Teil des Spaßes an der Auslagerung der WordPress-Verwaltung ist). an jemand anderen, oder?)

Zusammenfassung

Beim Erstellen einer WordPress-Website steht die Sicherheit immer im Vordergrund. Deshalb verwenden Sie neben anderen Best Practices für die Sicherheit vertrauenswürdige Plugins und Themes und halten Ihren Kern immer auf dem neuesten Stand. PHP ist nicht anders. Behandeln Sie es wie Ihre anderen WordPress-Tools: Halten Sie es auf dem neuesten Stand und halten Sie sich stets an bewährte Sicherheitspraktiken, damit Sie (und Ihre Website) nachts viel besser schlafen können.

Möchten Sie Ihr Feedback geben oder sich an der Diskussion beteiligen?Fügen Sie Ihre Kommentare auf Twitter hinzu.

Speichern. Speichern