Download the PHP package vtinnovations/contao-security-suite without Composer

On this page you can find all versions of the php package vtinnovations/contao-security-suite. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package contao-security-suite

Contao Security Suite

Contao-native Sicherheitsüberwachung, ‑Audit und ‑Härtung mit einer modernen Backend-Sicherheitskonsole.

PHP ^8.1 Contao ^5.3 Proprietäre Lizenz

Deutsch (primär) · English version


Projektübersicht

Die Contao Security Suite ist ein Contao-Bundle, das eine Backend-Sicherheitskonsole für eine Contao-Installation bereitstellt. Sie beantwortet zwei Fragen gleichzeitig:

  1. Sicherheitslage – ist diese Installation sicher konfiguriert?
  2. Sicherheitsaktivität – ist etwas Auffälliges geschehen?

Dazu führt sie einen Satz lokaler Sicherheitsprüfungen aus, berechnet daraus einen Sicherheitsscore, verwaltet Feststellungen („Findings") über ihren gesamten Lebenszyklus, zeichnet Sicherheitsereignisse auf, wertet die Backend-Anmeldeaktivität aus und korrigiert – in der Pro-Edition – was sie sicher selbst korrigieren kann: Ein-Klick-Behebung mit Vorschau, Verifizierung und Rollback, automatische IP-Sperrung für die Backend-Anmeldung (Aktiver Schutz) und Quarantäne für exponierte oder verdächtige Dateien, plus Pfadsondierungserkennung, Quellenreputation, ausgewählte Frontend-Drosselung, Upload-Prävention und gebündelte Sicherheitsbenachrichtigungen in Stage 2. Stage 3 ergänzt adaptive lokale Anmelde-Challenges, sicherheitsbewusste Backend-Sitzungen und einen vertrauensnetz-basierten Notfall-Sperrmodus. Stage 4 ergänzt optionale externe Durchsetzung (Cloudflare), Fail2ban-Signale, gecachte Bedrohungsdaten, Pfad-Härtung, TLS-/Zertifikatsprüfung und sichere Vorfallnachweise. Diese Funktionen ersetzen keine Server- oder Netzwerk-Firewall.

Eigenschaft Wert
Paket vtinnovations/contao-security-suite
Typ contao-bundle
Namespace Vtinnovations\ContaoSecuritySuite
Lizenzmodell proprietär, Nicht lizenziert / Free / Pro (V‑T.ONE)
Website https://www.v-t.one

Aktueller Implementierungsstatus

Alle zwölf Bereiche der Suite sind als echte, funktionsfähige Module umgesetzt. Der Sicherheitsscore, die Findings, die Ereignisse, die Login-Auswertung und die Dashboard-Kacheln stammen aus tatsächlich erhobenen Daten – nicht aus Beispieldaten. Die Analyse-Engine ist in der Free- und in der Pro-Edition aktiv; die Lizenzierung schaltet den Zugriff auf die Bereiche außer dem Dashboard sowie sämtliche verändernden Aktionen frei, nicht die Analyse selbst.

Das Repository trägt die Version dev-main und ist nicht getaggt. Es wird als Git- bzw. Pfad-Repository oder über den Contao Manager aus dem V‑T.ONE-Paketkanal installiert.

Unterstützte Versionen

Komponente Anforderung
PHP ^8.1
Contao ^5.3 (contao/core-bundle)
Symfony ^6.4 \|\| ^7.0 (durch Contao vorgegeben)
Doctrine DBAL ^3.6 \|\| ^4.0
Zwei-Faktor-Authentifizierung scheb/2fa-bundle ^6 \|\| ^7 \|\| ^8
Datenbank die von Contao verwendete MySQL-/MariaDB-Verbindung

Systemvoraussetzungen

Installation

Anschließend die Datenbank aktualisieren und den Cache leeren:

Über den Contao Manager wird das Paket wie jedes andere Bundle hinzugefügt; der Manager führt Migration und Cache-Leerung selbst aus. Die Backend-Assets (CSS/JS) werden bei der Paketinstallation nach public/bundles/vtinnovationscontaosecuritysuite/ kopiert.

Es sind keine Einträge in config/config.yaml, keine manuelle Bundle-Registrierung und keine Änderungen an .htaccess oder an der Server-Konfiguration erforderlich. Die Bundle- und Routen-Registrierung übernimmt das mitgelieferte Contao-Manager-Plugin.

Backend-Zugriff und Berechtigungen

Die Suite wird über einen einzigen Einstiegspunkt erreicht: Einstellungen → Security Suite in der linken Backend-Navigation (Contao-Kerngruppe „System"). Dieser Eintrag öffnet das Security-Dashboard. Alle weiteren Bereiche werden über die horizontale Registerkartenleiste innerhalb jeder Seite angesteuert; sie sind aus der linken Navigation ausgeblendet, aber einzeln als Backend-Module registriert und werden von Contao einzeln rechtlich geprüft.

Editionen: Nicht lizenziert, Free und Pro

Die Lizenz wird nicht im Einstellungen-Bereich der Suite eingetragen, sondern im normalen Contao-Backend unter Einstellungen → „V‑T.ONE Licence management". Dieser Abschnitt ist die gemeinsame Lizenzverwaltung aller V‑T.ONE-Produkte; die Contao Security Suite fügt dort ihr eigenes Feld hinzu, ohne die Felder anderer V‑T.ONE-Pakete zu verändern.

Edition Voraussetzung Verfügbar
Nicht lizenziert kein gültiger, signierter Lizenzdatensatz (nichts eingetragen, entfernt, verfälscht, ungültig oder für eine andere Domain) Nur die Hülle: Navigation, Dashboard-Rahmen und der Hinweis zur Lizenzierung. Kein Scan, keine Behebung, keine Pro-Bereiche, kein Aktiver Schutz, keine Exporte, keine externe Durchsetzung. „Keine Lizenz“ ist nicht Free.
Free gültiger, signierter Free-Datensatz (oder eine abgelaufene Pro-Lizenz, die ausdrücklich den Free-Funktionsumfang weiter erlaubt) Security-Dashboard und die vollständige Analyse dahinter: Audit-Scan, Score, Findings-Zusammenfassung, Ereignis- und Login-Übersicht auf dem Dashboard, security-suite:scan und die Aufbewahrungs-Crons.
Pro gültiger, signierter Pro-Datensatz (oder ein noch nicht abgelaufener Trial), an eine hier konfigurierte Domain gebunden Alle Bereiche, alle Detailansichten, Ereignisse, Login-Sicherheit einschließlich Aktivem Schutz (automatische IP-Sperrung, Angriffsmodus, vertrauenswürdige IPs/CIDRs), CSP, HTTP-Header, Benutzer & Zugriff, Dateien (einschließlich Quarantäne und Löschen), Erweiterungen, System, Berichte, Einstellungen sowie die gesamte Behebung (Einzel-Fix, Bereichs-„Alle beheben", Dashboard-„Alle beheben", Rollback). Die Free-Edition hat die Analyse, aber keine Behebung und keine Sperrung.

Die Lizenzprüfung erfolgt lokal und ohne Netzwerkaufruf. Schlägt die Auswertung aus irgendeinem Grund fehl, ist das Ergebnis nicht lizenziert (restriktiv bei Fehlern) – nie stillschweigend Free und nie ein defektes Backend. Ein abgelaufener oder widerrufener Pro-Datensatz fällt nur dann auf Free zurück, wenn die wirksame Lizenz dies ausdrücklich erlaubt. Beim Entfernen oder Ablaufen der Lizenz bleiben alle gespeicherten Findings, Ereignisse, Scans, Baselines, Konfigurationen und Verläufe erhalten.

Details – Lizenzzustände, Aktivierung, Aktualisierung, Entfernung und die vollständige Berechtigungsmatrix – stehen in Documentation/Lizenzierung.md.

Navigationsbereiche

Reihenfolge wie in der Registerkartenleiste der Suite:

# Bereich Zweck Edition
1 Dashboard Sicherheitsscore mit Aufschlüsselung je Domain, Kennzahlen, Aktivitätsdiagramm, Findings-nach-Schweregrad, priorisierte Probleme, Login-/Angriffsauswertung, kombinierte Zeitleiste, Status der Sicherheitskontrollen, CSP-Vorschau, Scan-Status, 30-Tage-Score-Trend. Free und Pro
2 Sicherheitsprobleme Priorisierte Findings-Liste mit vollständigem Lebenszyklus (offen, behoben, Behebung ausstehend, ignoriert, Risiko akzeptiert), Verlauf, Filter, Suche, Einzelbehebung und „Alle beheben". Nur Pro
3 Ereignisse Aufgezeichnete Sicherheitsereignis-Telemetrie (Backend-Anmeldeaktivität, Scan-Lebenszyklus, Finding-Übergänge) mit Blättern und CSV-Export der gefilterten Ansicht. Nur Pro
4 Login-Sicherheit Auswertung der Backend-Authentifizierung (erfolgreiche und auffällige Anmeldungen, gezielt angegriffene Konten, Quell-IP-Adressen, Trend) und Aktiver Schutz: Ratenbegrenzung, automatische temporäre IP-Sperrung, manuelles Sperren / Entsperren, vertrauenswürdige IPs und CIDR-Bereiche sowie Angriffsmodus. Nur Pro
5 CSP Bedienbare Konfigurationsschicht über der nativen Content-Security-Policy je Contao-Website-Root. Nur Pro
6 HTTP-Header Konfiguration der anwendungsseitigen Sicherheits-Header je Website-Root, Live-Prüfung der tatsächlichen Antwort, Konfliktanalyse (mit genauem Header, beobachteten Werten und wahrscheinlicher Quelle), HSTS. Nur Pro
7 Benutzer & Zugriff Audit der Backend-Konten, Gruppen, Rechte und 2FA-Abdeckung; die Feststellungen verlinken direkt auf den genauen Benutzer bzw. die genaue Gruppe. Nur lesend – ändert nie ein Konto. Nur Pro
8 Dateien Begrenzter Dateisystem-Scan, Datei-Integritäts-Baseline, öffentlich erreichbare sensible Dateien, auffällige Dateien und Rechte – mit Quarantäne (umkehrbar), Löschen (ausdrücklich bestätigt) und Rechtekorrektur. Nur Pro
9 Erweiterungen Composer-Inventar, composer audit, bekannte Schwachstellen, aufgegebene Pakete, Composer-Integrität. Nur Pro
10 System Audit von Contao-, Server- und Umgebungs-Sicherheitskonfiguration (PHP-Laufzeit, Session-Cookies, vertrauenswürdige Proxys, Debug-Modus, PHP-Version, Contao-Version) mit projektlokalen Behebungen (.user.ini, .env.local), wo die Anwendung sie vornehmen kann. Nur Pro
11 Berichte Fünf Berichtstypen aus persistierten Daten, Export als CSV (formelinjektionssicher) und als druckfreundliche HTML-Seite. Nur Pro
12 Einstellungen Zentraler typisierter Konfigurationsspeicher der Suite mit Prüfschema und Änderungsprotokoll. Nur Pro

Verifizierte Modulfunktionen

Aktiver Schutz — Stage 2

Die Pro-Edition erkennt zentral bekannte Sondierungspfade wie /.env, /.git/, wp-login.php, phpmyadmin, Datenbank-Dumps, Backup-Archive, Shell-Dateien, Composer-Dateien und Editor-Backups. Ein einzelner normaler 404 wird nicht als Angriff gewertet; wiederholte unterschiedliche Signaturen erhöhen eine lokale, deterministische Quellenreputation mit 24-Stunden-Halbwertszeit. Backend-Fehler, Password-Spraying, Frontend-Missbrauch, geblockte Versuche und gefährliche Uploads werden in einem begrenzten Quellenprofil aggregiert statt als eine Datenbankzeile je Request gespeichert.

Passwort-Reset, Mitglieder-Login, Registrierung und identifizierbare Contao-Formulare erhalten getrennte konfigurierbare Kurzzeitfenster. Gefährliche Erweiterungen, doppelte Erweiterungen und offensichtlicher serverseitiger Inhalt werden aus dem temporären Multipart-Upload vor der Contao- Speicherung abgewiesen. Benachrichtigungen verwenden Contao's/Symfonys konfigurierten Mailer und werden mit persistentem Cooldown dedupliziert; ein Mailfehler unterbricht nie den Schutz.

Anwendungsseitiger Schutz sieht nur Requests, die PHP/Contao erreichen. Eine von nginx/Apache direkt ausgelieferte statische .zip, .env oder Backup-Datei kann nicht nachträglich abgefangen werden; dafür bleibt der Files-Scanner zuständig. Stage 2 ersetzt keine Netzwerk- oder Webserver-Firewall und vertraut nicht auf User-Agent-Namen. Details stehen in Documentation/Aktiver-Schutz-Stage2.md.

Sicherheitsprüfungen und Score

Die Suite registriert 27 unabhängige Sicherheitsprüfungen in zehn Sicherheitsdomänen. Jede Prüfung wertet ausschließlich lokalen Contao-/Anwendungszustand aus, läuft isoliert (eine fehlschlagende Prüfung stoppt die übrigen nicht) und liefert ein einzelnes Ergebnis. Der Score wird je Domäne aggregiert und daraus ein Gesamtwert von 0–100 gebildet, der ausdrücklich nur die bisher implementierten Prüfungen widerspiegelt.

Domäne Prüfungen
Contao-Kern 1
Erweiterungen 3
Authentifizierung 2
HTTP-Header 4
CSP 3
Server-Konfiguration 6
Dateisicherheit 4
Benutzersicherheit 3
SSL/TLS 1
Überwachung 1

Die vollständige Referenz aller 27 Prüfungen – erkannter Zustand, Sicherheitsdomäne, Behebungsklasse, Verifikation und Rollback – steht in Documentation/Sicherheitspruefungen.md.

Einen Scan auslösen

Weg Beschreibung
Backend Schaltfläche „Audit-Scan ausführen" auf dem Dashboard (POST, Request-Token, erneute Rechteprüfung).
Kommandozeile vendor/bin/contao-console security-suite:scan
Cron Contao-Cron-Job, wenn geplante Scans in den Einstellungen aktiviert sind und die konfigurierte Frequenz zum ausgelösten Intervall passt.

Ein Scan liest nur Konfiguration und zeichnet Findings auf. Er ändert nichts an der Website. Er braucht eine gültige signierte Free- oder Pro-Lizenz; die Prüfung gilt für jeden Einstiegspunkt (Dashboard, Befehlszeile, geplante Scans).

Behebung von Sicherheitsproblemen (Pro)

Das Prinzip: Wenn die Security Suite den zugrunde liegenden Zustand sicher korrigieren kann, bietet Pro eine echte Aktion in der Suite. Manuell bleibt nur, was wirklich einen Menschen oder eine Infrastruktur erfordert, die die Anwendung nicht erreicht – und selbst dann nennt die Suite die genauen Schritte. Die Free-Edition hat die Analyse und keine Behebung; jeder Fix-Endpunkt erzwingt Pro auf dem Server.

Klasse Bedeutung Bestätigung
AutoSafe folgenlose Korrektur einer Suite-eigenen Einstellung keine
AutoConfirm die Suite führt die Änderung selbst aus, sie hat aber Folgen – Vorschau, dann eine Bestätigung eine Bestätigung (Dialog)
Assisted die Suite kann es nicht selbst abschließen: genaue Schritte aus Live-Daten plus Direktlink zum genauen Datensatz –
Manual es gibt keine Behebung auf Anwendungsebene; Grund und genaue Schritte werden angezeigt –
None rein informativ –

Eine Klasse ist nie ein Versprechen, das der Code nicht halten kann: Eine Prüfung zählt nur dann als „behebbar“, wenn ein registrierter Handler existiert und in dieser Umgebung gerade ausgeführt werden kann (seine Voraussetzungen gelten). Andernfalls wird sie ehrlich als „Prüfung erforderlich“ mit Begründung gemeldet.

Was jede Prüfung kann

Prüfung Klasse Aktion Nachweis Rollback
suite.hardening AutoSafe Stellt die Suite-Basis wieder her: Ereignis-Aufbewahrung ≥ 30 Tage; Überwachung, Erfassung von Anmeldeereignissen, Dateiscan, Dateiintegrität und Advisory-Prüfungen eingeschaltet. Fasst Aktiven Schutz, vertrauenswürdige Quellen und Sperren nie an. Prüfung wird wiederholt ja
headers.security_headers AutoConfirm Die empfohlene Header-Voreinstellung je Website-Root (nur gesetzt, wenn die Antwort den Header nicht bereits enthält). Live-Antwort neu abgerufen, Prüfung wiederholt ja
headers.hsts AutoConfirm Ein zurückhaltendes Strict-Transport-Security von der Suite: max-age=15552000, nie includeSubDomains oder preload. Nur angeboten, wenn der letzte Scan die Live-Antwort jeder Wurzel über https:// abgerufen hat. die Live-Antwort muss den Header enthalten; „konfiguriert, aber nicht beobachtet“ ist ausstehend, nie behoben ja
headers.https_context AutoConfirm Schaltet „SSL verwenden“ (tl_page.useSSL) für Wurzeln ein, die noch http://-URLs erzeugen – nur mit Nachweis, dass https:// funktioniert, und nie aus einem Klartext-HTTP-Backend. Zertifikate, Weiterleitungen und Webserver-TLS werden angeleitet, nicht behauptet. Prüfung wiederholt ja
headers.conflicts Assisted Je Konflikt: Header, beobachtete Werte, Sollwert, wahrscheinliche Quelle (CDN / Webserver) und die genaue Maßnahme. Eine andere Schicht besitzt den Wert; die Anwendung kann sich dagegen nicht sicher durchsetzen. nächstes Audit –
csp.configuration AutoConfirm Eine erzwungene Richtlinie je Wurzel aus der eigenen Architektur der Suite (Basis oder gespeicherte Konfiguration der Wurzel). Eine fremde Richtlinie wird nie ersetzt. Prüfung wiederholt ja
csp.policy_quality AutoConfirm Wendet die eigene kompilierte Richtlinie einer verwalteten Wurzel erneut an, wenn die gespeicherte Richtlinie abgewichen ist (Wildcard, unsafe-eval, Reporting an). Listet genau, welche Quellen verschwinden. Eine Schwäche in der Konfiguration selbst oder eine nicht verwaltete Richtlinie bleibt manuell. Prüfung wiederholt genauer vorheriger Zustand
csp.inline_styles AutoConfirm Ersetzt die alte pauschale Option style-src 'unsafe-inline' durch das eingegrenzte style-src-attr – nur, wo das installierte Contao es akzeptiert. script-src wird nie angefasst. Prüfung wiederholt genauer vorheriger Zustand
authentication.backend_2fa Assisted Nennt jedes betroffene Konto mit Direktlink zu seinem Contao-Datensatz. Die Suite richtet nie jemanden ein und erzeugt kein Geheimnis. Contao meldet 2FA aktiv –
users.admin_hygiene Assisted Direktlink zu jedem markierten Konto. Wer welches Privileg hält, ist eine menschliche Entscheidung. nächstes Audit –
users.privileged_groups Assisted Direktlink zu jeder markierten Gruppe. Es wird nie eine Berechtigung für Sie entfernt. nächstes Audit –
authentication.request_token Manual Der CSRF-Schutz lässt sich von innerhalb der Anwendung nicht reparieren, wenn der Token-Manager im Container fehlt. nächstes Audit –
files.sensitive_exposure AutoConfirm Verschiebt exponierte Dateien in den nicht öffentlichen Quarantänebereich. Löschen ist eine eigene, ausdrücklich bestätigte Aktion je Datei. ursprünglicher Pfad weg, Scan wiederholt ja (Wiederherstellen)
files.suspicious AutoConfirm Verschiebt verdächtige oder getarnte Uploads in die Quarantäne, ohne sie zu öffnen oder auszuführen. Löschen bleibt eine eigene ausdrückliche Aktion. ursprünglicher Pfad weg, Scan wiederholt ja (Wiederherstellen)
files.permissions AutoConfirm Entfernt das Schreibrecht für alle (nur dieses Bit) bei genau den Dateien, die der Scan genannt hat – nie einen Baum, nie einen Symlink. jeder Modus neu gelesen, Prüfung wiederholt ja (vorherige Modi)
files.integrity Assisted Listet, was sich geändert hat, lässt Sie eine hinzugekommene Datei in Quarantäne verschieben und sagt, dass das Aktualisieren der Baseline eine eigene Entscheidung ist. Es gibt keine vertrauenswürdige Kopie zum Wiederherstellen, und das Akzeptieren einer Änderung würde einen möglichen Einbruch verbergen – daher nie eine „Behebung“. nächstes Audit –
extensions.known_vulnerabilities AutoConfirm Ein eingegrenztes composer update <verwundbare Pakete> mit --no-scripts --no-plugins: zuerst ein Probelauf (er darf nichts entfernen, nichts herabstufen, kein fremdes Contao-Kernpaket berühren und muss in einem kleinen Paketbudget bleiben), composer.json / composer.lock gesichert. Nie ein uneingeschränktes composer update. ein frisches composer audit --locked findet keinen Hinweis Dateien wiederhergestellt + composer install
extensions.abandoned Assisted Direkt oder transitiv, der von Composer genannte Ersatz und die genauen Befehle. Ein Paket zu ersetzen ist eine Kompatibilitätsentscheidung. nächstes Audit –
extensions.composer_integrity AutoConfirm composer install --no-scripts --no-plugins – installiert genau das, was composer.lock festschreibt, und ermittelt nie neue Versionen. Eine fehlende Lock-Datei oder eine ungültige composer.json bleibt bei einem Menschen. Integritätsanalyse wiederholt –
server.app_debug AutoConfirm Schreibt APP_DEBUG=0 in die .env.local des Projekts (andere Zeilen bleiben erhalten). ausstehend, bis der nächste Start es beweist ja
server.php_version Manual Ein PHP-Upgrade ändert die gesamte Plattform. – –
system.php_runtime AutoConfirm Schreibt display_errors / display_startup_errors in die .user.ini im Document-Root (projektlokal, andere Direktiven bleiben erhalten, nie eine globale php.ini) und entfernt den PHP-Header X-Powered-By. allow_url_include und expose_php selbst sind serverseitig und bleiben angeleitet. Datei zurückgelesen; ausstehend, weil PHP die .user.ini nur alle user_ini.cache_ttl Sekunden neu liest ja
system.session_cookies AutoConfirm Schreibt die Session-Cookie-Flags in die .user.ini (Secure nur, wenn Sie über HTTPS arbeiten, kann Sie also nie aussperren). Datei zurückgelesen; ausstehend bis zum nächsten Scan ja
system.trusted_proxies Assisted Die genauen derzeit vertrauenswürdigen Bereiche und eine Beispielkonfiguration. Welchen Adressen vertraut wird, hängt vom Netzwerk vor der Website ab. nächstes Audit –
contao.version Manual Ein Contao-Upgrade muss von einem Menschen geplant, getestet und durchgeführt werden. – –
users.inventory None informativ – –

Abdeckung nach Klasse: 27 Prüfungen – 1 AutoSafe, 14 AutoConfirm, 7 Assisted, 4 Manual, 1 None. Ein Test zählt jede registrierte Prüfung auf und schlägt fehl, wenn eine ohne ausdrückliche Behebungsentscheidung hinzukommt.

Wie eine Behebung abläuft

Was bei einem Menschen bleibt – und warum

Kommandozeilenbefehle

security-suite:scan braucht eine gültige signierte Free- oder Pro-Lizenz (sonst Exit-Code 5); security-suite:purge-events ist Datenpflege und läuft unabhängig davon. Verändernde Aktionen (Behebung, Konfiguration, Export) gibt es nicht als CLI-Pfad.

Geplante Aufgaben (Cron)

Cron-Job Intervall Wirkung
Aufbewahrung täglich Wendet die konfigurierten Aufbewahrungsfenster an; entfernt nur Zeilen, die älter als die (begrenzten) Fenster sind.
Geplanter Scan jedes von Contao unterstützte Intervall Führt nur dann einen Scan aus, wenn die Einstellungen geplante Scans aktivieren und die konfigurierte Frequenz zum ausgelösten Intervall passt.

Beide setzen einen laufenden Contao-Cron voraus (contao:cron). Wird der Cron auf dem Server nicht ausgelöst, geschieht nichts – und der Einstellungen-Bereich sagt das offen und verweist auf den direkten Befehl security-suite:scan.

Laufzeitverzeichnisse

Pfad Inhalt
var/contao_security_suite/ Private Laufzeitdaten der Suite, darunter die Lizenzdaten. Liegt außerhalb des öffentlichen Web-Roots. Muss beschreibbar sein.
public/bundles/vtinnovationscontaosecuritysuite/ Bei der Paketinstallation kopierte Backend-Assets (CSS/JS).
var/contao_security_suite/quarantine/ Von „Datei sichern“ / der Dateibehebung aus dem Web-Root verschobene Dateien, je mit JSON-Manifest. Nie per Web erreichbar.
var/contao_security_suite/backups/ Sicherungen von composer.json / composer.lock vor einem eingegrenzten Paket-Update (für den Rollback).
public/.user.ini, .env.local Nur von der System-Behebung geschrieben (markierter Block / eine Variable, übriger Inhalt bleibt erhalten; der vorherige Inhalt ist der Rollback-Schnappschuss).
Datenbank 20 Tabellen mit dem Präfix tl_secsuite_ plus ein Feld in tl_settings. Das Schema wird von contao:migrate verwaltet; die tägliche Aufbewahrung bereinigt auch alte Request-Fenster, Benachrichtigungs-Cooldowns, externe Aktionen und Threat-Intelligence-Caches.

Datenbanktabellen

tl_secsuite_scan, tl_secsuite_finding, tl_secsuite_finding_history, tl_secsuite_event, tl_secsuite_remediation, tl_secsuite_snapshot, tl_secsuite_csp_config, tl_secsuite_csp_backup, tl_secsuite_header_config, tl_secsuite_file_baseline, tl_secsuite_setting, tl_secsuite_setting_log, tl_secsuite_ip_block, tl_secsuite_source, tl_secsuite_request_window, tl_secsuite_notification, tl_secsuite_session, tl_secsuite_external_block, tl_secsuite_intelligence und tl_secsuite_lockdown (Zustand des Aktiven Schutzes, der Sitzungen, der Edge-Durchsetzung und der Intelligence). Alle sind reine Speicher-Tabellen (keine BE_MOD-Tabellen, keine Bearbeitung von Hand). Abgelaufene/alte Betriebszeilen werden täglich bereinigt; Einstellungen, Schnappschüsse und CSP-Backups bleiben Konfigurations- bzw. Rollback-Zustand.

Externe Kommunikation

Die lokale Analyse benötigt keine fremde externe Abhängigkeit. Optionale externe Kommunikation ist standardmäßig deaktiviert und findet nur in diesen klar abgegrenzten Fällen statt:

Protokollierung

Die Suite protokolliert über den eigenen Monolog-Kanal contao_security_suite (sofern Monolog verfügbar ist). In Ereignissen, im Behebungsverlauf und in Protokollen stehen keine Geheimnisse: Der Lizenzschlüssel wird nie zurückgegeben (nur seine letzten Zeichen werden angezeigt), Header-/CSP-Snapshots enthalten Konfigurationswerte, aber keine Zugangsdaten, und Einstellungswerte werden als kurze Zeichenketten geführt. IP-Adressen können über die Einstellung privacy_mask_ips maskiert werden; Berichte können Benutzernamen maskieren und IP-Adressen ausschließen.

Sicherheitsmodell

Verifizierte Kontrollen:

Unterscheiden Sie:

Die Suite trifft keine Aussage darüber, dass ein Lizenz- oder Sicherheitssystem nicht umgangen werden könne.

Deployment und Cache

Nach jeder Aktualisierung des Bundles:

Über den Contao Manager werden beide Schritte automatisch ausgeführt. Ein separater Build-Schritt für die Backend-Assets ist nicht nötig; sie werden bei der Paketinstallation nach public/bundles/ kopiert.

Tests

Die Testsuiten sind in phpunit.xml.dist definiert (unit und integration).

php tools/remediation-coverage.php gibt die Behebungsklassifizierung jeder registrierten Prüfung mit dem sie stützenden Handler bzw. der Anleitung aus (gesamt / AUTO_SAFE / AUTO_CONFIRM / ASSISTED / MANUAL / NONE); tests/Remediation/RemediationCoverageTest.php schlägt fehl, wenn eine Prüfung ohne ausdrückliche Behebungsentscheidung hinzukommt oder ein Behebungssatz in EN oder DE fehlt.

Fehlerbehebung

Symptom Ursache und Abhilfe
„Security Suite" erscheint nicht in der Navigation Migration ausführen und Cache leeren; sicherstellen, dass der Benutzer das Recht am Modul security_suite_dashboard hat.
Alle Bereiche außer Dashboard sind gesperrt Die Installation ist nicht lizenziert oder läuft als Free. Eine gültige Lizenz unter Einstellungen → „V‑T.ONE Licence management" aktivieren.
„Für diese Installation ist keine Domain konfiguriert" Auf der Startseite (Root-Seite) in der Seitenstruktur eine Domain eintragen und die Lizenz erneut aktivieren.
Der Erweiterungen-Bereich meldet „Advisory-Daten nicht verfügbar" composer ist auf dem Server nicht ausführbar oder der Aufruf konnte nicht abgeschlossen werden. Das ist ausdrücklich nicht dasselbe wie „keine Schwachstellen".
Geplante Scans laufen nicht Es ist kein Contao-Cron eingerichtet. contao:cron per System-Cron einrichten oder security-suite:scan direkt aufrufen.
„Die Lizenz wurde verifiziert, konnte aber nicht gespeichert werden" var/contao_security_suite/ ist nicht beschreibbar.
Der CSP-/Header-Bereich zeigt keine Website-Roots Es ist keine Root-Seite mit Domain konfiguriert.

Tatsächliche bekannte Einschränkungen

Lizenz und Urheberrecht

Proprietär. © V&T Innovations Team. Siehe https://www.v-t.one.

Diese Software ist kein Open-Source-Produkt. Die Nutzung des Pro-Funktionsumfangs setzt eine gültige, an die Installationsdomäne gebundene Lizenz voraus.

Weiterführende Dokumentation


All versions of contao-security-suite with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
contao/core-bundle Version ^5.3
doctrine/dbal Version ^3.6 || ^4.0
psr/log Version ^3.0
scheb/2fa-bundle Version ^6.0 || ^7.0 || ^8.0
symfony/config Version ^6.4 || ^7.0
symfony/console Version ^6.4 || ^7.0
symfony/dependency-injection Version ^6.4 || ^7.0
symfony/event-dispatcher Version ^6.4 || ^7.0
symfony/http-client-contracts Version ^3.0
symfony/http-foundation Version ^6.4 || ^7.0
symfony/http-kernel Version ^6.4 || ^7.0
symfony/process Version ^6.4 || ^7.0
symfony/routing Version ^6.4 || ^7.0
symfony/security-bundle Version ^6.4 || ^7.0
symfony/security-core Version ^6.4 || ^7.0
symfony/security-http Version ^6.4 || ^7.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package vtinnovations/contao-security-suite contains the following files

Loading the files please wait ...