Как ограничить неавторизованные домены, указывающие на IP-адрес моего сайта

8

Я обнаружил, что какой-то домен (а именно bajajra.com) указывает на IP-адрес моего сайта. Я использую IIS 10 для размещения своего сайта. Как я могу ограничить доступ ко всем таким неавторизованным доменам?

Этот вопрос похож на этот , но я ищу решение на основе IIS. Как я могу сделать так, чтобы к моему веб-сайту можно было получить доступ только с моего доменного имени (например, example.com)?

Викас Шарма
источник
1
Хотя это не будет «ограничивать» доступ, если вы используете HTTPS, другие домены будут приводить к тому, что пользователи будут видеть ошибку сертификата, когда они посещают его, таким образом давая им знать, что что-то не так.
Скотт Стивенс
1
Вы не можете помешать им указать свой адрес на вашем сервере. Что вы можете сделать, так это убедиться, что страница по умолчанию, которую предлагает ваш сервер при запросе хоста, для которого не указаны спецификации, полностью бесполезна.
Шадур

Ответы:

12

Здесь вы можете описать две проблемы. Во-первых, кто-то просто устанавливает привязку DNS к вашему IP-адресу. Предотвратить это в IIS очень просто. Вы просто изменяете привязки имен хостов в IIS, так что ваш контент обслуживается только при запросе конкретных имен хостов. Скорее всего, в настоящее время вам необходимо удалить привязку с подстановочными знаками, чтобы разрешить только те привязки, которые вы намереваетесь. (Это также способ размещения нескольких веб-сайтов на одном веб-сервере IIS.)

Из подключений IIS вы сможете щелкнуть правой кнопкой мыши определенный сайт, чтобы открыть диалоговое окно «Редактировать привязки ...».

Настройки сайта IIS

В этом диалоговом окне будут показаны все настройки привязок для запросов, на которые должен отвечать этот сайт. Имя хоста - это действительные имена хостов, для которых привязка должна разрешаться для этого сайта. Один сайт может иметь много разных привязок, как показано здесь.

Диалог привязки IIS

Настройки конкретной привязки позволяют вам указать имя хоста, которое должно разрешаться для этого сайта. Здесь вы также можете настроить такие параметры, как SSL-сертификаты.

Настройки привязки IIS

Вторая возможная проблема - это горячие ссылки. С помощью горячей ссылки это не прямой вызов вашего IP-адреса, а настройка чего-либо в другом домене для ссылки на вещи в вашем домене. Это можно сделать несколькими различными способами, но большинство из них требует, чтобы по крайней мере какой-то сервер давал инструкции до доступа к вашему сайту. Горячую связь немного сложнее предотвратить, но вы можете установить тесты для реферера, запрашивающего актив, и предоставлять актив только в том случае, если реферер совпадает. Поскольку клиентский браузер предоставляет эту информацию, третьей стороне будет трудно попытаться заставить браузер предоставлять неверную информацию вашему серверу, и, следовательно, фильтрация должна быть в целом эффективной.

