当社のDiscourseインスタンスを指す不正なドメインを防止する

サーバーでDiscourseインスタンスを実行していますが、誰でもサーバーのパブリックIPを取得して独自のドメインにAレコードを作成でき、事実上、そのドメインが私たちのフォーラムを指すようになるという問題が発生しています。

フォーラムへのアクセスには、承認されたドメインのみが使用され、不正なドメインが機能しないようにしたいと考えています。

Discourseでドメイン制限を強制するための推奨される方法はありますか?これを達成するための設定、Nginx設定、またはその他の方法はありますか?

どのようなガイダンスでもいただけると幸いです。

「いいね!」 1

標準のインストールを使用していますか?デフォルトでは、Discourse はホスト名にリダイレクトされます。

「いいね!」 4

それがどのような役割を果たすのでしょうか?OPは、今や誰もが世界中のほぼすべてのWebサービスを台無しにできると示唆しています。

気にする必要はありません。だからこそ、Webサービスのためにホストを構成する必要があるのです。Discourse を含め、あらゆる場所で、あらゆる時に。

したがって、このようなハイジャックは無意味です。なぜなら、Webサーバーなどの適切なサービスが anyway で応答するからです。

「いいね!」 1

@Jagster@pfaffman、ありがとうございます。@Abdelrahman_MoHamed と協力してこの件に取り組んでいます。

私の理解のために、これが私たちのディスコースドメインだとします。

forum.get.it は --→ 34.170.141.119 を指します。

そして、たとえば次のようなものを設定した場合…

hijack.get.it は --→ 34.170.141.119 を指します。

期待される動作は、誰かが次のように入力した場合です。

hijack.get.it は forum.get.it にリダイレクトされます。

これで合っていますか?

はい。それが期待される動作であり、実際の動作のようです。私の知る限り、問題はありません。ほとんどのブラウザはデフォルトで https: になり、https://hijackeddomain.com は証明書エラーを生成します。

「いいね!」 1

はい、しかし何も起こりません。SSHやボットなどを使って誰かがノックしているのと全く同じことです。

そのようなサイト/フォーラムをセットアップした場合、そのドメインを使用して開始したものを訪問者が見ることになるでしょう。しかし、ドメインがどのネームサーバーを使用しているか、どのIPを指しているかを世界に伝えているため、ドメインをハイジャックすることはできません。そして、訪問者を迎え入れるウェブサーバーがあり、訪問者がそのドメイン用に設定したものを要求した場合、それを見ることができます。リクエストされたドメインが何も取得できない場合、ドアは閉まったままです。

「いいね!」 1

例であることは理解していますが、その特定の状況は不可能です。なぜなら、あなたは get.it ドメインを所有しており、そのネームサーバーは hijack.get.it を指すようなDNSを知らないからです :smirking_face:

「いいね!」 1

はい、@Jagster さんのおっしゃる通りです。もしあなたが get.it を所有しているなら(ところで、すごい、$$$$$)、他の誰かが別のサブドメインであなたのドメインをただ使うことはできません。

「いいね!」 1