From 67b231487880a16f93c5a15d423b5ccb8ebca330 Mon Sep 17 00:00:00 2001 From: Clemens Creutzburg Date: Wed, 2 Sep 2026 22:05:22 +0200 Subject: [PATCH] Oeffentlich abrufbare .vscode-Zugangsdaten abgestellt Beim Umstellen der git-ftp-Konfiguration ist aufgefallen, dass .vscode/ auf dem Server lag und per HTTPS ohne jede Sperre abrufbar war: sftp.json und ftp-sync.json lieferten mit HTTP 200 das FTP-Passwort im Klartext aus, settings.json Host, Datenbankname und Benutzer der MySQL-Verbindung (dort ohne Passwort). Die drei Dateien und das Verzeichnis sind vom Server geloescht, die URLs antworten jetzt mit 404. .git/ war bereits serverseitig gesperrt, ebenso .git-ftp.log und die .sql-Datei im Root. Zusaetzlich sperrt die Root-.htaccess jetzt Editor-, Versions- und Konfigurationsdateien: Punkt-Verzeichnisse (.git, .vscode, .svn, .hg, .idea, .env) per RedirectMatch 404 sowie die Endungen jsonc, sql, log, ini, bak, old, orig, save, swp, dist. Vorher geprueft, dass nichts davon per HTTP geladen wird; .json ist bewusst nicht gesperrt, damit Bibliotheken unter admin/ weiter funktionieren. Nach dem Ausrollen verifiziert: Startseite, /termine (Rewrite), intern, zeiterfassung, admin, CSS, JS und Bilder liefern weiter 200. .git-ftp.log ist aus der Versionierung genommen. Die Datei ist der Deployment-Zustand, den git-ftp auf dem Server fuehrt; die lokale Kopie stammt nur aus dem Sync und kann den eigenen Commit naturgemaess nie enthalten. Co-Authored-By: Claude Opus 5 --- .git-ftp.log | 1 - .gitignore | 4 ++++ .htaccess | 14 ++++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) delete mode 100644 .git-ftp.log diff --git a/.git-ftp.log b/.git-ftp.log deleted file mode 100644 index 8bfe357..0000000 --- a/.git-ftp.log +++ /dev/null @@ -1 +0,0 @@ -00077aa09a2f4a21e4af14c732f37ef15feb6c38 diff --git a/.gitignore b/.gitignore index 87bc66d..cc45dde 100644 --- a/.gitignore +++ b/.gitignore @@ -44,3 +44,7 @@ sync_config.jsonc # Editor-Deploy-Konfigurationen enthalten FTP-Passwoerter. /.vscode/ftp-sync.json /.vscode/sftp.json + +# Zustand des FTP-Deployments - wird von git-ftp auf dem SERVER gefuehrt, +# die lokale Kopie ist nur ein Abbild und gehoert nicht in die Versionierung. +/.git-ftp.log diff --git a/.htaccess b/.htaccess index ccbf9f1..168df78 100644 --- a/.htaccess +++ b/.htaccess @@ -23,3 +23,17 @@ RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] + +# Editor-, Versions- und Konfigurationsdateien nie ausliefern. +# Anlass: .vscode/ war oeffentlich abrufbar und enthielt FTP-Zugangsdaten. +RedirectMatch 404 (?i)/\.(git|vscode|svn|hg|idea|env)(/|$) + + + + Require all denied + + + Order allow,deny + Deny from all + +