Назад | Перейти на главную страницу

Следует ли использовать виртуальные именованные хосты для интрасети?

Я слежу за интранетом в нашем офисе под управлением Mac OS X Server 10.5.8. У нас есть несколько приложений, работающих в интрасети - Bugzilla, TWiki, несколько домашних приложений и несколько статических страниц. (Не используйте инструменты совместной работы OS X - мы использовали TWiki до того, как они стали доступны.)

Настроен один хост, и все приложения работают под ним - http://intranet/bugzilla, http://intranet/twiki, и т.д.

Я только что прочитал главу в документации Apache о виртуальных именованных хостах и ​​очень хочу их попробовать. Если я прав, я получу URL типа http://bugzilla/, http://twiki/, и т.д.? Я знаю, что мне также нужно управлять зоной DNS, чтобы добавлять эти имена в качестве псевдонимов.

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

С другой стороны, мне также нужно управлять настройками DNS, тогда как с одним хостом нужно беспокоиться только об одном имени.

Что здесь за мудрость? Это хороший способ продолжить?

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

Ура.

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

Вот часть текста, который я показываю на своей странице по умолчанию:

Почему это происходит вместо того, чтобы видеть сайт по умолчанию?

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

Ключевые моменты для этого:

Получить веб-хостинг, позволяющий использовать любые зарегистрированные вами домены, несложно. Это касается всех, включая злоумышленников. DNS-хостинг доступен с интерфейсами "укажи и щелкни". Любому злоумышленнику, о котором стоит беспокоиться, потребуется минимальное количество времени, чтобы хотя бы узнать о сопоставлении имени хоста и IP-адреса. JavaScript широко распространен. Фреймы тоже. Как и ошибки XSS в браузерах. Злоумышленник использует фреймы. Верхний фрейм загружается с www.evil.example.net. Один из дочерних фреймов загружается с сайта жертвы.evil.example.net. Для некоторых браузеров родительский фрейм сможет использовать JavaScript для управления дочерним фреймом, потому что оба находятся в одном домене, верно? Ну и что? Злоумышленник контролирует DNS для evil.example.net, поэтому он может указать «жертву» на любой IP-адрес, который пожелает. Включая один из наших IP-адресов, даже если адрес находится в пространстве RFC 1918.

Чистый результат: если сервер отвечает контентом, когда ему заданы неизвестные имена хостов, то злоумышленник может сделать что угодно с любыми веб-страницами с помощью JavaScript; все, что им нужно, - это веб-хостинг и управление DNS, а также чтобы кого-то подтолкнули к посещению их сайта с помощью браузера с поддержкой фреймов, в котором включен JavaScript (это все основные браузеры, а также большинство второстепенных).

Теоретически в наши дни браузеры научились защищаться от этого с помощью осторожного применения политик одинакового происхождения. На практике потоку дыр в безопасности браузера не видно конца для каждого веб-браузера, реализующего механизм сценариев, который допускает эти ошибки межсайтового скриптинга (XSS) на стороне браузера. Так довольно часто и без предварительного предупреждения упомянутые ранее «некоторые» браузеры внезапно становятся «многими» или даже «большинством».

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

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

Если вы настроите запись DNS с подстановочными знаками, например * .intranet, вам не придется беспокоиться о поддержке нескольких DNS-имен.

Если вы используете SSL (если вы по какой-либо причине передаете пароли через веб-формы, я, конечно, на это надеюсь), вам потребуется развернуть несколько сертификатов SSL, по одному для каждого виртуального хоста. Однако это можно свести к минимуму, если вы используете групповой сертификат, который вы можете приобрести или создать самостоятельно.

Я думаю, что это часто вопрос эстетики.

Лично я бы разделил вещи по виртуальному хосту: http: //bugzilla.intranet, http: //twiki.intranetи т. д. Это дает вам возможности для более простого перемещения вещей на другие хосты в будущем, но вы всегда можете сделать это постфактум, используя перенаправления в Apache. Виртуальные хосты также позволяют более плотно разделять структуры каталогов, что добавляет маленький повышенная безопасность веб-сервера (что может не представлять для вас такой большой проблемы в настройках интрасети).

Кроме того, во время тестирования проще ограничить доступ к Vhosts, чем к простому подкаталогу в каталоге основного сайта. Опять же, это можно сделать и другим способом, используя простые правила .htaccess, но я предпочитаю как можно чаще разделять вещи логически (если не физически).

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

Я бы определенно выбрал отдельные VirtualHosts. По крайней мере, из-за дополнительных параметров, которые он дает мне, когда дело доходит до конфигурации, журналов и т. Д.

Тем не менее, я полагаю, что все сводится к анализу затрат и выгод. Сколько работы вам нужно также по управлению DNS? Стоит ли эта «стоимость» дополнительной свободы, которую дает вам VirtualHost? Постороннему человеку трудно дать вам ответ на эту часть уравнения.