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