Skip to content

Security: CSWebations/mfi-example-page

Security

SECURITY.md

Sicherheit

Unterstützte Versionen

Sicherheitskorrekturen erscheinen jeweils für die aktuelle Fassung. Ältere Versionen werden nicht rückwirkend gepflegt.

Version Unterstützt
1.0.x ja

Eine Schwachstelle melden

Bitte keine öffentlichen Issues für Sicherheitsprobleme anlegen. Ein öffentlicher Hinweis ist auch für alle anderen Installationen dieser Vorlage einsehbar, bevor eine Korrektur bereitsteht.

Zwei Wege stehen offen:

  1. Über GitHub – auf der Registerkarte Security dieses Projekts unter Report a vulnerability. Der Bericht ist nur für die Projektbetreuung sichtbar.
  2. Über die Website – das Kontaktformular auf maehbarkeitsindex.de mit dem Betreff „Sicherheit MFI Example Page".

Hilfreich für die Einordnung sind: betroffene Version, PHP-Version, Hosting-Umgebung, eine möglichst knappe Beschreibung des Ablaufs und die erwartete Auswirkung.

Sie erhalten in der Regel innerhalb von sieben Tagen eine Rückmeldung. Nach einer Korrektur wird die Schwachstelle im Changelog vermerkt – auf Wunsch mit Nennung der meldenden Person.

Was dieses Projekt sicherheitsrelevant tut

Wer den Code prüft, findet diese Stellen zuerst:

Bereich Verhalten
Zugangsdaten Liegen in config.php außerhalb des öffentlichen Verzeichnisses und sind von der Versionsverwaltung ausgenommen
Einrichtungsassistent Nur erreichbar, solange keine Konfiguration existiert; der erste Aufruf reserviert ihn für einen Browser; nach Abschluss löscht er sich selbst
Datenbank Ausschließlich vorbereitete Anweisungen über PDO, keine Zeichenkettenverkettung
Ausgabe Alle Werte werden maskiert; Auszeichnungen aus API-Texten nur über eine feste Liste ohne Attribute
Fehler Erreichen den Browser nie im Klartext – Pfade und Ablaufinformationen landen ausschließlich in var/error.log
Web-Cron Nur mit Token erreichbar, verglichen in konstanter Zeit
Seitenauflösung Slugs gegen einen festen Ausdruck geprüft, kein Zugriff außerhalb der Seitenverzeichnisse
Externe Ressourcen Keine – alle Dateien werden vom eigenen Server ausgeliefert

Für Betreiber

Einige Punkte liegen außerhalb dessen, was die Vorlage selbst absichern kann:

  • config.php niemals in ein öffentliches Repository aufnehmen. Ist es doch geschehen, müssen beide API-Schlüssel und das Datenbankpasswort neu erzeugt werden.
  • runtime.debug gehört im laufenden Betrieb auf false. Andernfalls werden Serverpfade für jeden Besucher sichtbar.
  • public/setup.php sollte nach der Einrichtung nicht mehr auf dem Server liegen. Der Assistent entfernt sich selbst; schlägt das mangels Schreibrechten fehl, weist er darauf hin.
  • Das Verzeichnis var/ darf nicht über das Web erreichbar sein. Bei der empfohlenen Struktur mit public/ als Webroot ist das automatisch der Fall.

There aren't any published security advisories