Обеспечение безопасного доступа и управления идентификацией веб-приложений | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 27 апреля, печатный экземпляр отправим 1 мая.

Опубликовать статью в журнале

Авторы: ,

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №9 (404) март 2022 г.

Дата публикации: 02.03.2022

Статья просмотрена: 168 раз

Библиографическое описание:

Морозова, В. И. Обеспечение безопасного доступа и управления идентификацией веб-приложений / В. И. Морозова, В. Д. Гилева. — Текст : непосредственный // Молодой ученый. — 2022. — № 9 (404). — С. 15-18. — URL: https://moluch.ru/archive/404/89182/ (дата обращения: 19.04.2024).



В статьерассматривается Kеyсloak — сервис управления идентификацией и доступом с открытым исходнымкодом. Его использование упрощает разработку безопасности веб-приложения практически безкода.

Ключевые слова: Kеyсloak,веб-приложение,безопасность, идентификация, аутентификация, авторизация.

Сегодня веб-приложения нашли свое применение во всех разделах передовых информационных технологий от корпоративных сайтов до бизнеса. Действительно, использование веб-технологий значительно упрощают «бизнес-процессы за счет унификации, кроссплатформенности и широких возможностей» [1]. Поэтому веб-приложения являются мишенью для киберпреступников.

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

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

Определим ключевые понятия. Идентификация — это процедура распознавания, определения субъекта по его личному номеру, например, имени, логина, биометрических данных. Аутентификация — это процедура проверки подлинности. Авторизация — это предоставление доступа к какому-либо защищенному ресурсу.

Рассмотрим сервис Kеyсloak, обеспечивающий безопасный доступ и управление идентификацией. Это система с открытым исходным кодом, направленная на веб-приложения, в которых применяются паттерны микросервисной архитектуры. Данный подход позволяет защитить приложение и администрировать его практически без кода. Kеyсloak имеет широкий набор основных функций, например, единый вход (SSO), вход в систему через социальную сеть, проверку доступа. Полный список функций представлен на официальном сайте [2].

Компания JBoss разработала в 2014 году программный продукт Kеyсloak на языке Java под Apache2. Он предоставляет для веб-приложений возможности администрирования и контроля доступа. Состоит из двух составляющих Kеyсloak Server и Kеyсloak Application Adapter. Это серверный компонент и плагины для доступа к службам аутентификации соответственно. Благодаря им приложению не нужно управлять страницами входа, согласования и регистрации клиентов. Пользователя проверяет сервис Kеyсloak, используя набор функций и предлагает помощь для работы со стандартами идентификации OpenID Connect, OAuth и SAML, механизмами единого входа, поддерживает многочисленные домены или пространства. Сервис Kеyсloak имеет интерфейс, с помощью которого можно настраивать роли, пользователей и многое другое. Обзор программного продукта представлен на рисунке 1.

Обзор работы сервиса

Рис. 1. Обзор работы сервиса

Основная концепция Kеyсloak в том, что существует некоторое изолированное пространство, в рамках которого могут существовать несколько пользователей, выполняющих свою задачу. Открыв браузер, пользователь по URL обращается к закрытому ресурсу, запуская процесс аутентификации. Система видит, что аутентификация не пройдена и перенаправляет в Kеyсloak. На этом этапе пользователь вводит учетные записи, например, логин и пароль. Если данные верны Kеyсloak переадресует на страницу защищенного приложения и выдает токен с помощью которого формируется контекст безопасности на защищенном приложении. Данный подход называется security tokens — это свод стандартов токенов доступа, использующихся для передачи данных.

Kеyсloak использует JSON Web Token (далее JWT) открытого стандарта RFC 7519. Он обеспечивает способ безопасной передачи информации между сторонами. Серверу для создания токена необходимо определить три составляющие: заголовок, с общей информацией; полезные данные, такие как id пользователя и его роль; цифровая подпись. Все составляющие представлены в формате base-64, разделенные точками. То есть JWT это строка в формате «заголовок.полезные_данные.подпись». Она не скрывает и не маскирует данные автоматически. Необходима для проверки, что данные отправлены действительно авторизованным источником. При обращении Kеyсloak формирует три JWT токена. ID Token, который является требованием протокола OpenID Connect и хранит информацию о конкретном пользователе, например, ФИО, email. Access Token, необходимый для авторизации в сервисе, имеет короткий срок службы, овладев им злоумышленник не сможет долго пользоваться поскольку данный токен быстро станет не релевантным. Refresh Token, используется для выпуска нового Access Token, когда тот устаревает.

