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

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

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

Авторы: ,

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

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

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

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

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

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


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

Разработка и внедрение библиотеки валидации на клиентском языке JavaScript

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

Создание системы управления контентом для web-сайтов

В работе описывается процесс создания CMS (Content management system) системы для различных web-сайтов. Система предназначена для предоставления доступа к редактированию различной информации на web-сайте с помощью пользовательского интерфейса.

Разработка программного модуля аутентификации внешних пользователей компьютерной системы

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

Система контроля управления доступом (СКУД)

В статье авторы пытаются рассказать об актуальности разработки СКУД.

Разработка политики паролей веб-приложения, работающего в сфере e-commerce

Обеспечение анонимности при использовании программного обеспечения Tor

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

Методы защиты доступа в ERP-системах: идентификация и аутентификация

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

Анализ технологий разработки веб-интерфейсов

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

Работа с баг-трекером: эффективное управление ошибками в разработке программного обеспечения

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

Сравнительный анализ библиотек языка PHP для формирования документов веб- сервисами

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

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

Разработка и внедрение библиотеки валидации на клиентском языке JavaScript

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

Создание системы управления контентом для web-сайтов

В работе описывается процесс создания CMS (Content management system) системы для различных web-сайтов. Система предназначена для предоставления доступа к редактированию различной информации на web-сайте с помощью пользовательского интерфейса.

Разработка программного модуля аутентификации внешних пользователей компьютерной системы

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

Система контроля управления доступом (СКУД)

В статье авторы пытаются рассказать об актуальности разработки СКУД.

Разработка политики паролей веб-приложения, работающего в сфере e-commerce

Обеспечение анонимности при использовании программного обеспечения Tor

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

Методы защиты доступа в ERP-системах: идентификация и аутентификация

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

Анализ технологий разработки веб-интерфейсов

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

Работа с баг-трекером: эффективное управление ошибками в разработке программного обеспечения

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

Сравнительный анализ библиотек языка PHP для формирования документов веб- сервисами

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

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