Aktualisierung der Passwortverschlüsselungsmethode

Hallo @everyone

Ich muss benutzerdefinierte Code- und Datenbankänderungen in meiner Discourse Rails-Anwendung implementieren, um meine spezifischen Anforderungen zu erfüllen.

Aktualisieren Sie die Passwortverschlüsselungsmethode. Derzeit verwendet Discourse „PBKDF2“ für die Passwortverschlüsselung.
Gemäß meiner Anforderung muss ich anstelle von „PBKDF2“ zu „MD5“ wechseln.

Ich habe Code in meiner lokalen Umgebung eingerichtet und auch Discourse in der Produktionsumgebung mit Docker bereitgestellt.

Wenn ich den lokalen Code basierend auf meiner Anforderung aktualisiere, muss ich meinen aktualisierten Code in der Produktionsumgebung erneut bereitstellen. Derzeit habe ich jedoch die offizielle Docker-Datei von Discourse für die Produktionsumgebung festgelegt. Daher muss ich eine neue Docker-Datei generieren. Wie kann ich eine neue Docker-Datei erstellen und wie greife ich auf die PostgreSQL-Datenbank der Discourse-Anwendung in der Produktionsumgebung zu?

Dies scheint eine erhebliche Sicherheitsverschlechterung zu sein. MD5 ist für das Hashing von Passwörtern ungeeignet. Diese Änderung würde nicht nur einen kritischen Teil von Discourse betreffen, sondern Sie müssten sie auch für alle zukünftigen Versionen pflegen.

Vielleicht können wir einen besseren Ansatz vorschlagen, wenn Sie erklären könnten, was Sie zu erreichen versuchen.

Was die Anpassung von Discourse betrifft, werfen Sie bitte einen Blick auf Developing Discourse Plugins - Part 1 - Create a basic plugin. Das Plugin-System ermöglicht es Ihnen, Kernfunktionen sicher zu erweitern.

6 „Gefällt mir“

Ich habe neue APIs erstellt und muss sie in meinem Produktionscode neu bereitstellen. Wie ist es möglich, sie in der Produktions-Docker bereitzustellen?

Sie möchten Ihre Änderungen in einem Plugin vornehmen. Wenn Sie versuchen, Discourse zu forken und es separat zu pflegen, werden Sie sehr, sehr leid tun, wenn die Geschichte ein Indikator ist.

Welches Problem versuchen Sie mit als MD5-Hash gespeicherten Passwörtern zu lösen? Wie bereits vorgeschlagen, scheint das gesamte Internet darin übereinzustimmen, dass MD5 keine Verschlüsselung ist und nicht zum Speichern von Passwörtern geeignet ist.

3 „Gefällt mir“

Klärung: Wie Jay anmerkt, sind weder MD5 noch PBKDF2 Verschlüsselungsfunktionen.

Beides sind Hashing-Funktionen. Discourse speichert keine Passwörter.

Genau. Selbst wenn Sie uns nicht glauben, sind wir nicht die Einzigen, die das sagen.

Welches Problem versuchen Sie zu lösen?

4 „Gefällt mir“

Benötige Hilfe bei der Lösungsfindung. Ich muss eine Verschlüsselungsmethode in ROR (Discourse) ändern. Derzeit verwende ich MD5-Verschlüsselung. Ich habe Änderungen auf Code-Ebene in meiner lokalen Umgebung vorgenommen. Wie kann ich diese Änderungen auf dem Live-Server ohne Hilfe von Docker umsetzen?

Derzeit ist die Produktionsumgebung mit Docker-Konfiguration eingerichtet.

Hier ist der Link, der zum Einrichten der Produktionsumgebung befolgt wurde.
URL: discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

Sie haben immer noch nicht gesagt, welches Problem Sie lösen wollen. Können Sie mehr darüber sagen, was MD 5 löst?

Sie müssen immer noch alle Änderungen, die Sie vornehmen, in einem Plugin implementieren. Haben Sie angefangen zu lernen, wie Plugins funktionieren?

Aber ich wette, was Sie wirklich wollen, ist, dass Discourse gegen Ihre bestehende App authentifiziert wird, falls Sie nur Discourse Connect implementieren müssen und Discourse nichts über Ihre Wahl der Passwortspeicherung wissen muss.

2 „Gefällt mir“