こんにちは @everyone
特定の要件を満たすために、Discourse Rails アプリケーションにカスタムコードレベルおよびデータベースレベルの変更を実装する必要があります。
パスワード暗号化方法を更新します。現在、Discourse はパスワード暗号化に「PBKDF2」を使用しています。
私の要件に従って、「PBKDF2」の代わりに「MD5」に切り替える必要があります。
ローカル環境にコードを設定し、Docker を使用して本番環境に Discourse をデプロイしました。
ローカルコードを要件に基づいて更新したら、更新されたコードを本番環境に再デプロイする必要がありますが、現在は本番環境の Discourse 公式 Docker ファイルを設定しているため、新しい Docker ファイルを生成する必要があります。新しい Docker ファイルを作成する方法と、本番環境の Discourse アプリケーションの PostgreSQL データベースにアクセスする方法を教えてください。
selase
(Selase Krakani)
2
これは重大なセキュリティダウングレードのように思われます。MD5はパスワードハッシュには適していません。この変更はDiscourseの重要な部分に影響を与えるだけでなく、将来のすべてのリリースで維持する必要もあります。
達成しようとしていることを説明していただければ、より良いアプローチを提案できるかもしれません。
Discourseのカスタマイズについては、Developing Discourse Plugins - Part 1 - Create a basic plugin をご覧ください。プラグインシステムを使用すると、コア機能を安全に拡張できます。
「いいね!」 6
新しいAPIを作成し、本番コードに再デプロイする必要があります。本番環境のDockerにデプロイするにはどうすればよいですか?
pfaffman
(Jay Pfaffman)
4
変更はプラグインで行うことをお勧めします。もしDiscourseをフォークして独自にメンテナンスしようとすると、過去の事例から見て、非常に、非常に後悔することになるでしょう。
MD5ハッシュとして保存されたパスワードで、どのような問題を解決しようとしていますか?すでに指摘されているように、インターネット全体がMD5は暗号化ではなく、パスワードの保存には適さないという見解で一致しています。
「いいね!」 3
補足:Jayが指摘しているように、MD5もPBKDF2も暗号化関数ではありません。
どちらもハッシュ関数です。Discourseはパスワードを保存しません。
その通りです。私たちがそう言わなくても、私たちだけがそう言っているわけではありません。
どのような問題を解決しようとしていますか?
「いいね!」 4
解決策を見つけるのを手伝ってください。ROR (Discourse) の暗号化方法を変更する必要があります。現在、MD5 暗号化を使用しています。ローカル環境でコードレベルの変更を行いました。Docker の助けなしに、これらの変更をライブサーバーに反映させるにはどうすればよいですか?
現在、本番環境は Docker 構成を使用してセットアップされています。
本番環境のセットアップに使用されたリンクは次のとおりです。
URL: discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub
pfaffman
(Jay Pfaffman)
7
まだ、どのような問題を解決しようとしているのか説明されていません。MD5が何を解決しようとしているのか、もう少し詳しく教えていただけますか?
また、行った変更はすべてプラグインに実装する必要があります。プラグインの仕組みについて学習を始めましたか?
しかし、おそらく本当に望んでいるのは、既存のアプリケーションに対してDiscourseを認証させることでしょう。その場合、discourse_connectを実装するだけでよく、Discourseはパスワードストレージの選択について知る必要はありません。
「いいね!」 2