Мы готовимся к развертыванию новой версии нашего приложения. Производственная среда будет состоять из двух серверов приложений с балансировкой нагрузки, подключенных к двум серверам баз данных (настроенным для зеркального отображения). Теперь во время тестирования в нашем офисе мы используем один сервер приложений и один сервер базы данных, и большая часть аутентификации выполняется с помощью нашего контроллера домена, мы обнаружили, что аутентификация домена удобна, и хотели бы сохранить ее в производственной среде, если это возможно.
Когда мы переходим к производству, я пытаюсь понять, имеет ли смысл, чтобы два моих сервера приложений были контроллерами домена, чтобы для аутентификации служб на серверах SQL и т. Д. Можно было использовать аутентификацию домена.
Какова обычная практика в такой ситуации, следует ли мне использовать Active Directory или есть легкая замена? Допустим ли режим рабочей группы? Это глупо, если мои серверы приложений являются контроллерами домена?
Это глупо, если мои серверы приложений являются контроллерами домена?
Уверенный. Никогда не стоит открывать контроллер домена напрямую Интернету. Серверы приложений должны запрашивать контроллер домена на другом компьютере (виртуальном или физическом). Вы также должны убедиться, что любой трафик между серверами и контроллером домена зашифрован.
Я бы не стал этого делать по соображениям безопасности, если уровень приложения будет доступен в Интернете. Если это так, они должны находиться в демилитаризованной зоне и не иметь возможности напрямую связываться с вашим внутренним AD. Представьте, если бы они были взломаны, и они были DC. Плохие новости, правда? И представьте, если бы они не были контроллерами домена, а были бы взломаны и могли использоваться для организации атак непосредственно против учетных записей домена.
Если вы хотите авторизоваться в своей AD, лучше всего использовать что-то вроде ADAM и репликации AD или какое-то прокси.
Если это приложение предназначено только для внутреннего использования и не доступно в Интернете, вы можете делать все, что захотите.
Edit - Еще один комментарий. Если вы хотите аутентификацию домена строго в прикладной среде (ваш вопрос по этому поводу мне непонятен), тогда вы можете настроить автономную AD в своей DMZ. Если вы кластеризуете SQL, я думаю, вам в любом случае понадобится домен для этого. Лучше разрешить уровню приложений использовать этот домен для аутентификации в SQL, чем позволить ему подключаться к вашей реальной внутренней AD. «Передовой опыт» всегда нужно сопоставлять с преимуществами и рисками того, что вы пытаетесь сделать.