Einstellungen und installierte Plugins auf der Anmeldeseite offengelegt

Hallo zusammen,

ich möchte ein Problem auf unserer Discourse-Server-Loginseite beheben. Die Loginseite gibt derzeit Einstellungen des Servers sowie installierte Plugins preis. Dies ist sichtbar, wenn man sich die Seitenquelle ansieht oder die Loginseite inspiziert. Wie können wir diese Informationen von der Seite entfernen oder ausblenden?

Beispiel für offengelegten Plugin-Code:

<link href="[/stylesheets/poll_desktop_2_aaf730f938a1162e369c60cef250ac2b3bf97c05.css?__ws=discourse.bob.host](https://discourse.bob.host/stylesheets/poll_desktop_2_aaf730f938a1162e369c60cef250ac2b3bf97c05.css?__ws=discourse.bob.host)" media="all" rel="stylesheet" data-target="poll_desktop" data-theme-id="3"/>

Beispiel für offengelegte Einstellungen:

<div class="hidden" id="data-preloaded" data-preloaded="{\&quot;site\&quot;:\&quot;{\"periods\":[\"all\",\"yearly\",\"quarterly\",\"monthly\",\"weekly\",\"daily\"],\"filters\":[\"latest\",\"unread\",\"new\",\"read\",\"posted\",\"bookmarks\"],\"user_fields\":[],\"auth_providers\":[]},\&quot;siteSettings\&quot;:\&quot;{\"default_locale\":\"en\",\"title\":\"bobDiscourse\",\"short_site_description\":\"bob Integration Discourse\",\"contact_email\":\"infrastructure@bob.com\",\"contact_url\":\"https://bob.com\",\"logo\":\"/uploads/default/original/1X/96eba37e4fb0f19f8f04e09ad31d1bf14111e122.png\",\"logo_small\":\"/uploads/default/original/1X/96eba37e4fb0f19f8f04e09ad31d1bf14111e122.png\",\"digest_logo\":\"\",\"mobile_logo\":\"\",\"large_icon\":\"/uploads/default/original/1X/96eba37e4fb0f19f8f04e09ad31d1bf14111e122.png\",\"favicon\":\"/uploads/default/original/1X/96eba37e4fb0f19f8f04e09ad31d1bf14111e122.png\",\"apple_touch_icon\":\"\",\"allow_user_locale\":false,\"support_mixed_text_direction\":false,\"suggested_topics\":5,\"ga_universal_tracking_code\":\"\",\"ga_universal_domain_name\":\"auto\",\"gtm_container_id\":\"\",\"top_menu\":\"categories|latest|new|unread|top\",\"post_menu\":\"read|like|share|flag|edit|bookmark|delete|admin|reply\",\"post_menu_hidden_items\":\"flag|bookmark|edit|delete|admin\",\"share_links\":\"twitter|facebook|email\",\"desktop_category_page_style\":\"categories_with_featured_topics\",\"category_colors\":\"BF1E2E|F1592A|F7941D|9EB83B|3AB54A|12A89D|25AAE2|0E76BD|652D90|92278F|ED207B|8C6238|231F20|808281|B3B5B4|E45735\",\"category_style\":\"bullet\",\"enable_mobile_theme\":true,\"relative_date_duration\":30,\"fixed_category_positions\":false,\"fixed_category_positions_on_create\":false,\"enable_badges\":true,\"enable_badge_sql\":false,\"enable_whispers\":false,\"push_notifications_prompt\":true,\"vapid_public_key_bytes\":\"4|170|50|111|127|76|83|223|177|204|254|218|146|40|188|175|8|235|76|71|207|133|49|159|219|30|44|72|138|250|138|188|150|192|11|194|246|81|233|148|144|142|143|243|38|251|133|5|10|219|95|160|9|246|246|186|2|162|200|182|219|187|92|28|26\",\"invite_only\":true,\"login_required\":true,\"must_approve_users\":false,\"enable_local_logins\":true,\"enable_local_logins_via_email\":true,\"allow_new_registrations\":true,\"enable_signup_cta\":true,\"enable_sso\":false,\"sso_overrides_email\":false,\"sso_overrides_avatar\":false,\"min_username_length\":3,\"max_username_length\":20,\"unicode_usernames\":false,\"min_password_length\":10,

