Upload
-
View
64
Download
0
Embed Size (px)
Citation preview
РАЗРАБОТКА СЕРВЕРА АВТОРИЗАЦИИ ДЛЯ ОБЕСПЕЧЕНИЯ ЕДИНОЙ ТОЧКИ ВХОДА
В АРХИТЕКТУРЕ МНОГОКОМПОНЕНТНОГО ВЕБ-ПРИЛОЖЕНИЯ
«ЭЛЕКТРОННЫЕ СЕРВИСЫ ОМГУ»
Выполнил:Городецкий АлексейСБС-001-О
Научный руководитель:Костюшина Е.А.
Цели и задачи
Цель:
разработка сервера авторизации для обеспечения единой точки входа в архитектуре многокомпонентного веб-приложения «Электронные сервисы ОмГУ»
Задачи:
● реализация сервера авторизации на базе протокола OAuth2● реализация SSO для электронных сервисов ОмГУ● анализ безопасности по классификации OWASP● определение защищенности системы по классификации
ФСТЭК
Преимущества SSO для ОмГУ
Технология единой точки входа (SSO) позволяет сделать систему модульной, что дает следующие преимущества:
● ускоряется цикл разработки, упрощается рефакторинг● небольшие модули легче поддерживать и модернизировать● возможность реализации части функционала системы
другими разработчиками на любых технологиях
Единая точка входа (Single Sign On)
Single Sign On — технология, при использовании которой
пользователь переходит из одного раздела портала в другой без
повторной аутентификации.
Single Sing Out — однократный выход — технология,
позволяющая так же быстро разлогиниться из всех частей
портала
Реализации SSO
Готовые решения предлагаемые на рынке ИТ:
● Kerberos
● Встроенная аутентификация Windows
● Oracle OpenSSO
● Jasig CAS (SAML)
Выбранное для реализации проекта:
● OAuth2-based
SSO на базе OAuth2
OAuth 2 (RFC 6749) - протокол авторизации, позволяющий web приложениям получать ограниченный доступ к данным пользователя, которые хранятся на сервере авторизации.
Работает путем делегирования приложениями аутентификации центральному серверу, обслуживающему пользовательские аккаунты с последующей авторизацией этих приложений для получения данных о пользователе.
Алгоритм SSO, используемый в проекте*
Вход:
1. Аутентификация пользователя на центральном сервере2. Получение приложением данных о пользователе у
центрального сервера3. Авторизация пользователя на приложении
Выход:
1. Выход на текущем приложении2. Выход на центральном сервере3. Центральный сервер по AJAX посылает запросы на выход
всем остальным приложениям
Технологии для реализации
Платформа: Java
Языки: Groovy, Java
Библиотеки:
● web: Spring● oauth2: Spring Security● клиент: AngularJS, jQuery
Сборка: Maven, Gradle, Grunt
Разработанный сервер авторизации (DAS)
Компоненты DAS:● server - ядро сервера авторизации
○ реализация механизма единой точки входа (SSO)
○ реализация одновременного выхода из всех приложений
○ интерфейс администрирования
● client - типовое клиентское приложение, интегрированное с
DAS
● delegate* - набор интерфейсов (библиотека) для сборки
версии сервера авторизации под конкретные требования
заказчика
Разработанный сервер авторизации (DAS)
Дополнительные возможности к SSO
● делегирование аутентификации другим системам
● расширение путем написания собственных модулей сервера
авторизации
Реализация в ОмГУ
Корпоративная сеть:
Делегирование аутентификации (das-incorp)
● Active Directory
● ИИАС “Учебный процесс” (аутентификация через СУБД Oracle)
Обслуживаемые приложения (сервисы)
● Нагрузка преподавателя (nagr.eservice.omsu.ru)
Реализация в ОмГУ
Внешняя сеть: Делегирование аутентификации (das-extern)
● Сервер регистрации электронных сервисов
● Moodle
Обслуживаемые приложения (сервисы)
● Личная информация о студенте (eservice.omsu.ru/sinfo)● Заказ справок (eservice.omsu.ru/demand)● Выплаты (eservice.omsu.ru/stip)● Электронное обучение (eios.omsu.ru)
Соответствие DAS требованиям обеспечения безопасности
Проверки согласно*: ● Open Web Application Security Project (OWASP) -
открытый проект обеспечения безопасности веб-приложений (OWASP
top 10 - список из 10 самых частых уязвимостей веб-приложений, а так
же способы их обнаружения и исправления)
● приказ ФСТЭК 17DAS соответствует классу К2
Заключение
● Внедрение в ОмГУ● Возможность использования в других организациях● Соответствие требованиям обеспечения безопасности
(ФСТЭК, OWASP)
спасибо за внимание