Kеyсloak позволяет хранить информацию о пользователях несколькими способами. Внутренняя база данных Keyloak, а также настраиваемая, например, Postgresql. Федеративная аутентификация пользователей, при которой доверенные поставщики удостоверений включают корпоративные каталоги, такие как Асtivе Dirесtory и Lightweight Direсtоrу Ассеss Protocol (LDАP). Применение внешней аутентификации поставщиков удостоверений с использованием сторонних ресурсов.

Для взаимодействия компонентов приложения в сети используется REST API в качестве средства тестирования для выполнения HTTP-запросов. Они впоследствии будут защищены веб-токеном JSON, выданным Kеyсloak. Как распределенная система архитектура REST фокусируется на всех своих ресурсах. Веб-сервисы REST масштабируемые при взаимодействии компонентов, для них характерны общность интерфейсов и легкость обслуживания. Они используются для обмена информацией. При создании веб-приложений API это логичный, эффективный и широко распространенный стандарт.

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

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

Литература:

  1. CNews, [Электронный ресурс],  Режим доступа: https://www.cnews.ru/special_project/2016/pt-bershadsky/, дата обращения: 14.10.2021
  2. Kеyсloak, [Электронный ресурс],  Режим доступа: https://www.keycloak.org/, дата обращения: 24.11.2021
  3. Морозова В. И. Управление идентификацией // Сборник научных трудов Международной научно-практической конференции «Цифровая трансформация в экономике транспортного комплекса» 11 октября, Москва, М.: РУТ, 2019. — С. 247–251.
  4. Скембрей Дж., Шема М. Секреты хакеров. Безопасность Web-приложений — готовые решения/ Скембре, Дж., Шема М — М.: Издательский дом «Вильямс», 2003. — 384 с.
Основные термины (генерируются автоматически): JWT, REST, API, JSON, пользователь, программный продукт, управление идентификацией, RFC, SAML, единый вход.


Похожие статьи

Создание BPM-системы на основе базы данных SQL при...

Ключевые слова: sql,api,rest api, bpm,система.. В текущем мире технологических процессов и услуг невозможно представить компанию, не имеющую свою информационную систему. Маленькая компания или большая, у каждой компании есть своя информационная система, которые может выполнять различные функции необходимые для бизнеса, такими могут быть как процессы документооборота, оплаты

Рассмотрев основные моменты функционирования и интеграции, модификации системы, можем рассматривать как именно будем реализовывать bpm решение в данной системе. Для этого определим, что такое BPM система. BPM (Business Process Management, управление бизнес-процессами) — это концепция управления организацией, представляющая деятельность предприятия как совокупность процессов.

Организация аутентификации по протоколу «Kerberos»

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

Системы аутентификации, реализующие или базирующихся на протоколе «Kerberos» являются довольно распространенными, в то же время большинство из них являются закрытыми, проприетарными дорогими программными продуктами.

Рис. 3. Упрощенная диаграмма последовательности обмена сообщениями. Литература: RFC 1510.

Типы требований к Web-приложению для обработки...

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

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

Создание клиент-серверного приложения на основе restful api...

Одним из архитектурных решений в проекте является REST. Для взаимодействия между сервером и клиентом используется RESTful API. С помощью HTTP или HTTPS запросов (POST и GET), клиент может получать какие-либо данные, либо же изменять, добавлять и удалять компоненты.

Так как React JS является асинхронным, то есть часть программного кода может запуститься и дать «обещание» основному коду, что он вернет результат по окончании выполнения своей части, возникает проблема, что изменения данных состояний необходимо контролировать. Асинхронность наиболее часто используется как раз-таки при использовании внешних API, которые взаимодействуют со сторонним сервером.

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

[2, c. 4] Одной из самых используемых схем простой аутентификации является аутентификация на основе многоразовых паролей. На данный момент всё чаще применяются более эффективные средства аутентификации, например системы аутентификации на основе смарт-карт, USB-токенов, программные и аппаратные системы аутентификации на основе одноразовых и графических паролей

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

