Разработка системы межсайтовой авторизации или технологии единого входа (Single Sign On)

Автор работы: Пользователь скрыл имя, 22 Января 2013 в 20:48, дипломная работа

Краткое описание

Исходя из этого, целью работы является разработать техногологию межсайтовой авторизации в сети интернет для портала ИМКН.
Для реализации технологии единого входа поставим перед собой следующие задачи:
Проанализировать существующие технологии единого входа (межсайтовой авторизации)
Настройка межсайтовой авторизации портала ИМКН
Тестирование настроек сайта или вопрос безопасности.

Содержание

Введение 3
1.Технологии 5
1.1 1С - Битрикс 5
1.2 Технология переноса посетителей между сайтами 7
1.3 Модуль AD/LDAP 10
1.4 Схема работы модуля 13
1.5 Настройка многосайтовой конфигурации в 1С-битрикс. 14
1.6 OpenID 21
1.7 Кто контролирует OpenID? 22
1.8 Терминология OpenID 23
1.9 Simple Registration Extension 24
1.10 Применение технологии OpenID 26
1.11 Протокол Диффи-Хеллмана 27
1.12 Описание алгоритма 27
1.13 Недостатки OpenID в системе университета 35
1.14 Windows Live ID 37
1.15 SAML 38
2.Настройка межсайтовой авторизации между битриксом и удалёнными сайтами. 40
3.Безопасность при межсайтовом взаимодействии 49
Список литературы 51

Прикрепленные файлы: 1 файл

Настройка многосайтовой конфигурации в 1С-битрикс.doc

— 325.00 Кб (Скачать документ)

ФЕДЕРАЛЬНОЕ АГЕНТСТВО  ПО ОБРАЗОВАНИЮ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ  УЧРЕЖДЕНИЕ 
ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ  УНИВЕРСИТЕТ

Институт математики и компьютерных наук

Кафедра информационной безопасности

 

 

Допустить к защите в ГАК 
Заведующий кафедрой 
информационной безопасности, 
д.т.н., профессор А.А. Захаров

“____” _________ 2010 г.

 

 

Голышева Вячеслава  Валерьевича

«Разработка системы  межсайтовой авторизации или  технологии

 единого входа (Single Sign On)»

 (выпускная квалификационная работа)

 

 

Научный руководитель:

старший преподаватель

__________Нестерова О.А.

Автор работы:

__________   Голышев В.В.

 

 

Тюмень 2010

Оглавление

 

 

 

 

 

 

Введение

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

Каждый тип  Интернет ресурса имеет собственный  движок для работы с персональной информацией пользователя (phpBB для форума, Gallery для фотогалереи и т.д.).

В ТюмГУ Институт математики и компьютерных наук функционирует несколько сайтов от образовательных порталов до сайтов для тестирования и на каждом сайте существует своя система управления контентом, механизм управления новостями и т.д..

Регистрация пользователей  давно стала рутинной операцией  для многих и многих интернет-сервисов, будь то форумы, блоги или новостные  сайты. Зарегистрированные пользователи получают доступ к дополнительным функциям сервиса. По мере его учёбы студент получает доступ на все эти порталы в системе универсистета. И для каждого нужен свой пароль и пользователь. Минусы таких порталов в том, что происходят хранения/запоминания множества связок «логин/пароль». Зачастую в учебных заведениях данные для авторизации выдаются на кафедре и ладно если тебе выдали логин ivanov_123 так могут же ещё добавить сюда имя через нижнее подчеркивание и написать ещё это всё в разных регистрах такая картина не особо радует.  Образуется своего рода «заповедник» с множеством логинов и паролей для каждого сайта — и это далеко не всегда удобно, так как пароли имею свойства забывается и теряться.

Исходя из этого, целью работы является разработать техногологию межсайтовой авторизации в сети интернет для портала ИМКН .

Для реализации технологии единого входа поставим перед собой следующие задачи:

  1. Проанализировать существующие технологии единого входа (межсайтовой авторизации)
  2. Настройка межсайтовой авторизации портала ИМКН
  3. Тестирование настроек сайта или вопрос безопасности.

 

 

 

 

 

 

 

 

 

 

 

 

Технологии

1С - Битрикс

 

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

Под сайтом понимается совокупность следующих понятий:

  • Учетная запись в общей базе данных;
  • Публичная часть сайта (файлы и папки);
  • Настройки сайта.

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

Один из сайтов который находится в наличии  у ИМКН это сатй imkn.kib.ru на котором установлена платформа 1С - Битрикс.

Программные продукты «1С-Битрикс» - профессиональные системы для управления веб-проектами и создания корпоративных  порталов.  
 
Система ориентирована на корпоративные сайты, информационные и справочные порталы, социальные сети, интернет-магазины, сайты СМИ, пригодна для создания других видов веб-ресурсов.

Для хранения данных сайта  используется реляционная СУБД. Поддерживаются следующие СУБД: MySQL, Oracle, MS SQL. Продукт работает на Microsoft Windows и UNIX‐подобных платформах, включая GNU/Linux.

Идеология системы представляет собой разделение логики на модули и компоненты. Модули в «1С-Битрикс» — это набор программных компонентов, отвечающих за работу с различными типами баз данных, а также предоставляющих унифицированный API системы. Компоненты служат для связи конечного представления информации на сайте с программным ядром системы. Они используют API, созданный модулями, для организации выборки, модификации, управления информацией в базе данных.

