Лекция 7
Тема: Безопасная аутентификация. Active Directory Domain Services. Двух-факторная аутентификация.
Безопасность сети – ключевая проблема, стоящая перед ИТ-службами. Решение формируется из комплекса элементов, один из них – безопасная аутентификация
Терминология
Когда идет речь о защите информации, одним из важнейших аспектов является защита от несанкционированного доступа к ресурсам нашей сети. Разумеется, крайне важным вопросом является обеспечение процедуры безопасной аутентификации. Совершенно очевидно, что любое разграничение полномочий, настройка прав доступа на ресурсы системы имеет смысл только, если мы уверены в том, что тот, кто пытается получить доступ к нашим ресурсам, является легальным пользователем. В данной лекции мы рассмотрим некоторые аспекты обеспечения безопасности, а именно внедрение двухфакторной аутентификации в службе каталога Active Directory Domain Services (AD DS). Вопросы безопасной аутентификации являются весьма актуальными при попытке обеспечения безопасности организации в целом.
Прежде всего целесообразно разобраться с терминологией. Иногда даже сотрудники ИТ-отделов путают термины «идентификация», «аутентификация» и «авторизация». В чем тут разница? Процесс регистрации пользователя в системе состоит из трех взаимосвязанных, последовательно выполняемых процедур:
• Идентификация – это процедура распознавания субъекта по его идентификатору. В процессе регистрации выполняется предъявление идентификатора системе, и она проверяет его наличие в своей базе данных. Только субъекты с известными системе идентификаторами считаются легальными.
• Аутентификация – процедура проверки подлинности, позволяющая достоверно убедиться в том, что предъявивший свой идентификатор на самом деле является именно тем, за кого он себя выдает. Для этого он должен подтвердить факт обладания некоторой информацией, которая может быть доступна только ему одному (пароль, ключ и т.п.).
• Авторизация – процедура предоставления определенных прав доступа к ресурсам системы после прохождения им процедуры аутентификации. Для каждого субъекта в системе определяется набор прав, которые он может использовать при обращении к ее ресурсам.
В данном случае под субъектом подразумевается любой участник безопасности, например, учетная запись пользователя, созданная в службе каталога AD DS.
Для того чтобы обеспечить управление и контроль над данными процедурами, дополнительно используются процессы администрирования и аудита.
• Администрирование – процесс управления доступом к ресурсам системы. Этот процесс включает в себя:
o создание идентификатора (создание учетной записи пользователя) в системе;
o управление данными пользователя, применяемыми для его аутентификации (смена пароля, издание сертификата и т.п.);
o управление правами доступа к ресурсам системы.
• Аудит – процесс контроля доступа к ресурсам системы, включающий протоколирование действий при доступе к ресурсам системы для обеспечения возможности обнаружения попыток несанкционированных действий.
Для подтверждения своей подлинности необходимо предоставить некоторую секретную информацию. Существуют различные виды такой информации, которые можно обозначить одним термином «фактор аутентификации».
• Фактор аутентификации – определенный вид информации, предоставляемый субъектом системе при его аутентификации. Данная процедура может быть реализована с использованием одного или нескольких аутентификационных факторов. Например, у пользователя может быть запрошен пароль либо потребуется предоставить отпечаток пальца.
• Однофакторная аутентификация – процесс, в котором используется только один тип аутентификационных факторов.
• Многофакторная аутентификация – процесс, в котором используется несколько факторов. Например, при регистрации пользователь должен использовать смарт-карту и пароль.
Наиболее распространено использование сочетания двух типов аутентификационных факторов. Характерным примером является работа с банкоматом. Нам требуется одновременно использовать карту с магнитной полосой и PIN-код.
Виды классификация типов факторов аутентификации согласно NCSC-TG-017
Какие же существуют факторы аутентификации?
• На основе знания чего-либо (Authentication by Knowledge):
o пароль или парольная фраза;
o PIN.
• На основе обладания чем-либо (Authentication by Ownership):
o физический ключ;
o карта с магнитной полосой;
o OTP-токен, генерирующий одноразовый пароль.
• На основе биометрии (Authentication by Characteristic):
o отпечаток пальца;
o рисунок сетчатки глаза;
o голос.
В некоторых компаниях организуется строгий контроль доступа в помещение, то есть в определенные помещения доступ предоставляется только ограниченному числу лиц. Например, в серверную комнату может войти только администратор. Если при этом установить для всех компьютеров, находящихся в этих помещениях, строго определенные IP-адреса, то появляется возможность усиления безопасности при доступе сотрудников к ресурсам компьютерной сети. Им предоставляется доступ к определенным действиям или данным только в том случае, если они это делают в строго определенном помещении и, соответственно, с определенных компьютеров, имеющих определенные IP-адреса.
В этом случае иногда говорят об использовании четвертого типа фактора аутентификации – на основе места проведения процедуры, однако это не считается дополнительным типом факторов аутентификации, так как он не может использоваться отдельно от других. Поскольку порой весьма затруднительно обеспечить эффективную работу определенного сотрудника на строго определенном рабочем месте (компьютере), данный «фактор» нельзя выделять как дополнительный тип фактора аутентификации.
В последнее время наметились тенденции интеграции логических средств аутентификации и средств контроля и управления доступом (СКУД). Смарт-карты, используемые для аутентификации пользователя при попытке доступа к ресурсам компьютерной системы, интегрируются с RFID (радио-частотной идентификацией). В этом случае появляется возможность дополнительно использовать их для аутентификации человека при его доступе в различные помещения. По-прежнему в этом случае речь будет идти об использовании аутентификации «на основе обладания чем-либо». Это расширяет возможности использования смарт-карты, позволяя пользователю работать только с одним идентифицирующим предметом как для входа в систему, так и для доступа в помещения компании.
Особенности аутентификации по паролю. Риски парольной аутентификации и методы борьбы с ними
Ну что же, мы разобрались с основной терминологией и теперь поговорим о практике применения. Какой вид аутентификации используется чаще всего? Для пользователей наиболее широко используется аутентификация по секретной информации, которая неизвестна непосвященным людям. При «некомпьютерном» использовании это может быть произносимая голосом фраза или запоминаемая комбинация для замка. В случае вычислительных систем это может быть вводимый с помощью клавиатуры набор символов.
Чем длиннее пароль или идентификационная фраза, тем он более устойчив к взлому (сложнее поддается подбору, перебору или другим типам атак). Хорошим вариантом считается идентификационная фраза длиной от 25 до 100 символов. К сожалению, длинные пароли обладают другими недостатками:
• Их сложнее запомнить, а стало быть, пользователи их будут записывать, и есть высокая вероятность, что будут развешивать в виде стикера на мониторах и в других легкодоступных местах, что, несомненно, снижает безопасность. Кроме того, внедрение рекомендаций регулярной смены паролей приводит к тому, что запоминать что-то новое надо будет часто, что также приводит к усложнению работы пользователей, с которым не все готовы согласиться.
• Их медленнее набирают – соответственно их проще подсмотреть.
• Стремясь упростить для себя процесс запоминания, пользователи часто ис-пользуют в качестве кодового слова осмысленные фразы (фамилии, имена, адреса, памятные даты и т.д.).
Парольная аутентификация является наиболее простым методом аутентификации с точки зрения сложности реализации (не требуется внедрять инфраструктуру удостоверяющих центров) и по умолчанию присутствует в большинстве операционных систем
Типовые атаки на пароль
Давайте рассмотрим некоторые типовые виды взлома пароля, которые используются чаще всего.
Методы перебора паролей. Атака со словарем
Злоумышленник, перебирая пароли, производит в специальном файле поиск, используя слова из большого заранее подготовленного им словаря, а также зашифровывает каждое пробное значение с помощью того же алгоритма, что и программа регистрации.
Борьба с этим видом взлома не является слишком сложной, в этом случае следует использовать сложные длинные пароли, которые содержат различные типы символов вместо осмысленных фраз. Кроме этого, можно заблокировать учетную запись при неоднократном неправильном вводе пароля. И наконец, используя аудит, выявить источник атаки.
Социотехника, угадывание, подглядывание
Злоумышленник представляется администратором и вынуждает пользователя или открыть свой пароль, или сменить его на указанный взломщиком. Я думаю, многие из вас получали такие письма по электронной почте.
Здесь метод борьбы также понятен, пользователи должны быть проинформированы о недопущении разглашения своих учетных данных кому бы то ни было. В организации должны быть разработаны административные процедуры, запрещающие разглашение паролей другим лицам при любых обстоятельствах. Следует также извещать пользователей о том, что администратор никогда не обратится к ним с таким требованием.
Более изощренный вариант такой атаки нацелен на администраторов, а не на пользователей. Злоумышленник представляется законным пользователем и просит администратора заменить пароль. Также он может представиться одним из руководителей и попросить заменить пароль, расширить полномочия и т.п.
Решение этой проблемы тоже лежит в организационной плоскости. Должна действовать корпоративная политика, согласно которой администратор меняет пароль пользователя только при условии, что он может установить его личность и передать новый вариант пользователю безопасным способом. Средства самостоятельного управления паролями могут удовлетворять обоим критериям.
Есть и другие варианты атак, например, попробовать навести справки в отделе кадров, посмотреть на столе, покопаться в мусоре. И собрав информацию о личности жертвы, попробовать угадать пароль. Иногда девичьей фамилии жены вполне достаточно для доступа к почте, размещенной на бесплатном почтовом сервере. А дальше, проанализировав переписку пользователя, взломщик может получить достаточно информации и для получения доступа к внутрикорпоративным данным. То есть злоумышленник, исходя из знаний личных данных жертвы, пытается войти в систему с помощью имени пользователя и одного или нескольких паролей, которые могли бы быть использованы. Этот способ атаки, как ни удивительно, часто оказывается эффективным и против административных учетных записей. Пароли P@ssw0rd, QWERTY123 и т.д. по-прежнему еще можно встретить у пользователей, чьей задачей как раз и является недопущение подобного в информационных сис-темах.
Для защиты от такой атаки следует использовать идентификационные фразы, не содержащие очевидных ассоциаций, например, RQ12#lm25 гораздо лучше, чем Margo200576. Ну и опять нам на помощь приходит блокировка учетной записи при неоднократном неверном вводе пароля.
Что касается подглядывания при вводе пароля, то здесь нам отчасти могут помочь административные процедуры, запрещающие вводить свои учетные дан-ные в присутствии других лиц, и регулярная смена пароля пользователем, требования обязательной блокировки рабочей станции и т.п.
«Троянский конь»
Злоумышленник скрытно устанавливает ПО, имитирующее обычную регистрационную программу и собирающее имена пользователей и пароли при попытках пользователей войти в систему. Впрочем, такое программное обеспечение может быть установлено не только злоумышленником.
На компьютере подобные программы могут появиться и в результате заражения вирусами, или могут быть установлены самим пользователем, когда он пытается использовать какой-либо продукт нелегально, скачивая генератор серийных номеров и т.д., что в своем коде может содержать нежелательную функциональность.
Для защиты от этого вида атак следует использовать антивирусное про-граммное обеспечение, программное обеспечение по оценке целостности файлов, ограничение на запуск несанкционированных приложений.
Принуждение
В этом случае чтобы заставить пользователя открыть свой пароль, злоумышленник использует угрозы или физическое воздействие. В некоторых системах предусматривается возможность для пользователя подать сигнал о том, что вход осуществляется под принуждением. Обычно это реализуется посредством использования специального пароля при входе в систему – пароль «вход под принуждением».
Мы рассмотрели основные виды уязвимостей парольной аутентификации и теперь посмотрим некоторые средства защиты, которые доступны посредством политик.
Методы защиты при использовании аутентификации по паролю
Для защиты паролей от взлома следует настроить соответствующую политику в Windows Server. Для этого необходимо с помощью меню Start -> Administrative Tools -> Group Policy Management запустить консоль управления групповыми политиками GPMC, выбрать требуемый объект групповой политики раздел Computer Configuration -> Policies -> Security Settings -> Account Policies -> Password Policy
Можно задать минимальную длину пароля, что позволит нам избежать коротких паролей (Minimum password length). Для того чтобы пользователь задавал сложные пароли, следует включить требование сложности (Password must meet complexity requirements). Для обеспечения регулярной смены пароля нужно задать его максимальный срок жизни (Maximum password age). Для того чтобы пользователи не повторяли старые пароли, требуется настроить хранение истории паролей (Enforce password history).
Ну и наконец, для того чтобы пользователь не менял свой пароль на старый путем многократной смены паролей, нужно задать минимальный срок, в течение которого пароль нельзя поменять (Minimum password age).
Для защиты от атаки по словарю настроим блокировку учетной записи при неоднократном неправильном вводе пароля. Для этого необходимо в консоли управления групповыми политиками GPMC выбрать требуемый объект групповой политики раздел Computer Configuration -> Policies -> Security Settings -> Account Policies -> Account Lockout Policy
Для настройки окончательной блокировки учетной записи (до разблокирования ее администратором) следует задать нулевое значение параметру продолжительности блокировки (Account lockout duration).
В счетчике количества неуспешных попыток входа в сеть (Account lockout threshold) нужно указать требуемое значение. В большинстве случаев приемлемым вариантом является 3–5 попыток входа. Наконец, следует задать интервал сброса счетчика неуспешных попыток (Reset account lockout counter after).
Для защиты от «троянских коней» следует использовать антивирусные средства и блокировку несанкционированного программного обеспечения. Для ограничения возможностей пользователей по внесению вирусов в информационную систему оправданы: настройка запрета на работу с внешними устройствами (CD, DVD, Flash), строгий режим работы UAC, использование отдельно стоящих интернет-киосков на базе компьютеров, не входящих в состав рабочей сети. И наконец, внедрение строгих регламентов работы, определяющих правила работы пользователей в корпоративной сети (запрет передачи своих учетных данных кому бы то ни было, запрет оставлять свои учетные данные в доступных местах, требования обязательной блокировки рабочей станции при оставлении рабочего места и т.п.). В результате мы сможем добиться уменьшение рисков, связанных с нарушением безопасности компании.
Предположим, все это сделано. Тем не менее говорить о том, что нам удалось обеспечить безопасную аутентификацию в своей системе, пока преждевременно.
Человеческий фактор – самая большая угроза
Существуют еще угрозы, справиться с которыми нам не удалось. Одна из наиболее существенных – человеческий фактор. Пользователи наших информационных систем не всегда достаточно сознательны и, несмотря на разъяснения администраторов безопасности, записывают свои учетные данные (имя пользователя и пароль) и не заботятся о секретности этой конфиденциальной информации.
Как мы можем видеть, в системе внедрены длинные и сложные пароли, и ассоциативный ряд явно не просматривается. Тем не менее пользователи нашли «эффективный» способ запоминания и хранения учетных данных… Вы видите, что в этом случае как раз и сработала особенность, о которой я говорил выше: длинные и сложные пароли записываются и могут храниться ненадлежащим образом.
Инсайдинг
Еще одна существенная угроза безопасности заключается в потенциальной возможности физического доступа злоумышленника к рабочей станции легального пользователя и передача конфиденциальной информации третьим лицам. Речь идет о ситуации, когда внутри компании существует сотрудник, похищающий информацию у своих коллег.
Вполне очевидно, что «физическую» безопасность рабочей станции пользователя обеспечить очень трудно. В разрыв клавиатуры можно без труда подключить аппаратный клавиатурный шпион (keylogger), перехват сигнала от беспроводных клавиатур тоже возможен. Такие устройства существуют. Разумеется, кто попало не пройдет в офис компании, однако всем известно, что самым опасным является внутренний шпион. У него уже есть физический доступ к вашей системе, и разместить клавиатурный шпион не составит труда, тем более эти устройства доступны широкому кругу лиц. Кроме того, нельзя сбрасывать со счетов программы – клавиатурные шпионы. Ведь, несмотря на все усилия администраторов, возможность установки такого «шпионского» программного обеспечения не исключена.
Всегда ли пользователь блокирует свою рабочую станцию, покидая свое рабочее место? Удается ли администратору информационной системы добиться, чтобы пользователю не назначались избыточные полномочия, особенно при необходимости использования старых программных продуктов? Всегда ли администратор, а особенно в небольшой компании, обладает достаточной квалификацией, чтобы внедрить рекомендации производителей программного и аппаратного обеспечения по построению безопасных информационных систем?
Таким образом, можно сделать вывод о ненадежности парольной аутентификации в принципе. Следовательно, требуется аутентификация многофакторная, при этом такого вида, чтобы пароль пользователя не набирался на клавиатуре.
Что нам может помочь?
Имеет смысл рассмотреть двухфакторную аутентификацию: 1-й фактор – обладание паролем, 2-й – знание PIN-кода. Доменный пароль больше не набирается на клавиатуре, значит, не перехватывается клавиатурным шпионом. Перехват доменного пароля чреват возможностью входа, перехват PIN-кода не так опасен, так как дополнительно требуется смарт-карта.
На это можно возразить, что пользователь вполне может оставить свою карту в считывателе, а PIN-код написать на стикере, как и раньше. Однако существуют системы контроля, которые могут заблокировать оставленную карту так, как это реализовано в банкоматах. Дополнительно существует возможность разместить на карте пропуск для входа/выхода из офиса, то есть мы можем использовать карточку с RFID-меткой, объединив тем самым систему аутентификации в службе каталога с системой разграничения физического доступа. В этом случае, чтобы открыть дверь, пользователю потребуется его смарт-карта или USB-токен, так что он будет вынужден ее всегда носить с собой.
Кроме того, современные решения для двухфакторной аутентификации предполагают не только возможность аутентификации в AD или AD DS. Использование смарт-карт и USB-ключей помогает и во многих других случаях, например, при доступе к публичной электронной почте, в интернет-магазины, где требуется регистрация, к приложениям, имеющим свою собственную службу каталога и т.д.
Таким образом можно получить практически универсальное средство аутентификации.
Внедрение двухфакторной аутентификации на основе асимметричной криптографии в AD DS
Служба каталога Active Directory поддерживает возможность аутентификации с помощью смарт-карт, начиная с Windows 2000.
По сути своей возможность аутентификации с помощью смарт-карт заложена в расширении PKINIT (public key initialization – инициализация открытого ключа) для протокола Kerberos RFC 4556. Расширение PKINIT позволяет использовать сертификаты открытого ключа на этапе предаутентификации Kerberos.
Благодаря чему и появляется возможность использования смарт-карт. То есть мы можем говорить о возможности двухфакторной аутентификации в системах Microsoft на основе штатных средств, начиная с ОС Windows 2000, так как уже реализована схема Kerberos + PKINIT.
Примечание: предаутентификация Kerberos – процесс, обеспечивающий дополнительный уровень безопасности. Выполняется до выдачи TGT (Ticket Granting Ticket) от сервера распространения ключей (KDC). Используется в протоколе Kerberos v. 5 для противодействия офлайн-атакам на угадывание пароля. Подробнее о принципах работы протокола Kerberos можно узнать в RFC 4120.
Разумеется, речь идет о компьютерах в составе домена. Если же есть необходимость прибегнуть к двухфакторной аутентификации при работе в рабочей группе или при использовании более ранних версий операционных систем, то нам придется обратиться к программному обеспечению третьих фирм. Например, к SafeNet (Aladdin) eToken Network Logon 5.1.
Вход в систему может быть обеспечен как при использовании службы каталога домена, так и локальной службы каталога. При этом пароль пользователя не набирается на клавиатуре, а передается из защищенного хранилища на смарт-карте.
Аутентификация с помощью смарт-карт реализуется посредством расширения Kerberos PKINIT, это расширение обеспечивает возможность использования асимметричных криптографических алгоритмов.
Что касается требований для внедрения использования смарт-карт в связке с PKINIT, то для операционных систем семейства Windows они следующие:
• все контроллеры доменов и все клиентские компьютеры в рамках леса, где осуществляется внедрение нашего решения, обязательно должны доверять корневому удостоверяющему центру (Центру Сертификации, ЦС);
• удостоверяющий центр, выдающий сертификаты для использования смарт-карт, должен быть помещен в хранилище NT Authority;
• сертификат должен содержать идентификаторы Smart Card Logon и Client Authentication;
• сертификат для смарт-карт должен содержать UPN пользователя;
• сертификат и частный ключ должны быть помещены в соответствующие разделы смарт-карты, при этом частный ключ должен находиться в защи-щенной области памяти смарт-карты;
• в сертификате должен быть указан путь к списку отзыва сертификатов CRL distribution point;
• все контроллеры доменов должны иметь установленный сертификат Domain Controller Authentication, или Kerberos Authentication, так как реализуется процесс взаимной аутентификации клиента и сервера.
Целый ряд изменений в требованиях произошел в операционных системах, начиная с Windows Vista:
• больше не требуется CRL extension в сертификатах smart card logon;
• теперь поддерживается возможность установки взаимосвязи между учетной записью пользователя и сертификатом;
• запись сертификата возможна в любой доступный раздел смарт-карты;
• расширение EKU не обязано включать Smart Card Logon OID, при этом справедливости ради надо отметить, что если вы планируете использовать единственный шаблон сертификата для клиентов всех операционных систем, то, разумеется, Smart Card Logon OID должен быть включен.
Несколько слов о самой процедуре входа клиента. Если говорить об операционных системах от Windows Vista и выше, то следует отметить, что и тут произошел ряд изменений:
• во-первых, процедура входа в систему по смарт-карте больше не инициируется автоматически, когда вы вставили смарт-карту в картридер или подключили ваш USB-ключ к USB-порту, то есть вам придется нажать <Ctrl> + <Alt> + <Delete>;
• во-вторых, появившаяся возможность использования любого слота смарт-карты для хранения сертификатов предоставляет пользователю выбор из множества идентификационных объектов, хранящихся на карте, при этом необходимый в данный момент сертификат отображается как доступный к использованию.