Я пытаюсь улучшить производственную среду на сервере моего веб-сайта. Я заметил, что у многих сайтов нет прямого доступа к IP-адресу, но похоже, что IP-адрес моего сайта доступен. Например:
[lucas]$ nslookup professionalSite.org
Server: 208.67.222.222
Address: 208.67.222.222#53
Non-authoritative answer:
Name: professionalSite.org
Address: 192.12.345.102
[lucas]$ nslookup mySite.org
Server: 208.67.222.222
Address: 208.67.222.222#53
Non-authoritative answer:
Name: mySite.org
Address: 54.133.23.199
[lucas]$
В этом примере, когда я ввожу IP-адрес «192.12.345.102» (с professionalSite.org
) в свой браузер, он недействителен. На моем сайте, когда я ввожу "54.133.23.199" в моем браузере, он разрешается на мой сайт.
Итак, должен ли я заботиться об обслуживании входящих запросов таким образом? Каковы плюсы и минусы разницы между "professionalSite.org" и "mySite.org"? Как я могу запретить запросы напрямую на мой статический IP, аналогично тому, как это делается для "professionalSite.org" выше?
UPDATE
Вот более конкретный пример:
[lucas]lucas$ nslookup craigslist.org
Server: 208.67.222.222
Address: 208.67.222.222#53
Non-authoritative answer:
Name: craigslist.org
Address: 208.82.238.129
Когда я перехожу к 208.82.238.129
в моем браузере я получаю 404. Но на моем веб-сайте сайт обслуживается нормально. Почему это так? Есть ли преимущество в обслуживании 404, когда статический IP-адрес вводится непосредственно в браузере?
Я действительно не уверен, что вы имеете в виду под "скрывать", но я думаю, что вы имеете в виду, что вы получите ошибку (например, 404), если свяжетесь с сайтом напрямую по IP.
Здесь происходит следующее: HTTP 1.1 способен передать имя сайта, с которым вы хотите связаться для запроса (в отличие от, например, SSH), так что вы можете запустить много доменов с одним IP-адресом. Однако, если вы просто используете IP для связи с веб-сервером, у него будет сайт по умолчанию (обычно это первый определенный vhost), который будет обслуживать этот запрос. Некоторые сайты определяют определенный vhost для этого случая, который всегда будет реагировать с ошибкой. Это может быть сделано по разным причинам, особенно на больших сайтах, работающих на многих серверах, но обычно это не будет иметь большого "влияния на безопасность".
Вы можете настроить ваш веб-сервер на то же самое, но если он обслуживает только один сайт (ваш), то в этом случае не будет абсолютно никакой выгоды с точки зрения безопасности - ваш сайт подвергается точно таким же рискам безопасности, если вы говорите с ним только по его IP, как если бы вы использовали доменное имя.
Вы видите записи DNS для вашего веб-сайта. Вы не можете их "спрятать", вы тоже этого не хотите; они должны быть общедоступны, иначе никто не сможет зайти на ваш сайт по его URL (посетители смогут зайти на ваш сайт только по его IP-адресу)
.