SSO в действии

Определение

Единая регистрация (single sign-on — SSO) представляет собой механизм аутентификации и предоставления прав доступа, который дает пользователю возможность, один раз зарегистрировавшись в одной из систем, получать доступ к другим системам, взаимодействующим с первой, не проходя повторно процедуру регистрации.

Регистрация — дело непростое, особенно если для обращения к каждой из множества взаимодействующих систем и ресурсов пользователю надо помнить различные идентификаторы и пароли (ключевую фразу). Если использовать простые, легко запоминающиеся пароли или просто один пароль для доступа ко всем учетным записям, это вряд ли понравится специалистам по безопасности. Ведь «легко запомнить» — очень часто означает «легко подобрать». Эксперты по безопасности не советуют применять повторно используемые пароли или записывать их. И рекомендуют чаще менять пароли.

Поэтому неудивительно, что системные администраторы с большим энтузиазмом воспринимают идею служб единой регистрации (SSO). Затраты, связанные с администрированием и поддержкой в случае, если пользователь забудет один-единственный пароль, будут значительно ниже, а кроме того, это существенно повысит уровень защиты всей среды.

После регистрации

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

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

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

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

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

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

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

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

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

Гарантия безопасной регистрации

Поскольку SSO предусматривает гарантию большей части прав доступа, важно обеспечить защиту всего процесса аутентификации. Единственный способ этого добиться — отказаться от использования статических пар «идентификатор пользователя/пароль» и перейти к аппаратным ключам. Такие ключи при каждом входе в систему создают различные пароли единой регистрации, которые передаются защищенным образом по всем сетям. При таком подходе злоумышленники практически никогда не смогут перехватить пароль. Аутентификация при помощи аппаратных ключей позволит предотвратить попытки обойти SSO и напрямую зарегистрироваться в системах второго уровня.

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

Кроме того, централизация аутентификации и предоставления прав доступа упрощает «зачистку» после увольнения сотрудника. Вместо того чтобы отслеживать все системы и ресурсы, к которым сотрудник может получить доступ, в SSO достаточно просто удалить учетную запись этого пользователя.

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