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

Как защитить внутренний веб-сайт для внутренних пользователей, используя SSL и Server 2008 в качестве центра сертификации?

Мне нужен опытный человек, который поможет мне в этом небольшом проекте :-)

У нас есть один контроллер домена [Win2k8 R2] с ролью службы сертификации Active Directory. Назовем его ServerOne.OurDomain.com.

У меня есть второй сервер Windows 2008 R2, ServerTwo.OurDomain.com, на котором работает веб-сервер Apache Tomcat. Мы настраиваем плагин Outlook для всех пользователей, которым требуется SSL-соединение с сервером OAuth. Я покопался в инструкциях по добавлению модуля OAuth в Tomcat и включению коннектора с использованием SSL на порту 8443 [порт SSL по умолчанию для Tomcat].

Но теперь я не знаю, как «сложить 2 и 2 вместе». Как я могу сгенерировать сертификат из нашего внутреннего ЦС, чтобы не было ошибок сертификата SSL при подключении к ServerTwo.OurDomain.com? До сих пор я создал файл «хранилища ключей» на ServerTwo с помощью программы JRE «keytool.exe», и, конечно, сертификат показывает его [например, когда вы щелкаете значок замка в браузере] как самозаверяющий сертификат без CA цепь.

Любая помощь в этой области приветствуется.

В итоге я понял это сам. Я задокументировал свои шаги; Надеюсь, это поможет кому-нибудь с той же проблемой в будущем:

  1. Создать CSR на Tomcat

    • Создайте хранилище ключей и закрытый ключ: keytool -genkey -alias tomcat -keyalg RSA -keystore keystore
    • «Keytool» находится в папке «bin» вашего домашнего каталога Java JDK или JRE.
    • "хранилище ключей" включает путь к файлу хранилища ключей, например "C: \ store \ keystore"
    • Заполните запрашиваемую информацию, отметив, что «имя и фамилия» действительно запрашивает полное доменное имя.
    • Создайте файл CSR: keytool -certreq -keyalg RSA -alias tomcat -file certreq.csr -keystore keystore
    • [Затем я скопировал в общую папку:] copy certreq.csr Z: \
  2. Подпишите сертификат

    • На сервере с ролью службы сертификации Active Directory в командной строке с повышенными привилегиями: certreq -submit -attrib "CertificateTemplate: WebServer" Z: \ certreq.csr certificate.cer
    • Выберите центр сертификации, над которым вы работаете, во всплывающем окне
    • [Затем я скопировал обратно в общий ресурс:] copy certificate.cer Z: \
  3. Импортируйте сертификат корневого ЦС

    • На сервере с ролью службы сертификации Active Directory:
    • Диспетчер сервера -> Роли -> Службы сертификации Active Directory -> [Ваш ЦС] -> Выпущенные сертификаты
    • Откройте любой из списка, подписанного вашим ЦС, перейдите на вкладку Путь сертификации.
    • "Просмотр сертификата" для корневого ЦС, если это ЦС вашего сервера
    • Вкладка Details -> Copy to File ... [затем я сохранил в Z: \ RootCA.cer]
    • На сервере Tomcat:
    • keytool -import -trustcacerts -alias rootca -file Z: \ RootCA.cer -keystore хранилище ключей
    • Введите «да», чтобы доверять сертификату.
  4. Импортируйте сертификат для Tomcat

    • keytool -import -trustcacerts -alias tomcat -file Z: \ certificate.cer -keystore хранилище ключей

Ссылки:

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

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

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