Критерии по которым он был выбран для реализации межсайтовой авторизации:

    - во-первых : в нём есть система управления контентом через которую можно добавлять, изменять новости структуру сайта и.т.д.;

    - во-вторых : в нем имется встроенный модуль AD/LDAP который синхронизирует данные из Active Directory которые находятся на серверной станции и с базой битрикса.

    -  в-третих : это преимущества для разработчиков одной из которых является  механизм информационных блоков (инфоблоков). Он позволяет легко создавать пользовательские типы содержания. Другой особенностью современных версий Битрикса является мощный визуальный HTML-редактор, позволяющий размещать на странице как обычную HTML информацию, так и различные динамические компоненты, работу которых обеспечивает CMS.

 

Технология переноса посетителей между сайтами

 

Особенностями многосайтовой системы являются:

    • единые права на все сайты
    • единый набор функций пользователей на все сайты
    • единая система ведения статистики на все сайты

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

Распознавание  посетителей  осуществляется  с  помощью  файлов  cookie (куков), представляющих из себя информацию, передаваемую между веб-сервером и браузером и хранимую только на локальном диске посетителя.

  • При  первом  заходе  посетителя  на  сайт A  ему  выдаются  ряд  идентификаторов, используемых разными модулями (например, идентификатор посетителя или  идентификатор  покупателя  в  модуле  интернет-магазина  и  т.д.), которые запоминаются в хранимых cookie принадлежащих сайту A.
  • Когда  посетитель  в  следующий  раз  возвращается  на  этот  же  сайт A,  он  будет "узнан" благодаря информации хранимой в cookie, принадлежащих сайту A.
  • Теперь представим, что этот же посетитель пришел на сайт B. Возникает задача "узнать" его как посетителя в недавнем прошлом сайта A. Под термином "узнать" здесь  понимается  -  получить  идентификаторы,  выданные  ему  на  сайте A. Проблема  осложняется  тем,  что  если  доменное  имя  сайта B  отличается  от доменного  имени  сайта A,  то  информация  хранимая  в  cookie  принадлежащих сайту A  не может  быть  получена  при  заходе  посетителя  на  сайт B.  Также  есть обратная проблема  - cookie устанавливаемые с сайта A (и на этот же сайт A) не могут быть установлены на сайт B. Такова политика безопасности браузеров. Для  решения  вышеописанных  проблем  используется  технология  переноса  cookie посетителя между  разными  сайтами  с разными  доменными именами  и принадлежащих одному порталу.

Алгоритм работы технологии можно описать так:

  • Когда  посетитель  заходит  на  сайт A,  идентификаторы,  выдаваемые  ему,  будут сохраняться  в  cookie  с  помощью  функции,  основная  задача которой не только установить cookie для текущего сайта A, но и запомнить данные этого cookie для дальнейшего распостранения его на другие сайты B, C, D.
  • В  конце  визуальной  части  эпилога  вызывается  функция CMain::ShowSpreadCookieHTML. Данная функция выводит набор IMG'ов, в каждом из  которых  вызывается  скрипт  /bitrix/spread.php  с того  домена  на  который необходимо установить cookie. Таким образом для сайтов B, C, D будет создано три  IMG'а,  в  каждом  из  которых  будет  вызван  скрипт  http://доменное  имя сайта/bitrix/spread.php. В параметрах этого скрипта будет передана необходимая информация для установки cookie. Эта информация передается в зашифрованном  виде  и  подписана  зашифрованным  лицензионным  ключом  этого  портала.  В результате  получится,  что  cookie,  установленный  на  сайте A,  будет  скопирован (перенесен) на другие сайты - B, C, D.
  • Аналогично  происходит  и для других  сайтов. Если посетитель,  зайдя  на  сайт B, получит  какой  либо  идентификатор  который  необходимо  сохранить  в  cookie,  то этот  идентификатор  будет  также  сохранен  и  для  других  сайтов  A, C, D.  Таким образом мы добиваемся единого набора cookie для всех сайтов одного портала.

Использование данной технологии позволяет:

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

 

 

 

 

 

 

 

 

 

 

Модуль AD/LDAP

 

Модуль AD/LDAP интеграция реализован с учетом особенностей работы LDAP (Lightweight Directory Access Protocol) и AD (Active Directory) протоколов, один из которых должен быть установлен на корпоративном сервере.

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

Структура записей

Используя данную структуру хранения данных, модуль AD/LDAP интеграция позволяет настраивать соответствие групп пользователей корпоративной сети группам пользователей сайта.

Соответствие  групп пользователей задается в  специальной Таблице соответствий в административном разделе сайта. При этом возможно несовпадение имен групп пользователей сайта с именами групп пользователей корпоративной сети. Например, группе пользователей корпоративной сети  Techsupport, к которой относятся сотрудники технической поддержки корпоративной сети, может быть поставлена в соответствие группа пользователей Techsupport stuff, созданная на сайте. Теперь сотрудники службы технической поддержки корпоративной сети смогут выполнять обязанности сотрудников службы технической поддержки сайта.

Группы пользователей  внутри компании обладают правами на доступ к определенным ресурсам корпоративной  сети, а сопоставленные им группы пользователей  на сайте обладают правами на доступ к ресурсам сайта.  Например, группа пользователей Techsupport наделена правами на доступ к почтовому серверу сети, а группа пользователей сайта Techsupport stuff обладает правами на доступ к модулю  Техподдержка.

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

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

Таким образом, модуль AD/LDAP интеграция позволяет:

  • интегрировать систему "1С-Битрикс: Управление сайтом" в корпоративную сеть;
  • настроить соответствие групп пользователей корпоративной сети  и групп пользователей сайта;
  • автоматически создавать бюджет пользователя после его регистрации исходя из Таблицы соответствий (данные для создания бюджета пользователя запрашиваются из базы данных корпоративного сервера);
  • централизованно управлять изменениями бюджетов пользователей системы через корпоративный сервер.

Информация о работе Разработка системы межсайтовой авторизации или технологии единого входа (Single Sign On)