• Установка и настройка корневого центра сертификации (RootCA)

    Степан Москалев

    Леонид Шапиро

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

    Процедура самой установки службы сертификатов не отличается от установки любой другой роли Windows Server 2016, и знакома системному администратору. Добавляется новая роль – Active Directory Certificate Service. Перед установкой следует разместить файл capolicy.inf [1], содержимое которого мы обсуждали в предыдущей статье [3] в папке systemroot. См. рис. 1.

    рис. 1.

    Это позволит нам выполнить начальную конфигурацию сервера сертификатов. В процессе установки сервиса, вернее будет сказать послеустановочной настройки см. рис. 2., потребуется задать учетную запись, от имени которой будет работать служба, тип развертывания – «Stand Alone CA», роль удостоверяющего центра – «RootCA».

    рис. 2.

    Также будет необходимо создать новый частный ключ, указать требуемый криптоалгоритм и длину ключа, алгоритм хеширования, срок жизни сертификата. После этого может сложится впечатление, что настройка завершена, однако это не так. Дело в том, что многие параметры работы сервера сертификатов останутся в состоянии «по-умолчанию», что приведет к неверной работе. Так, например, точки публикации сертификатов (AIA) см. рис. 3 и списков отзыва (CDP) см. рис. 4, порядок их опроса не будут соответствовать нашим потребностям, параметры логирования не будут заданы вовсе.

    рис. 3.

    рис. 4.

     

    AIA расшифровывается как Authority Information Access и определяет место хранение актуальных сертификатов нашего сервера. CDP – дает нам возможность определить место хранения списков отзывов, подписанных нашим сервером сертификатов. Оба эти расширения содержаться во всех выданных удостоверяющим центром сертификатах и, соответственно, должно быть доступны всем потребителям.

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

    Изменение этих настроек может быть выполнено разными способами. Может быть использован графический интерфейс (GUI), утилита certutil [4], с помощью которой можно полностью выполнять любые задачи из командной строки, наконец воспользоваться командлетами powershell.

    Certutil.exe – программа командной строки, которая устанавливается как часть служб сертификации. Используется для сбора информации о конфигурации удостоверяющего центра, настройки служб сервиса, резервного копирования и восстановления компонентов ЦС и проверки сертификатов, пар ключей и цепочек сертификатов.

    Администратор может вносить изменения в AIA и CDP расширения, однако на уже выданные сертификаты это никак не повлияет, они содержат предыдущие значения, соответственно, надо учитывать этот факт, и не лишать обладателей ранее выданных сертификатов возможности работы. Порядок строк в CDP, определяет последовательность проверки списка отзыва сертификатов. Получается, что, при наличии внешних клиентов, надо учесть, что проверка, скажем LDAP пути, который по-умолчанию стоит раньше в списке, будет для них просто невозможна. То есть будут возникать задержки [5] пока получится добраться до «рабочего» варианта. В этой ситуации, будет целесообразно, первым разместить HTTP путь. Это же будет относится и к не Windows клиентам, которые не будут использовать LDAP для поиска сертификатов и списков отзыва.

    Вообще, наиболее часто используемым будет именно HTTP вариант, поскольку он универсален и подходит любому типу клиента независимо от его членства в домене AD DS и типа.

    Стоит отметить, что у нас нет возможности частичной корректировки уже внесенной строки. Также невозможно изменить порядок следования строк. И, поскольку указанный по-умолчанию вариант в большинстве случаем не подходит, то ничего не остается, как только удалить эти строки полностью и внести новые значения, соответствующие требованиям. На этом этапе должны быть уже определены места хранения сертификатов и списков отзыва и подготовлен веб сервер, что уже обсуждалось в предыдущей статье [3].

    Еще один важный момент – как выполнить эти настройки? Конечно, это может быть сделано «вручную» с помощью графического интерфейса, однако при таком способе вероятность ошибок из-за невнимательности возрастает, поэтому лучше будет воспользоваться заранее подготовленным и отлаженным скриптом, который и выполнит все необходимые модификации реестра и настроит CA.

    Для настройки параметров CDP будем применять утилиту certutil и воспользуемся следующей командой:

     

    CertUtil [Options] -setreg [{ca|restore|policy|exit|template|enroll|chain|PolicyServers}[ProgId]]RegistryValueName Value+ ,

    с помощью, которой и назначим точки публикации CRL.

     

    Определимся с тем, каких результатов нам требуется добиться.

    Список отзыва сертификатов публикуется на самом сервере сертификатов в виде обычного файла с расширением CRL. Стало быть, надо указать папку, где будет этот файл храниться. Например, тот вариант, который предлагается по-умолчанию:

    C:\Windows\system32\CertSrv\CertEnroll.

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

    Пусть все настроено и наши клиенты уже работают с сертификатами, например, пытаются подключиться по SSL.

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

    Значит список отзыва RootCA должен быть включен в выданные им сертификаты.

    Какие пути надо включить? Первым будет HTTP, а вторым LDAP путь для клиентов AD. Вероятней всего, до проверки LDAP дело не дойдет, но мы все-таки дополнительно внесем и этот путь.

    Включим публикацию этих путей в сертификате. То есть получив сертификат, клиент точно будет знать куда идти для проверки. С дополнительными параметрами в этой команде можно познакомиться в статье [5].

    certutil -setreg CA\CRLPublicationURLs “1:C:\Windows\system32\CertSrv\CertEnroll\%3%8.crl\n2:http://pki.nwtraders.msft/PKI/%3%8.crl\n10:ldap:///CN=%7%8,CN=%2,CN=CDP,CN=Public Key Services,CN=Services,%6%10”

    Сам сертификат УЦ тоже должен где-то храниться, мы используем путь по-умолчанию: C:\Windows\system32\CertSrv\CertEnroll.

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

    Настройку AIA выполним таким образом:

    certutil -setreg CA\CACertPublicationURLs “1:C:\Windows\system32\CertSrv\CertEnroll\%3%4.crt\n2:http://pki.nwtraders.msft/PKI//%3%4.crt\n2:ldap:///CN=%7,CN=AIA,CN=Public Key Services,CN=Services,%6%11”

     

    Для настройки срока действия сертификата и периодичности публикации CRL, если нам требуется изменить уже внесенные с помощью capolicy.inf значения, с помощью все той же утилиты certutil делается нижеследующее:

     

    certutil -setreg CA\ValidityPeriodUnits 20

    certutil -setreg CA\ValidityPeriod “Years”

    certutil -setreg CA\CRLPeriodUnits 26

    certutil -setreg CA\CRLPeriod “Weeks”

    certutil -setreg CA\CRLOverlapUnits 2

    certutil -setreg CA\CRLOverlapPeriod “Weeks”

    certutil -setreg CA\CRLDeltaPeriodUnits 0

    certutil -setreg CA\CRLDeltaPeriod “Hours”

    Последовательно здесь настраиваются:

     

    • Период действия сертификата центра сертификации
    • Единицы измерения для ValidityPeriodUnits
    • Периодичность выпуска списков CRL и Delta CRL, а также срок продленного действия списков CRL

     

    Последнее, что осталось сделать – настроить аудит.

    certutil -setreg CA\AuditFilter 127

    Наконец, для определения значения переменной %6 -<ConfigurationContainer> выполните следующую команду:

    certutil -setreg ca\DSConfigDN “CN=Configuration,DC=nwtraders,DC= msft”

    Вот теперь мы можем считать, что корневой центр сертификации развернут.

     

    Продолжение следует

    Статья опубликована в журнале “Системный Администратор № 3, 2018  стр.  16-19

    Литература

    [1] How CA Certificates Work. Overview of Capolicy.inf. https://technet.microsoft.com/en-us/library/cc737264(WS.10).aspx.

    [2] Prepare the Capolicy.inf https://docs.microsoft.com/en-us/windows-server/networking/core-network-guide/cncg/server-certs/prepare-the-capolicy-inf-file

    [3] Леонид Шапиро Внедрение Инфраструктуры Открытых Ключей на основе Windows Server 2016 Часть № 1. Предварительный этап /Системный Администратор № 1-2, 2018  стр.  23-27

    [4] Certutil https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certutil

    [5] Certification Authority Guidance https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/hh831574(v=ws.11)

    • Атаки DDoS и выбор средств противостояния. Построение тестового стенда.

      В предыдущей статье мы познакомились с опасностью, которую представляют DDoS атаки, посмотрели ряд типовых атак и принципы их работы, и увидели основные методы противодействия DDoS. Итак, система противодействия DDoS атакам (а речь всегда должна идти о комплексном решении, иначе злоумышленникам будет проще найти способ атаки) должна обеспечивать решение приведенных ниже задач:

      1. Обеспечение бесперебойной работы без снижения производительности всех легитимных клиентов, независимо от того осуществляется атака или нет.
      2. Защита от всех известных классов атак.
      3. Система отражения должна срабатывать в автоматическом режиме за секунды, не требуя участия администратора.
      4. Система должна обеспечивать защиту не только на основе статических сигнатур, но и использовать модуль поведенческого анализа, позволяющий отразить атаки нулевого дня.
      5. Система должна работать на канальном уровне модели OSI и не иметь присвоенных IP адресов в сети, от узлов которой осуществляется защита.
      6. Для защиты от атак на переполнения канала связи, поставщик решения должен предложить облачный сервис очистки трафика.
      7. Необходимо обеспечить отражение атак внутри SSL трафика.
      8. Система противодействия DDoS атакам должна обладать модулем, которые позволит обеспечить борьбу со сканированием.
      9. Крайне важным является наличие единой системы управления всеми компонентами системы.
      10. Требуется эффективная система мониторинга и отчетности.
      11. Поставщик решения должен иметь в своем составе команду профессионалов, доступную в круглосуточном режиме для помощи во время атаки.

       

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

       

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

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

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

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

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

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

      Если нас не интересует защита от атак на WEB приложения, то и модуль WAF на стенде нам не понадобится. Когда же речь идет о комплексной защите, то понадобятся все компоненты для формирования инфраструктуры безопасности.

      Начнем с самого простого варианта. Допустим мы говорим только о DDoS. В предыдущей статье мы уже предложили классификацию DDoS атак. Здесь я ее лишь напомню.

      1. Сетевые флуды;
      2. Атаки на ресурсы приложений;
      3. Сканирование;
      4. Медленные атаки малого объема;
      5. Сложные атаки на веб-приложения;
      6. Атаки под SSL.

      Для проверки систем противодействия этому набору атак предлагается схема тестового стенда, представленная на рис. 1.

      рис. 1.

       

      Выделяется три сетевых сегмента:

      Атакуемая сеть – в ней размещаются серверы, на которые будут осуществляться атаки. Обычно предлагается использовать типовой набор служб (WEB, DNS, Mail, NTP и и т. п.). Обратите внимание, на размещение модуля защиты от WEB атак, модуля WAF. Он всегда должен быть размещен за системой противодействия DDoS, и сам находится под ее защитой.

      Атакующая сеть – сеть для выполнения тестовых атак. Если речь не идет о проверке защиты от воздействия на канал связи, то вопросом облачной защиты можно пренебречь. Для выполнения тестирования можно воспользоваться такими средствами как Kali Linux, Raptor и подобными. В этой же сети имеет смысл создать и легитимного клиента, возможность работы которого мы будем оценивать во время атаки.

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

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

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

       

      Продолжение следует…

       

      • Атаки DDoS и методы противодействия

        Вряд ли найдется хоть одно предприятие, независимо от его сферы деятельности, где не применяются интернет технологии. Для многих компаний невозможность или трудности работы в сети приводят к катастрофическим последствиям, чем не преминули воспользоваться злоумышленники и конкуренты, проводя целый комплекс атак, приводящих к весьма серьезным неприятностям. Так что же это за атаки и почему они нередко оказываются весьма успешными? Как им противостоять? В качестве примера возьмем интернет-магазин как наиболее простой и понятный вариант. Пусть достигнуты отличные результаты, интернет-магазин имеет успех. Вдруг вы заметили сокращение объема заказов. Стали поступать жалобы от постоянных клиентов, что сайт магазина не отвечает или работает крайне медленно. Эта ситуация начинает повторяться все чаще. Наконец, практически все время к магазину становится невозможно получить доступ. В чем же дело? Вы оказались слишком успешны. Вам объявили кибервойну! Следует иметь в виду, что ни одна из сфер деятельности не осталась без внимания злоумышленников. Атакам подвергаются не только интернет-магазины, но и финансовая сфера, сайты учебных заведений, медицинских учреждений, некоммерческих организаций и многие другие. Надо сказать, что нечестные методы конкурентной борьбы стали гораздо совершеннее, и развитие IT технологий не только предоставило нам новые эффективные инструменты ведения бизнеса, но и создало новое оружие для борьбы с ним. Можно весьма эффективно уничтожать конкурентов, не прибегая к еще недавно столь популярным методам «грубой силы». Теперь на службе у преступников информационные технологии… Здесь речь идет о DDoS атаках, жертвами которых мы и оказались.

        • Внедрение Инфраструктуры Открытых Ключей на основе Windows Server 2016

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

          • Доверие в сфере информационных технологий

            • Рубрика: Security,Windows
            • Автор: Леонид Шапиро
            • Дата: Friday 09 Mar 2018

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

            • Бесплатные сертификаты для Exchange\Skype\SharePoint

              freeТакие продукты как Exchange Server и Skype for Business Server не работают без сертификатов X.509, они им необходимы для шифрования клиентских подключений. Когда все подключения внутри ситуация проста, можно задействовать сертификаты от внутренней службы AD CS. Они доверенные внутри компании. Но совершенно неприемлемо использовать их, когда речь идет о серверах, к которым подключаются внешние клиенты и другие сервера из интернет.

              • Публикация виртуальных машин в UAG

                Microsoft Forefront Unified Access Gateway (UAG) 2010 – очень интересное средство для публикации внутренних ресурсов для внешних (да и внутренних тоже) пользователей. Но вот есть в нем очень серьезный недостаток – нет никаких средств автоматизации процесса управления. Точнее так, средства автоматизации есть, в виде COM-интерфесов, но они недокументированы и понять, как они работают и какие параметры принимают, мне так и не удалось.
                • Принципы работы решений на основе AD RMS.

                  crypto

                  Нередко ИТ инженеры не в курсе всех возможностей, которые дает сама операционная система. AD RMS одна из них. Многие проблемы безопасности могут быть решены с помощью этого сервиса.Построение безопасных информационных систем серьезная и комплексная задача. Тем не менее, многие вопросы безопасности могут быть решены с помощью встроенных средств операционной системы. И здесь хотелось бы обратиться к Active Directory Rights Management Service (AD RMS).

                  • Active Directory Domain Services: Выбор средств двухфакторной аутентификации

                    Технология двухфакторной аутентификации RSA SecurID — теперь и для платформы AndroidПостроения двухфакторной аутентификации в корпоративной среде – ответственная задача. На что следует обратить внимание, чтобы реализовать адекватное потребностям рынка решение? В «Системном администраторе», а также в других изданиях, посвященных ИТ-технологиям и вопросам информационной безопасности, неоднократно упоминалось о принципиальной ненадежности парольной аутентификации, а также крайней нежелательности использования запоминаемых паролей. Это особенно актуально в эпоху облачной эры, на пороге которой мы находимся. Вероятность компрометации конфиденциальной информации будет только возрастать.

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

                    • Microsoft DirectAccess 2012: DirectAccess и Windows 8

                      ed31_earth_in_my_room

                      В прошлой статье я постарался в понятной форме рассказать о технологии DirectAccess, о ее плюсах и минусах. Теперь, как и обещал, расскажу о том, каким образом настроить сервер DirectAccess в базовой конфигурации для работы только с клиентами Windows 8. Что значит в базовой конфигурации? Это когда у вас есть Windows Server 2012 на котором будет поднята роль для DirectAccess и  клиенты (с операционной системой Windows 8 Enterprise) имеющие  прямое подключение к интернету . В базовой конфигурации не будет использоваться инфраструктура открытых ключей (PKI) и  используется только одна входная точка (сервер DirectAccess), подключенная в одном сайте Active Directory. Так же в базовую конфигурацию не могут входить дополнительные опции, такие как двухфакторная аутентификация (OTP Auth), проверка доступа к сети (NAP). Ну и самое важное – в ней не могут использоваться клиенты Windows 7.