Запретить неавторизованным доменам указывать на наш экземпляр Discourse

Мы развернули экземпляр Discourse на нашем сервере, но столкнулись с проблемой: любой может взять наш публичный IP-адрес и создать A-запись на своём домене, фактически перенаправляя свой домен на наш форум.

Мы хотим убедиться, что для доступа к форуму используется только наш авторизованный домен, и предотвратить работу с неавторизованными доменами.

Какие рекомендуемые способы существуют для ограничения доступа по домену в Discourse? Есть ли соответствующая конфигурация, настройка Nginx или другой метод для достижения этого?

Будем благодарны за любые рекомендации.

Вы используете стандартную установку? По умолчанию Discourse перенаправляет на имя хоста.

Как это может повлиять на что-либо? ОП предполагает, что теперь любой может нарушить работу практически любого веб-сервиса в мире.

Неважно. Именно поэтому мы должны настраивать хосты для веб-сервисов. Повсюду и всегда, включая Discourse.

Таким образом, такое перехватывание бесполезно, так как правильный сервис, веб-сервер или что-то ещё, всё равно ответит.

Спасибо @Jagster и @pfaffman — я работаю над этим вместе с @Abdelrahman_MoHamed.

Для собственного понимания: если это наш домен Discourse:

forum.get.it, который указывает на → 34.170.141.119

А кто-то создаёт, скажем…

hijack.get.it и указывает его на → 34.170.141.119

Ожидаемое поведение заключается в том, что при вводе:

hijack.get.it произойдёт перенаправление на forum.get.it

Правильно ли я понимаю?

Да. Это ожидаемое поведение, и, судя по всему, оно соответствует действительности. Насколько я могу судить, у вас нет проблем. Кроме того, большинство браузеров по умолчанию используют https:, и адрес https://hijackeddomain.com вызовет ошибку сертификата.

Да, но ничего не происходит. Всё точно так же, как у вас сейчас: кто-то стучится через SSH, боты и т.д.

Если вы настроите такой сайт или форум, да, они направят туда посетителей, которые увидят то, что вы разместили на этом домене. Но они не могут перехватить ваш домен, потому что вы сообщаете миру, какие имена серверов использует домен и на какой IP-адрес он указывает. И есть веб-сервер, который пропускает посетителей, если они запрашивают сайт, настроенный для этого домена. Если запрос к домену не получает ответа, двери остаются закрытыми.

Понимаю, что это был просто пример, но такая конкретная ситуация невозможна, так как вы владеете доменом get.it, и его DNS-серверы не знают о существовании DNS-записи, указывающей на hijack.get.it :smirking_face:

Да, @Jagster прав. Если вы владеете доменом get.it (кстати, вау, $$$$$), никто другой не сможет использовать ваш домен просто через другой поддомен.