Эй Джей Хендерсон
источник
спасибо, что взглянули на мой вопрос, похоже, это первая возможность в моем случае (я попытался найти nslookup для веб-сайта, и IP-адрес такой же, как у меня). Чтобы решить эту проблему, я попытался: 1. Включить ограничение домена в IIS 2. Затем добавить только одну разрешающую запись, т.е. для моего домена, и запретить для всех незарегистрированных клиентов. Однако она не работает должным образом. Пожалуйста, помогите мне определить, где именно я должен удалить подстановочный знак, как вы упомянули, или каковы действия по ограничению доступа ко всем доменным именам, кроме того, которым я владею.
Викас Шарма
@VikasSharma взгляните на мои изменения. Я добавил скриншоты с моего сервера IIS. Конфигурация моего сервера немного сложнее, чем кажется на ваш взгляд, но она должна дать вам представление о том, как он должен выглядеть. Скорее всего, у вас будет не так много разных сайтов, IP-адресов или имен хостов, как у меня, но в итоге вы можете использовать несколько привязок или, возможно, только частичный подстановочный знак (например, «* .yourdomain.com»). В моем случае я хотел только конкретные поддомены для разрешения, и у меня есть несколько поддоменов с разными сайтами или правилами маршрутизации (или вообще не обрабатывается IIS).
AJ Henderson
Спасибо! Это сработало для меня. Как вы упомянули, в моем случае будет достаточно частичного подстановочного знака "* .yourdomain.com". Тем не менее, у меня есть еще одно сомнение: нужно ли давать IP-адрес или (какой вред может нанести «весь неназначенный IP-адрес»?)
Викас Шарма,
@VikasSharma - это нормально, чтобы использовать все IP-адреса в вашем случае. Я должен использовать определенные IP-адреса, потому что у меня есть службы, которые не маршрутизируются через IIS, поэтому я не могу связать их и имею некоторые IP-адреса IPv6, которые я не хочу разрешать на определенных сайтах, так как я использую IPv6-адреса определенных служб. Мой сервер отвечает на более чем 30 IP-адресов (в основном IPv6, хотя у меня было несколько IPv4-адресов в одной точке, где мне нужно было какое-то время предотвратить обратный поиск в одном домене), и в другой точке, где у меня был сервер потокового мультимедиа, который требовал его собственная отдельная привязка IP.
AJ Henderson
Звучит хуже, чем это ... скорее всего, атака поискового ранга Google. Иногда конкуренты или сомнительные маркетологи создают «фальшивый» веб-сайт, похожий на ваш реальный сайт, или другого вымышленного конкурента. Они могут даже получить изображения и CSS-ресурсы с вашего реального сайта. Тогда они будут уничтожать репутацию этого сайта в Google. Наконец, они направят вам этот сайт с DNS-записью (что, как я думаю, видит OP) и используют сети ссылок с аналогичных теневых сайтов, чтобы Google связал этот сайт с вашим реальным бизнесом, и, следовательно, нанесет ущерб вашему Google рейтинг.
Джоэл Коэль
-1

Вы можете сделать очень мало, чтобы администратор другого домена не смог использовать ваш IP в своей записи A.

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

Другой ответ, касающийся фильтрации http servernames, может помочь вам игнорировать их действия и ограничить ущерб, который они могут вам причинить. Но это сломает ваш сайт для любого браузера, который не поддерживает имена хостов http.

Подумайте также, насколько легко bajajra.com будет управлять веб-прокси-сервером переадресации, направленным на ваш сайт. Ограничение разрешенных вами имен серверов (как предусмотрено в другом ответе) не остановит это, и на самом деле это подвергнет ваших клиентов большему риску, потому что злоумышленник сможет использовать прокси-сервер, чтобы шпионить за ним и подделывать ваш контент.

Билли С.
источник
1
Хост - это единственный обязательный заголовок запроса в HTTP / 1.0 и HTTP / 1.1, почти все серверы дадут вам ответ 400 Bad Request, если вы его опустите.
Нулано
Правда. Не весь интернет-трафик, хотя http. Одна только запись A не означает сеть. Кто знает, что задумал плохой парень.
Билли С.
2
But it will break your site for any browser that doesn't support http hostnames.HTTP / 1.1 существует уже 20 лет, и если вы один из немногих, кто использует браузер, который его не поддерживает, то это не проблема веб-мастеров.
ub3rst4r
3
@Nulano Hostне является частью HTTP / 1.0, хотя большинство браузеров предоставляют его, и серверы все равно принимают его. Это было добавлено / требуется в HTTP / 1.1.
Боб
Я не могу согласиться, что ты мало что можешь сделать. Вы можете сделать тонну, если они направят домен на ваш сервер. Вы можете изменить то, что отображается, для любого пользователя, обращающегося к домену, чтобы сделать его явно другим, можно даже получить действительный сертификат SSL для сайта, используя проверку файлового домена Let's Encrypt. Ни один удаленно современный браузер не поддерживает имена хостов, так что это просто глупо, субдомены тоже не будут работать, и это уже блокирует значительную часть сети.
AJ Хендерсон