Bevor Sie eine Proxy-Einstellung in ein öffentliches Repository legen
Trennen Sie einen Proxy-Endpunkt von Proxy-Anmeldedaten und erklären Sie, warum die Veröffentlichung des ersteren keine Zugriffskontrolle bietet.
Ein Proxy-Hostname in einer Konfigurationsdatei ist nicht dasselbe wie ein Proxy-Passwort. Beides zu veröffentlichen verdient eine bewusste Entscheidung, aber die Folgen sind unterschiedlich.
Ein Endpunkt teilt Lesern mit, wo ein Dienst erreichbar sein kann. Eine URL wie http://name:[email protected]:8080 gibt ihnen außerdem nutzbare Anmeldedaten. Sie sollte niemals als harmlos gelten, nur weil sie wie eine Adresse aussieht.
Eine versteckte Adresse ist keine Zugriffsrichtlinie
Ein privater Proxy braucht Kontrollen, die zu seinen Nutzern passen: Authentifizierung, erlaubte Client-Netzwerke und Zielbeschränkungen. Die Adresse aus einem Repository herauszuhalten ersetzt sie nicht. Ein öffentlich erreichbarer Dienst kann auffindbar sein, ohne dass jemand Ihre Konfiguration liest.
Umgekehrt beweist die Veröffentlichung einer Dienstadresse nicht, dass sie offen ist. Ein Endpunkt kann weiterhin Anmeldedaten verlangen oder nur aus einem vorgesehenen Netzwerk erreichbar sein. Prüfen Sie die tatsächliche Zugriffsgrenze, statt anzunehmen, Geheimhaltung und Authentifizierung bedeuteten dasselbe.
Verwenden Sie für teilbare Beispiele Dokumentations-Hostnamen und lassen Sie Geheimnisse weg. Bewahren Sie private Einstellungen im etablierten Geheimnis- oder lokalen Konfigurationsmechanismus des Projekts auf. Achten Sie auf generierte Dateien und kopierte Diagnoseprotokolle, die eine vollständige URL mit Anmeldedaten enthalten können.
Wenn Anmeldedaten offengelegt wurden, beseitigen Sie zuerst ihren Nutzen, indem Sie sie widerrufen oder rotieren. Das Bearbeiten der neuesten Datei entfernt keine Kopien, früheren Commits oder zwischengespeicherten Inhalte. Die GitHub-Anleitung für sensible Daten erklärt, warum die Bereinigung der Historie eine separate Aufgabe ist.
Eine nützliche Prüfung betrachtet beide Seiten: welchen Zugriff die veröffentlichten Informationen gewähren und ob der Proxy eingeschränkt bleibt, selbst wenn seine Adresse bekannt ist.