Фгуп гнивц фнс РФ - shikardos.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Название работы Кол-во страниц Размер
Налоговые инспекции г. Санкт-Петербурга и Ленинградской области Управление... 1 73.08kb.
Ми фнс россии по крупнейшим налогоплательщикам №4 1 44.29kb.
График проведения семинаров на 1 квартал 2014 года в Межрайонной... 1 19.35kb.
Директор филиала «Аэропорт «Игарка» фгуп «Авиапредприятие «Черемшанка» 1 641.03kb.
Письмо фнс россии от 26. 01. 12 № ед-4-3/1193 «О заполнении счетов-фактур» 1 16.05kb.
Президент России отметил руководителей фгуп «Космическая связь» государственными... 1 13.96kb.
Режим дня детский сад №7 фгуп 1 107.44kb.
При поддержке фгуп «Космическая связь» началось вещание новых телевизионных... 1 11.41kb.
Программа всероссийского симпозиума метрологов 1 40.63kb.
Укртелеком достался австрийцам 1 11 1437.6kb.
Семинаре для налогоплательщиков в Межрайонной инспекции фнс россии... 1 15.73kb.
Нью-Йорк был основан в 1626 году 1 32.55kb.
- 4 1234.94kb.
Фгуп гнивц фнс РФ - страница №1/1

Внедрение инфраструктуры открытых ключей


ФГУП ГНИВЦ ФНС РФ

Двухфакторная авторизация в Windows с помощью смарт-карт

Аксенов Алексей Геннадьевич

2013



Оглавление


Установка независимого ЦС 3

Введение 3

Ставим windows 3

Проверить синхронизацию времени с интернетом 3

Устанавливаем роль «Службы сертификации» 4

Публикация AIA и CDP 4

Распространение AIA и CDP 6

Разрешение использовать расширение SAN (UPN) 6

Развертывание PKI в домене 8

Добавляем независимый корневой центр сертификации к доверенным корневым центрам в объект групповой политики службы Active Directory. 8

Добавляем выпускающий центр сертификации в хранилище NTAuth службы Active Directory. 8

Запрос и установка сертификата контроллеров домена. 9

Установка драйверов смарт-карт 11

Настройка доступа извне домена 11

Подготовка пользователей 12

Настройка пользователей в домене 12

Настройка не-доменного рабочего места для входа смарт-картами 12

Подготовка смарт-карт eToken 12

Запрос и установка сертификата смарт-карты. 12

Решение проблем 15



Полезные ссылки 18


Установка независимого ЦС



Введение


В штатном режиме виртуальная машина должна быть выключена (роль изолированного ЦС)

Ставим windows


- 40 гигабайт диск (при условии что логи будут регулярно очищаться)

- 2 гигабайта озу

- одна сеть - локалка

- раскладка клавиатуры – США

-- restart --

Ставим уникальный пароль

Проставляем правильные сетевые настройки

Разрешаем RDP

Ставим WinRar

Ставим каспера

Ставим все обновления

-- restart --

Отключаем Teredo, isatap, 6to4, IPV6

Проверить синхронизацию времени с интернетом


Проверяем, чтобы служба времени была запущена в режиме автоматической загрузки

w32tm /config /syncfromflags:manual /manualpeerlist:time.windows.com

w32tm /config /update

w32tm /resync

Устанавливаем роль «Службы сертификации»


Положить в %systemroot% файл CAPolicy.inf с содержимым:

[Version]

Signature="$Windows NT$"

[CRLDistributionPoint]

URL=""

Включаем роль «Службы сертификации»

- Только служба сертификации, одна галка

- тип установки – автономный ЦС

- тип ЦС - Корневой

- Создать новый закрытый ключ

- алгоритм шифрования и хеш-функция - RSA#Microsoft Software Key Storage Provider (2048, SHA1)

- убрать галку "разрешить взаимодействие с провайдером"

- Имя УЦ - по русски 50 символов, по латинице-250, например " CA11"

