Wie sichern Sie Ihre TYPO3-Seiten vor Hack-Versuchen?

Obwohl TYPO3 ein selbstsicherndes CMS ist, wollen wir versuchen, Ihre TYPO3-Seiten sicherer zu machen. Wie wäre es, die Sicherheit zu erhöhen, indem man den Zugriff auf den TYPO3-Code deaktiviert, indem man die Kerndateien und -ordner sichert? Ja, das ist einer der Hauptgründe, diesen Blog zu schreiben.

Wie sichern Sie Ihre TYPO3-Seiten vor Hack-Versuchen?

Laut einer Umfrage ist TYPO3 eines der sichersten Open Source CMS - es ist ein stolzes Gefühl, mit einer so großartigen Community zusammenzuarbeiten, die ihr Bestes für die Sicherheitsbelange gibt.

Aber ja, wie Sie wissen, ist Sicherheit mit zunehmender Weiterentwicklung ein ständiges Thema, also lassen Sie uns versuchen, Ihre TYPO3-Seiten sicherer zu machen.

Beim letzten TYPO3 Code Sprint India haben wir uns intensiv mit dem Thema Sicherheit von Thomas Loffler auseinandergesetzt - Vielen Dank!

Und ja, wir haben bereits damit begonnen, Hochsicherheitsfunktionen in den Projekten unserer Kunden zu implementieren. Wir freuen uns, sie hiermit auch mit Ihnen zu teilen.

TYPO3 ist das sicherste OpenSource CMS

TYPO3 ist ein gut durchdachtes CMS mit verschiedenen Sicherheitsstufen und Schichten im Kern-Framework. Und das ist der Hauptgrund, warum es im Vergleich zu anderen CMS und Frameworks extrem schwierig oder unmöglich ist, TYPO3-Seiten zu hacken :)

Zahlen und Fakten zum Thema Sicherheit

Ideale sichere Server-Architektur

Obwohl TYPO3 ein selbstsicherndes CMS ist, wäre es besser, mehr Sicherheit auf Server-Ebene zu bieten.

Wie wäre es, die Sicherheit zu erhöhen, indem man den Zugriff (für Web-Benutzer) auf den TYPO3-Code sperrt, indem man die Kerndateien und -ordner sichert? Ja, das ist einer der Hauptgründe, diesen Blog zu schreiben.

Die Hacker oder öffentlichen Benutzer werden keinen Zugriff auf die TYPO3-Kern- und Erweiterungsdateien haben können. Denn, wir werden alles auf "privat" setzen, und der "öffentliche" Ordner wird nur Assets enthalten.

Stellen Sie sich die untenstehende Server-Architektur auf Sicherheitsebene als Ihr TYPO3 Setup vor.

Folder Description
public die nur Assets wie css/js/images etc. enthält, für die Web Public User.
private die typo3 core sysext, typo3conf ext, etc. enthält,
var der Cache, Log, Session, etc. enthält,
vendor die sowohl das CMS als auch die Anbieter von Erweiterungen enthält.

Dank an Helmut Hummel

Klingt interessant, oder? Ein großes Dankeschön an Helmut für sein über 10-jähriges Engagement und seinen Beitrag zur TYPO3-Community - insbesondere zum Thema TYPO3-Sicherheit. Ich möchte sein großartiges TYPO3-Sicherheits-Webpaket https://github.com/helhum/typo3-secure-web vorstellen.

Es ist an der Zeit, Helmut zu würdigen und ihm "Danke" zu sagen, indem Sie mit ihm in Kontakt bleiben und mit ihm verbunden sind unter:

Twitter: https://twitter.com/helhum

Github: https://github.com/helhum

Blogs: https://insight.helhum.io/

Wir wünschen uns, dass das Paket typo3-secure-web in den TYPO3-Kern aufgenommen wird!

Wussten Sie das?

Das TYPO3.org-Projekt wurde mit diesem Paket typo3-secure-web abgesichert :)

TYPO3-Systemanforderung und Konflikt

Hier möchte ich Sie Schritt für Schritt durch die Installation und Konfiguration des Pakets typo3-secure-web composer führen. Lassen Sie uns zunächst prüfen, welche Abhängigkeiten und Konflikte mit diesem Paket bestehen.

Vorraussetzungen und Abhängigkeiten

Folder Description
typo3/cms-core ^8.7.8 || ^9.5.5
typo3/cms-composer-installers ^1.4 || ^2.0
helhum/typo3-composer-setup ^0.5.4

Pflege des Konflikts

Folder Description
helhum/typo3-composer-setup <0.5.4
typo3/cms <8.7.10
typo3/cms-core <8.7.10

Schritt-für-Schritt-Anleitung zur sicheren Installation und Konfiguration von TYPO3

Unser Team richtet TYPO3 mit den besten Standards und Ansätzen der Industrie ein und nutzt Docker/DDEV und Composer für die Projekte unserer Kunden. Lassen Sie uns Ihre TYPO3-Sites mit den folgenden Schritten absichern.

Schritt 1: Erstellen eines Projektordners

mkdir my-typo3-site
cd my-typo3-site

Schritt 2: PHP-Version konfigurieren

ddev config --project-type php --php-version 7.2

Schritt 3: Neueste Version über Composer herunterladen

ddev composer create typo3/cms-base-distribution ^9 --no-interaction
ddev config --project-type typo3
ddev start

Schritt 4: TYPO3-Installationsassistent ausführen

touch public/FIRST_INSTALL

Step 5: At composer.json, Setup private and public folders

"extra": {
    "typo3/cms": {
        "root-dir": "private",
        "web-dir": "public"
    }
}

Schritt 6: Sichern Sie Ihr TYPO3 mit der Ordnerstruktur privat und öffentlich

ddev composer require helhum/typo3-secure-web

Nachdem Sie das TYPO3-secure-web-Paket erfolgreich installiert haben, wird es die gesamte Ordner- und Datei-Architektur auf Ihrem Server wie folgt organisieren:

Zugang zu Privat

"private" Ordner verweist auf den Code von TYPO3 core und extensions. Kein öffentlicher Web-Benutzer wird auf Ihren TYPO3-Code zugreifen können.

Wurzelarchitektur des privaten Ordners

Zugang zur Öffentlichkeit

"Der Ordner /Resources/Public verweist auf das Stammverzeichnis des Webservers und enthält nur Asset-Dateien. In jedem Ordner können Sie nur den Ordner "/Resources/Public/" sehen, der einen Symlink zu einem bestimmten privaten Ordner "/Resources/Public/" enthält.

Wurzelarchitektur des öffentlichen Ordners

Die Architektur von public/typo3temp

Architektur der TYPO3-Extension enthält nur /Resources/Public/ z.B., EXT:news /public/typo3conf/ext/news

Die Architektur des TYPO3-Kerns enthält nur /Resources/Public/ z.B., EXT:backend /public/typo3/sysext/backend/

Fazit

Obwohl das TYPO3 gesichert ist, sollten wir es durch das großartige typo3-secure-web composer-Paket noch sicherer machen.

Don’t forget to say “Thanks to Helmut” for his great efforts to the TYPO3 community.

Treten bei der Einrichtung Probleme auf? Bitte setzen Sie sich mit uns in Verbindung, um Unterstützung zu erhalten.

Kennen Sie weitere Tipps und Tricks zur Absicherung von TYPO3? Wir würden uns über Ihr Feedback im Kommentarfeld unten freuen.

Menschen zum Sichern inspirieren!

Comments and Responses

×

Name is required!

Enter valid name

Valid email is required!

Enter valid email address

Comment is required!

You have reached the limit for comments!

* These fields are required.

Be the First to Comment