Skip to content
Diese Seite wurde mit KI übersetzt und kann Ungenauigkeiten enthalten. Hilf mit, sie auf GitHub zu verbessern.

Gately v0.6.6 veröffentlicht ​

  1. November 2026

v0.6.6 herunterladen · GitHub Release

Dieses Release konzentriert sich auf die Sicherheitshärtung. Das Update wird für alle Benutzer empfohlen.

Sicherheitskorrekturen ​

  • Gefälschte Herkunfts-Header: Bisher wurden nur Header mit genau demselben Namen wie X-Real-Ip entfernt, während PHP-, WSGI- und CGI-Backends X_Forwarded_For oder X_Real_IP als dieselbe Variable wie den echten Header behandeln. Ein Besucher konnte solchen Backends daher eine beliebige Client-Adresse oder ein beliebiges Schema vorgeben. Vom Besucher mitgesendete Herkunfts- und Quellport-Header werden jetzt samt ihrer Varianten mit Unterstrich vor dem Weiterleiten immer entfernt. Unteranfragen der Forward-Auth werden ebenso behandelt, und Gately schreibt X-Original-URI selbst, sodass Auth-Dienste, die Pfade anhand davon freigeben, nicht mehr von einem Wert des Besuchers in die Irre geführt werden.
  • Anmeldedrosselung der Dateidienste: Die Passwortprüfungen von WebDAV, FTP und SMB hatten kein Versuchslimit. Eine Quelle mit 10 Fehlversuchen innerhalb von 15 Minuten wird jetzt bis zum Ende des Zeitfensters abgewiesen (IPv6 nach /64 gruppiert, eine erfolgreiche Anmeldung setzt den Zähler nicht zurück). Kürzlich geprüfte Zugangsdaten belegen keinen Platz, und anonyme SMB-Sondierungen werden nicht gezählt.
  • Wiederherstellung: Beim Wiederherstellen einer Konto-Datei wird ein neuer Sitzungsschlüssel verwendet, sodass ein altes Backup später durch Abmelden oder „Von allen Geräten abmelden“ widerrufene Tokens nicht wieder gültig machen kann. Backups, die entpackt mehr als 128 MB umfassen oder mehr als 256 Dateien enthalten, werden abgelehnt.
  • Weiteres: Der nginx-Konfigurationsimport begrenzt die Blocktiefe (eine tief verschachtelte Datei erschöpfte den Stack und beendete den Prozess); Host-Header mit mehr als 300 Byte erhalten 400; Benutzernamen, die bei fehlgeschlagenen Anmeldungen in den Audit-Eintrag und die Logs geschrieben werden, werden auf 64 Zeichen gekürzt.
  • Abhängigkeiten: Sicherheitskorrekturen der Standardbibliothek von Go 1.26.11; aktualisiert wurden golang.org/x/net, klauspost/compress und andybalholm/brotli; der SMB-Client der Speicher-Mounts wechselt zum gepflegten cloudsoda/go-smb2 (GO-2026-5051).

Konten und Sitzungen ​

  • Serverseitiges Widerrufen von Sitzungen: Beim Abmelden wird das Token widerrufen, und unter „Einstellungen → Konto & Sicherheit → Anmeldesitzungen“ gibt es das neue „Von allen Geräten abmelden“ (POST /api/account/sessions/revoke), das alle Sitzungen aus Passwort-, Passkey-, Drittanbieter- und fnOS-Gateway-Anmeldungen auf einmal beendet. API-Tokens bleiben davon unberührt.
  • Beschränkung ausgehender Anfragen (restrictOutbound, standardmäßig aus): Ist sie aktiviert, weisen ausgehende Anfragen an vom Administrator konfigurierte Adressen (Webhooks, Benachrichtigungen, IP-Listen-Abonnements, DDNS-Callbacks, Update-Prüfung, Drittanbieter-Anmeldung usw.) Loopback-, private und Link-Local-Adressen (einschließlich 169.254.169.254) zurück. Die Prüfung erfolgt bei jeder Verbindung anhand der aufgelösten IP und deckt daher auch Weiterleitungen und DNS-Rebinding ab. Reverse-Proxy-Upstreams, Wake-on-LAN, Speicher-Mounts und andere Funktionen für das interne Netz bleiben unberührt.
  • Schutz vor langsamen Anfragen: Der Admin-Port begrenzt das Lesen des Anfragekörpers pro Endpunkt. Normale Endpunkte müssen innerhalb von 60 Sekunden fertig sein; Endpunkte für große Dateien (Backup-Wiederherstellung, Upgrade-Pakete, Datei-Uploads) haben keine Gesamtzeitgrenze, müssen aber im Durchschnitt mit mindestens 4 KiB/s weitersenden.