All diese Einstellungen sind auf der Client-Seite erforderlich und können ohnehin abgeleitet werden, sodass sie kaum geheim sind.

Was ist genau dein Problem damit?

Vielen Dank, Richard,

Gemäß Ihrer Antwort handelt es sich hierbei um eine Standardkonfiguration, und das Risiko wurde als nicht problematisch eingestuft.

Ich hielt dies jedoch für ein Problem, aus folgenden Gründen:

Wenn ein Angreifer nach Schwachstellen in Webseiten sucht und herausfinden will, wie er diese potenziell ausnutzen könnte, beginnt er damit, so viele Informationen wie möglich zu sammeln. Die im Webseitencode enthaltenen Informationen ermöglichen es einem Angreifer, von null Wissen zu mehr Wissen zu gelangen, ohne viel Aufwand zu betreiben.

Als Beispiel geben die Einstellungen einem Angreifer sehr klare Hinweise darauf, wie das Sicherheitsmodell eingerichtet wurde, was es ihm ermöglicht, einen gezielten Angriff durchzuführen. Die Mindestlänge des Benutzernamens, die maximale Länge des Benutzernamens und die Mindestlänge des Passworts sind alle nützlich, um die möglichen Angriffswege einzugrenzen. Ist SSO aktiviert? Ist 2FA aktiviert oder nicht?

Diese Informationen sind auch hilfreich, um Discourse-Server im Internet zu finden, die möglicherweise falsch konfiguriert sind. Ein Google-Dork könnte verwendet werden, um potenziell unsichere oder leicht kompromittierbare Discourse-Server zu finden.

Hätten diese Informationen nicht in einem JSON-Format im Quellcode gestanden, hätte es wahrscheinlich trotzdem etwa eine Stunde gedauert, ein Skript zu schreiben, das diese Informationen extrahiert. Schließlich würde ein Formular-Validierer beim Versuch, sich anzumelden, ebenfalls Informationen wie die Länge von Benutzernamen und Passwörtern preisgeben.

Ich glaube nicht, dass diese Informationen irgendeine Art von Hinweis auf eine Fehlkonfiguration oder eine unsichere Einrichtung geben.

Discourse ist Open Source, und die Standard-Einstellungen sind ohnehin öffentlich dokumentiert.

Das ist eindeutig kein ausreichender Vorteil, um eine Hacker-Belohnung zu erhalten.

Ich bin mir nicht sicher, wie wir von meiner ursprünglichen Frage, bei der es darum ging, die Anzahl der Informationen auf der Anmeldeseite unserer Discourse-Sites zu reduzieren, zu einem Hacker-Bounty gelangt sind. Was ich frage, ist keine Schwachstelle im Code. Es geht einfach um mehr Informationen, als ich auf einer Anmeldeseite haben möchte, und ich wollte einen Weg finden, diese zu entfernen. Bitte bleiben Sie beim Thema.

Hallo Richard,

ich habe dazu eine andere Meinung als du, aber das ist meine Sichtweise, und ich verstehe, dass andere Menschen das anders sehen. Ich habe das Gefühl, dass wir uns von der ursprünglichen Anfrage etwas entfernt haben, indem wir über potenzielle Bedrohungen diskutiert haben, die möglicherweise ein Risiko darstellen oder auch nicht.

Gibt es eine Möglichkeit, die Sichtbarkeit dieser Informationen zu reduzieren, oder ist das nicht möglich? Falls nicht, werde ich weitermachen und wir können diese Supportanfrage abschließen.