Разработка программного модуля аутентификации внешних...

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

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

Структурная и параметрическая идентификация котельного...

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

Структурная и параметрическая идентификация котельного агрегата как многомерного объекта.

Виды электронных образовательных ресурсов | Статья в журнале...

Что называется электронными образовательными ресурсами? Электронные образовательные ресурсы (ЭОР) — образовательный ресурс в электронно-цифровой форме, включающий в себя: структуру, предметное содержание и метаданные о них. ЭОР может включать в себя данные, информацию, программное обеспечение, необходимые для его использования в процессе обучения [2]. Главная цель, которая стоит перед ЭОР на уроках, — это повысить уровень образовательного процесса. В настоящие время электронные средства обучения — это наглядный вид полученной информации, которая расширяет представление ребенка об окружающем нас мире.

Биометрические технологии как механизм обеспечения...

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

Отметим, что крупные банки уже используют идентификацию клиентов по голосу при их обращении в Call-центр, а также идентификацию по отпечатку пальца при входе в мобильное приложение банка на смартфоне.

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

Похожие статьи

Создание BPM-системы на основе базы данных SQL при...

Ключевые слова: sql,api,rest api, bpm,система.. В текущем мире технологических процессов и услуг невозможно представить компанию, не имеющую свою информационную систему. Маленькая компания или большая, у каждой компании есть своя информационная система, которые может выполнять различные функции необходимые для бизнеса, такими могут быть как процессы документооборота, оплаты

Рассмотрев основные моменты функционирования и интеграции, модификации системы, можем рассматривать как именно будем реализовывать bpm решение в данной системе. Для этого определим, что такое BPM система. BPM (Business Process Management, управление бизнес-процессами) — это концепция управления организацией, представляющая деятельность предприятия как совокупность процессов.

Организация аутентификации по протоколу «Kerberos»

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

Системы аутентификации, реализующие или базирующихся на протоколе «Kerberos» являются довольно распространенными, в то же время большинство из них являются закрытыми, проприетарными дорогими программными продуктами.

Рис. 3. Упрощенная диаграмма последовательности обмена сообщениями. Литература: RFC 1510.

Типы требований к Web-приложению для обработки...

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

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

Создание клиент-серверного приложения на основе restful api...

Одним из архитектурных решений в проекте является REST. Для взаимодействия между сервером и клиентом используется RESTful API. С помощью HTTP или HTTPS запросов (POST и GET), клиент может получать какие-либо данные, либо же изменять, добавлять и удалять компоненты.

Так как React JS является асинхронным, то есть часть программного кода может запуститься и дать «обещание» основному коду, что он вернет результат по окончании выполнения своей части, возникает проблема, что изменения данных состояний необходимо контролировать. Асинхронность наиболее часто используется как раз-таки при использовании внешних API, которые взаимодействуют со сторонним сервером.

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

[2, c. 4] Одной из самых используемых схем простой аутентификации является аутентификация на основе многоразовых паролей. На данный момент всё чаще применяются более эффективные средства аутентификации, например системы аутентификации на основе смарт-карт, USB-токенов, программные и аппаратные системы аутентификации на основе одноразовых и графических паролей

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

Разработка программного модуля аутентификации внешних...

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

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

Структурная и параметрическая идентификация котельного...

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

Структурная и параметрическая идентификация котельного агрегата как многомерного объекта.

Виды электронных образовательных ресурсов | Статья в журнале...

Что называется электронными образовательными ресурсами? Электронные образовательные ресурсы (ЭОР) — образовательный ресурс в электронно-цифровой форме, включающий в себя: структуру, предметное содержание и метаданные о них. ЭОР может включать в себя данные, информацию, программное обеспечение, необходимые для его использования в процессе обучения [2]. Главная цель, которая стоит перед ЭОР на уроках, — это повысить уровень образовательного процесса. В настоящие время электронные средства обучения — это наглядный вид полученной информации, которая расширяет представление ребенка об окружающем нас мире.

Биометрические технологии как механизм обеспечения...

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

Отметим, что крупные банки уже используют идентификацию клиентов по голосу при их обращении в Call-центр, а также идентификацию по отпечатку пальца при входе в мобильное приложение банка на смартфоне.

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

Задать вопрос