Web-Dienst ​

  • Pfadpräfix bei Pfad-Backends entfernen (#86): Ein Pfad-Backend kann sein Präfix mit der Option „Pfadpräfix beim Weiterleiten entfernen“ vor dem Weiterleiten abschneiden, sodass /api/zyqd/abc als /abc beim Backend ankommt, davor der Pfad aus der Backend-Adresse. Das entspricht dem proxy_pass http://backend/; von nginx, und nginx-Importe wandeln es automatisch um.
  • Quellport des Besuchers (#83): Bei aktiviertem „X-Forwarded-* hinzufügen“ werden X-Real-Port und X-Forwarded-For-Port an das Backend gesendet. Steht Gately hinter einem CDN oder Reverse-Proxy, bieten die globalen Einstellungen einen „Header für echten Port“.
  • Zweistufiges Gately (#81): Wenn die äußere Instanz nur die WAF betreibt und die innere die Anmeldung übernimmt, tragen Sie auf beiden denselben Schlüssel für die Auth-Markierung ein und aktivieren auf der äußeren Site „Auth-Markierung des Backends vertrauen“. Von der inneren Instanz authentifizierte Besucher umgehen dann auch die äußere WAF.

Siehe Web-Dienst und WAF.

Backup und Wiederherstellung (#85) ​

Beim Wiederherstellen einer Konfiguration lässt sich jetzt „Aktuelles Administratorkonto beibehalten“ wählen: Konto, API-Tokens und die Drittanbieter-Anmeldung der Verwaltungsoberfläche behalten ihre aktuellen Werte, und das Backup darf account.json weglassen, was sich für das Übernehmen der Konfiguration einer anderen Instanz eignet. Siehe Konfiguration · Backup und Wiederherstellung.

Korrekturen ​

  • DDNS (#84): dynv6-Einträge mit der Hauptdomain dynv6.net und der Subdomain xxxx schlagen beim Synchronisieren und beim Löschen des Anbieter-Eintrags nicht mehr mit 404 fehl; die Zone xxxx.dynv6.net wird automatisch zugeordnet.

Leistung ​

  • Die Sperrliste baut ihre CIDR-Liste bei vielen Sperren nicht mehr bei jeder Änderung neu auf; das Site-Routing vergleicht Wildcard-Domains erst nach einem Fehlschlag bei der exakten Domain; abgelaufene Einträge für Ratenbegrenzung und Anmeldefehler werden höchstens einmal pro Sekunde bereinigt.
  • Die Basic-Authentifizierung der Sites und WebDAV speichern erfolgreiche bcrypt-Prüfungen 10 Minuten im Cache, wodurch die CPU-Kosten pro Anfrage von rund 85 ms auf Mikrosekunden sinken.
  • Die Portweiterleitung verwendet Kopierpuffer wieder, wenn splice nicht genutzt werden kann; die Liste der Live-Verbindungen baut nur die 500 zurückgegebenen Zeilen auf; das Entfernen von Herkunfts-Headern allokiert keinen Speicher mehr.
  • Site-Statistiken, Docker-Status und -Logs sowie die Liste der Terminalsitzungen in der Weboberfläche werden nicht mehr abgefragt, solange der Browser-Tab verborgen ist.

Hinweise zum Upgrade ​

  • Docker: neues Image ziehen und den Container neu erstellen; OpenWrt: das neue .apk / .ipk über das alte installieren; fnOS: das neue .fpk im App Center installieren; andere Installationen können in den Systemeinstellungen online aktualisiert werden.
  • Angemeldete Sitzungen bleiben nach dem Upgrade gültig; verwenden Sie „Von allen Geräten abmelden“, wenn sich alle Geräte neu anmelden sollen.

Veröffentlicht unter der Apache-2.0-Lizenz.