- суффикс - "O=GNIVC,L=Moscow,C=RU,E=mail@aksenov.pro" где O-Organization, L=Locality, C=Country, E=Email

- срок - 25 лет

- расположения стандартные

- Далее - готово.

-- restart --

Убеждаемся что нет в евент-логе ерроров про центр сертификации

Публикация AIA и CDP


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

Открываем диспетчер сервера

Разворачиваем Роли - "службы сертификации Active Directory" - имя нашего сервера, напротив которого нарисован компьютер с зеленой галочкой - Правой кнопкой - свойства - закладка "расширения"

  1. Выбираем расширение CDP:

    1. В строчке, начинающейся с "c:\windows...." надо оставить только одну галку - "Опубликовать CRL по данному адресу"

    2. В остальных строчках ("ldap://...", "file://...", "http://...") надо убрать все галки

    3. Добавляем первое место хранения СОС:

      1. Размещение http://www.aksenov.pro/gnivc/.crl

      2. ОК

      3. убрать все галочки и поставить только одну галочку "Включать в CDP расширение выданных сертификатов"

    4. Добавляем второе место хранения СОС:

      1. Размещение http://www.backuper.ru/gnivc/.crl

      2. ОК

      3. убрать все галочки и поставить только одну галочку "Включать в CDP расширение выданных сертификатов"

  2. Выбираем расширение AIA

    1. Во всех строчках ("c:\windows...", ("ldap://...", "file://...", "http://...") надо убрать все галки

    2. Добавляем первое место хранения AIA:

      1. - Размещение http://www.aksenov.pro/gnivc/<ServerDNSName>_<CaName><CertificateName>.crt

      2. - ОК

      3. - убрать все галочки и поставить только одну галочку "Включать в AIA расширение выданных сертификатов"

    3. Добавляем второе место хранения AIA:

      1. - Размещение http://www.backuper.ru/gnivc/<ServerDNSName>_<CaName><CertificateName>.crt

      2. - ОК

      3. - убрать все галочки и поставить только одну галочку "Включать в AIA расширение выданных сертификатов"

  3. Расширения настроены - нажимаем ОК чтобы сохранить изменения

Он попросит перезапустить службы сертификации - разрешить

На ветке дерева "отозванные сертификаты" правой кнопкой - свойства – Интервал публикации – 1 день

На ветке дерева "отозванные сертификаты" правой кнопкой - все задачи – публикация

Распространение AIA и CDP


Сайты, принимающие CDP и AIA должны содержать в себе веб-службу по приему файлов. Пример службы лежит на указанных выше сайтах. В данном случае это один файл http:// www.backuper.ru/gnivc/webservice.asmx который физически лежит в папке gnivc в корне сайта. Именно в эту папку служба и будет складывать файлы. На данный момент она принимает любые файлы со следующими ограничениями: имя файла должно быть без указания пути, файл должен быть размером не более 100 килобайт.

На центре сертификации, находящемся в закрытой локальной сети с доступом в интернет, должен быть установлен клиент, загружающий CDP и AIA на указанный веб-службы точек распространения. Клиент надо положить в туже папку где лежат CDP и AIA. На CA11 он лежит в папке C:\Windows\System32\CertSrv\CertEnroll и при запуске должен иметь права на запись в текущую директорию для записи логов и для чтения файлов CDP и AIA.

Теперь надо определиться с временем запуска клиента рассылки. В принципе можно этого клиента запускать один раз в час в шедулере в режиме "независимо от входа пользователя". Но тогда случайным образом могут попадаться промежутки времени, когда свежеопубликованный сос будет не вовремя скопирован на внешние сервера. Поэтому лучше привязать копирование файлов на внешние сервера к факту публикации сос. Для этого надо сделать так, чтобы публикация СОС приводила к возникновению события в EventLog. Сделаем два действия:

  1. Разрешим доступ службам сертификации к объектам аудита объектов:

auditpol /set /subcategory:"Службы сертификации" /success:enable /failure:enable

  1. Центр сертификации – Свойства – Аудит – галочка «Отзыв сертификатов и публикация CRL»

После этого создаем задание в шедулере с запуском файла со следующими параметрами запуска:

  1. Каждый день начиная с 0:00 каждый час

  2. По событию 4872 журнала Security источника Microsoft-Windows-Security-Auditing и отложить на 1 минуту

После этого включаем журнал для всех заданий.

Разрешение использовать расширение SAN (UPN)


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

certutil -setreg policy\EditFlags +EDITF_ATTRIBUTESUBJECTALTNAME2

net stop certsvc

net start certsvc


Развертывание PKI в домене

Добавляем независимый корневой центр сертификации к доверенным корневым центрам в объект групповой политики службы Active Directory.


Настройка групповой политики в домене для распространения независимых корневых центров сертификации в хранилища доверенных корневых центров всех компьютеров домена:

  1. Через mmc запускаем оснастку Управление групповой политикой.

  2. На левой панели разверните домен, к которому относится политика, требующая изменения.

  3. Выберите политику Default Domain Policy и в контекстном меню нажмите кнопку Изменить. Откроется новое окно.

  4. В левой области разверните следующие пункты:

    1. Конфигурация компьютера

    2. Политики

    3. Конфигурация Windows

    4. Параметры безопасности

    5. Политики открытого ключа

  5. Правой кнопкой на Доверенные корневые центры сертификации и там Импорт.

  6. Импортируйте сертификат, следуя указаниям мастера.

  7. Нажмите кнопку ОК.

  8. Закройте окно Групповая политика.

На всех машинах домена политика срабатывает обычно раз в восемь часов или при перезагрузке. Ускорить процесс можно командой gpupdate

Добавляем выпускающий центр сертификации в хранилище NTAuth службы Active Directory.


Идем на все контроллеры домена и на каждом контроллере в Компонентах устанавливаем:

  1. Средства Удаленного администрирования сервера

  2. Средства Администрирования ролей

  3. Средства служб сертификации Active Directory

  4. Средства центра сертификации

На одном из контроллеров через mmc добавляем оснастку "PKI Предприятия"

- в корне оснастки нажимаем правой кнопкой и в контекстном меню выбираем Управление контейнерами AD

- на закладке NtAuthCertificates нажимаем Добавить и добавляем корневой сертификат

Запрос и установка сертификата контроллеров домена.


Каждый контроллер домена, выполняющий проверку подлинности пользователей по смарт-картам, должен иметь сертификат контроллера домена.

На каждом контроллере домена повторяем:

  1. Создайте файл Request.inf со следующим содержанием, не забыв подменить дважды FQDN на имя контроллера домена (например DC1.site.gnivc.ru)

[Version]

Signature="$Windows NT$"

[NewRequest]

Subject = "CN=FQDN" ; replace with the FQDN of the DC

KeySpec = 1

KeyLength = 1024

Exportable = FALSE

MachineKeySet = TRUE

SMIME = False

PrivateKeyArchive = FALSE

UserProtected = FALSE

UseExistingKeySet = FALSE

ProviderName = "Microsoft RSA SChannel Cryptographic Provider"

ProviderType = 12

RequestType = PKCS10

KeyUsage = 0xa0

[EnhancedKeyUsageExtension]

OID=1.3.6.1.5.5.7.3.1 ; this is for Server Authentication

OID=1.3.6.1.5.5.7.3.2 ; this is for Client Authentication

[RequestAttributes]

SAN="dns= FQDN" ; replace with the FQDN of the DC


  1. В командную строку введите команду

certreq -new request.inf request.req

и нажмите клавишу ВВОД. Будет создан новый файл с именем Request.req. Это файл запроса, зашифрованный Base64.



  1. Отправьте запрос в центр сертификации.

  2. Загрузите выданный сертификат и сохраните его в виде файла Certnew.cer в папке, где хранится файл запроса.

  3. Примите выданный сертификат. Предположим, что имя файла – certnew.cer. Для этого в командной строке введите следующую команду и нажмите клавишу ВВОД:

certreq -accept certnew.cer

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

  2. Запустите консоль управления (MMC).

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

  4. Последовательно разверните узлы Сертификаты (Локальный компьютер), Личные и Сертификаты.

  5. В личном хранилище должен быть новый сертификат. В диалоговом окне Свойства сертификата будут указаны назначения сертификата:

    1. Обеспечивает получение идентификации от удаленного компьютера

    2. Подтверждает удаленному компьютеру идентификацию вашего компьютера

  6. Убедитесь, что этот сертификат выдан для полного имени компьютера а также имеет расширение Дополнительное имя субъекта:

DNS-имя=dc1.site.gnivc.ru

  1. Перезагрузите контроллер домена (иногда и без этого срабатывает … ).

  2. Переходим на следующий контроллер домена и повторяем все пункты заново

Установка драйверов смарт-карт


На всех компьютерах домена (в том числе и на контроллерах домена, в том числе и личном компе, который может быть не в домене, но с него будет RDP):

  1. Ставим последние дрова от етокена (рутокен не катит) http://www.aladdin-rd.ru/support/downloads/26037/

  2. Не смущаемся что дата дров - 2011 год.

  3. Язык установки - Russian

  4. Нельзя совмещать установку дров с windows update - дрова могут сглючить

  5. Если дрова хотят перезагрузки - надо перегружать

  6. Переходим к следующему компьютеру

Настройка доступа извне домена


На всех компьютерах домена, на которые будет вход по смарт-карте по RDP с не-доменных компьютеров, надо запретить проверку на уровне сети:

  1. Компьютер

  2. Свойства

  3. настройка удаленного доступа

  4. разрешать подключения от компьютеров с любой версией удаленного рабочего стола (опаснее)


Подготовка пользователей

Настройка пользователей в домене


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

Для всех пользователей со смарт-картами надо установить галку «Для интерактивного входа в сеть необходима смарт-карта» в учетных данных домена. Одного администратора надо оставить без этой галки на случай сбоя инфраструктуры открытых ключей.

Настройка не-доменного рабочего места для входа смарт-картами


  1. Устанавливаем драйвера eToken

  2. Устанавливаем корневой сертификат ЦС

Подготовка смарт-карт eToken


  1. Входим на токен с паролем администратора (по умолчанию - 0123456789) и нажимаем кнопку Инициализировать eToken.

  2. Ставим галочки Пароль пользователя и Пароль администратора

  3. Снимаем галочку При первом входе необходимо сменить пароль

  4. Вводим пароли для пользователя и администратора

  5. Максимальное число ошибок для админа и пользователя – 15

  6. Кнопка Дополнительно

  7. Режим кеширования личных данных – Всегда (Быстрый)

  8. Режим вторичной идентификации с ключом RSA – Никогда

  9. Галочка Поддержка ключей RSA длинной 2048 бит

  10. Ок – Запуск

Запрос и установка сертификата смарт-карты.


  1. Для каждого пользователя надо создать запрос на сертификат с записью закрытого ключа непосредственно в eToken.

Создайте файл smart.inf со следующим содержанием, заменив поля Subject и SAN в соответствии с реквизитами каждого пользователя и домена:

[Version]

Signature="$Windows NT$"

[NewRequest]

Subject = "E=mail@aksenov.pro, CN=Алексей Аксёнов, CN=Users, DC=site, DC=gnivc, DC=ru"

KeyLength = 1024

KeySpec = 1

KeyUsage = 0xa0

PrivateKeyArchive = FALSE

Exportable = FALSE

MachineKeySet = TRUE

UserProtected = FALSE

UseExistingKeySet = FALSE

ProviderName = "eToken Base Cryptographic Provider"

ProviderType = 1

[EnhancedKeyUsageExtension]

OID=1.3.6.1.5.5.7.3.2 ; this is for Client Authentication

OID=1.3.6.1.4.1.311.20.2.2 ; smart-card

OID=1.3.6.1.5.5.7.3.4; email

OID=1.3.6.1.5.5.7.3.3 ; sign code

[RequestAttributes]

SAN="upn=aksenov@site.gnivc.ru"



  1. В командную на любой машине, где можно вставить токен физически или виртуально, строку введите команду

certreq -new smart.inf smart.req

и нажмите клавишу ВВОД. У вас попросят вставить eToken и ввести его пароль пользователя (не администратора). Будет создан новый файл с именем smart.req. Это файл запроса, зашифрованный Base64.

  1. Отправьте запрос в центр сертификации.

  2. Загрузите выданный сертификат и сохраните его в виде файла Certnew.cer в папке, где хранится файл запроса.

  3. Импортируйте полученный сертификат в eToken через eToken Properties (правой кнопкой на Осиротевшие сертификаты).


Решение проблем




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

Проблема в личном сертификате одного из контроллеров домена. В евент-логе Security сбойного контроллера должна появиться надпись Kerberos-Key-Distribution-Center (19 или 21): Это событие показывает попытку входа со смарт-картой, но KDC не удалось использовать протокол PKINIT, поскольку нет подходящего сертификата.

Решения:


Проверить наличие сертификата и его валидности в выводе команды:

Certutil -dcinfo verify

Перегрузить все домен-контроллеры по очереди

Проверить доступность списков отзыва именно с домен-контроллеров

Выпустить правильный сертификат (если установленный не подходит)

http://blogs.technet.com/b/instan/archive/2011/05/17/smartcard-logon-using-certificates-from-a-3rd-party-on-a-domain-controller-and-kdc-event-id-29.aspx



Однажды помогло установить рядом доменный ЦС а потом уго убить. При установке он почемуто занес корневой сертификат стороннего ЦС в хранилище доменных корневых центров сертификации.

certutil - dspublish –f root.cer NTAuthCA

certutil - dspublish –f root.cer RootCA

  1. Произошла ошибка проверки подлинности. Поставщик не смог выполнить действие, поскольку контекст был получен как «тихий»

Откройте утилиту "Свойства eToken". Перейдите в меню "Дополнительно", в древовидном меню слева разверните пункт с именем вашего eToken, выбрав ниже пункт "Настройки". Справа в интерфейсе утилиты "Свойства eToken" перейдите на вкладку "Прочее". Убедитесь, что "Режим вторичной аутентификации с ключом RSA" установлен как "По запросу приложения" или "Никогда".

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



На доменном компьютере, с которого надо запускать RDP требуется выполнение следующих условий

- в доверенных корневых центрах сертификации должен быть установлен корневой сертификат ЦС

- должен попасть туда при применении групповой политики домена автоматически

- сертификат для входа смарт-картой должен быть зарегистрирован в пользовательском хранилище

- должен регистрироваться автоматом при вставке етокена

- компьютер должен смочь проверить список отзыва

- внутри домена все автоматом. Для проверки экспортируем сертификат в файл 1.cer и выполняем "certutil -url 1.cer", "certutil -f -verify -urlfetch 1.cer"

- Если на компьютере установлен КриптоПро CSP 3.6. и при вставке етокена показывается "Действительные сертификаты не обнаружены (No valid certificates found)":

- По умолчанию КрипроПро CSP регистрирует собственные носители смарт-карт (в том числе и eToken) для входа в систему. Поэтому Smart Card Logon не может считать RSA сертификат из eToken, т.к. используется не "eToken Base Cryptographic Provider", а "Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider". (http://www.aladdin-rd.ru/support/faq/etoken/category3/faq100022/)

- Для того чтобы отключить использование КриптоПро CSP для входа в систему, необходимо войти в Панель управления КриптоПро CSP, на вкладке "Оборудование", нажать "Настроить типы носителей", в свойствах всех носителей eToken на вкладке "Настройки" отключить опцию "Использовать для входа в операционную систему".

На компьютере без домена, с которого надо запускать RDP требуется выполнение тех же условий, но вручную

- в доверенных корневых центрах сертификации должен быть установлен корневой сертификат ЦС

- Нужно положить его руками

- сертификат для входа смарт-картой должен быть зарегистрирован в пользовательском хранилище

- должен регистрироваться автоматом при вставке етокена, либо руками

- компьютер должен смочь проверить список отзыва

- Для проверки экспортируем сертификат в файл 1.cer и выполняем "certutil -url 1.cer", "certutil -f -verify -urlfetch 1.cer"

- Если на компьютере установлен КриптоПро CSP 3.6. и при вставке етокена показывается "Действительные сертификаты не обнаружены (No valid certificates found)":

- По умолчанию КрипроПро CSP регистрирует собственные носители смарт-карт (в том числе и eToken) для входа в систему. Поэтому Smart Card Logon не может считать RSA сертификат из eToken, т.к. используется не "eToken Base Cryptographic Provider", а "Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider". (http://www.aladdin-rd.ru/support/faq/etoken/category3/faq100022/)

- Для того чтобы отключить использование КриптоПро CSP для входа в систему, необходимо войти в Панель управления КриптоПро CSP, на вкладке "Оборудование", нажать "Настроить типы носителей", в свойствах всех носителей eToken на вкладке "Настройки" отключить опцию "Использовать для входа в операционную систему".

етокен должен автоматом прокинуться в виртуалку через RDP (если его нет, то в параметрах подключения - локальные ресурсы - подробнее - галочка "смарткарты" должна стоять)

-------------------------------------------------------------------------------------------------

Правильное убийство ЦС

http://technet.microsoft.com/en-us/library/cc771494(v=ws.10).aspx

Убил через удаление роли - сертификаты от ЦС остались на обоих контролерах домена

Надо вручную убить на всех контроллерах старые корневые и старые контроллерные сертификаты

Установить вручную новые корневые и запросить новые контроллерные

Перегрузить по очереди все контроллеры

------------------------------------------------------------------------------------------------

Надо разобраться с бакапами ЦС

---------------------------------------------------------------------------------------------------

Полезные ссылки


Правила допуска входа в систему с помощью смарт-карт при участии независимых центров сертификации

http://support.microsoft.com/kb/281245

Подача заявки на сертификат с использованием смарт-карт

http://support.microsoft.com/kb/257480/ru



Troubleshooting Windows 2000 PKI Deployment and Smart Card Logon

http://technet.microsoft.com/library/Bb742532

Smart Cards – Creating a Windows 2008 Certificate Authority & Enrolling Smart Card Users with a 2K8 CA

http://blogs.citrix.com/2011/07/15/smart-cards-creating-a-windows-2008-certificate-authority-enrolling-smart-card-users-with-a-2k8-ca/

Certreq.exe Syntax

http://technet.microsoft.com/en-us/library/cc736326(v=ws.10).aspx

CMC EOBO Request

http://msdn.microsoft.com/en-us/library/windows/desktop/aa374898(v=vs.85).aspx

How to add a Subject Alternative Name to a secure LDAP certificate

http://support.microsoft.com/kb/931351/en-us

How to Request a Certificate With a Custom Subject Alternative Name

http://technet.microsoft.com/ru-ru/library/ff625722(v=ws.10).aspx#BKMK_Security

Requirements for domain controller certificates from a third-party CA

http://support.microsoft.com/kb/291010/en-us

Successful CRL Publishing - Event to Trigger Scheduled Task?



http://social.technet.microsoft.com/Forums/windowsserver/en-US/dd8e4254-f8e8-4d85-b04b-46034eb71db7/successful-crl-publishing-event-to-trigger-scheduled-task