УДК 004.4:004.738.52
ЭЛЕКТРОННЫЙ ПОРТАЛ С ИСПОЛЬЗОВАНИЕМ ПРОГРАММНЫХ СРЕДСТВ OPEN SOURSE
У. Тукеев, Г.Г. Джусупова, Б. Турсынбек, Ф. Каде, М. Легин
КазНУ им. аль-Фараби, Университет Р. Шумана, г. Страсбург, Франция, г. Алматы
Информатизация разных сфер деятельности человека треб)ет комплексного и системного подхода в выборе программного обеспечения и технологии организации идентификации пользователей. Выбор программного обеспечения зависит от многих факторов, таких как финансирование, уровень секретности, объем данных, объем передачи данных, радиус действия, технические параметры и т.д. Выбор программного обеспечения является сложным, но очень важным этапом информатизации, нзобходимо выбрать платформу, прикладное программное обес-печение для создания порталов, специализированное программное обеспечение для обеспечения единой аутентификации и обеспечения безопасности.
Был проведен системный анализ программных средств по различным критериям, а также по функциональным требованиям, требованиям безопасности и выделено два направления: построение единой идентификационной системы СИТС с использованием открытых программных средств (с открытыми кодами) и построшие единой идентификационной системы СИТС на коммерческих платформах.
Использование систем с открытыми кодами позволяет настроить и доработать комплекс программ идентификационной системы, обеспечить высокий уровень безопасности, исключить наличие «программ-закладок», использовать бесплатное программное обеспечение для создания Web прилоежний. Такие системы могут быть использованы на предприятиях с малым финансированием, также на предприятиях, которые требуют обес-печэше высокого уровня безопасности передачи и хранашя данных. Для использования открытых программных средств требуются технические специалисты высокого класса, которые смогут адаптировать и создать полноценную систему Web приложений.
Использование систем на коммерческих платформах являются практически готовыми решениями и очень удобны в эксплуатации, они включают автоматизацию многих сложных процессов аутентификации, идентификации, обеспечение безопасности, совместимость, интеграцию со многими сторонними программными средствами, богатый графический интерфейс и множество графически инструментов. Такие системы стоят «ж малых» средств, но представяют из себя единый комплекс, гибкий и удобный в использовании, эти системы могут быть использованы на крупных и средних предприятиях.
В самом начале существования Open Source движения, Open Source Initiative (OSI) являлась организацией исключительно существующей для поддержки программ с открытым исходным кодом. Т.е. программы, которые имеют как доступный исходный текст,
так и выполняемую версию. Они нг предлагают специальной лицензии, но вместо этого они поддерживают различные типы лицензий для открытого исходного кода.
Работа по созданию систем регистрации пользователей информационных сетей ведется многими крупными компаниями, в которых число пользователе исчисляется тысячами и более пользователями. Все такие системы являются закрытыми и в основном реализуются и поддерживаются программистами компании.
О дней из основных задач, находящихся в компетенции системного администратора, является построение системы регистрации пользователей. Каждый пользователь получает уникальную учетную запись в реестре многопользовательской операционной системы (например UNIX, Windows NT); эта информация затем используется для его идентификации при входе в систему.
Следующим этапом построения идентификационой системы является обеспечаше конфиденциальности и безопасности обмена данных web приложений. Необходимо гарантировать контроль доступа к защищенным web приложениям установлением подлинности пользователе и приложений. Справочники LDAP представляют решение проблем единой идентификации пользователей, но нг дает возможности проверить подлинность самих Web приложений. Сложность создания единой идентификационной системы заключается в том, что необходимо контролировать как пользователей, так и программные приложения на установление подлинности и достоверности прохождения процесса авторизации и аутентификации. Физический аспект состоит в том, чтобы соответствующий «пропуск» на установление подлинности выдавался на весь сеанс работы Web прилсежний и ж требовал повторной регистрации пользователей и приложений.
Служба каталога (Directory Service) — это программный комплекс для хранения и каталогизации информации. По своей сути это очень похоже на обычную базу данных, но с «уклоном» скорее на чтение данных, нгжели на их добавление или изменение. Обычно служба каталога базируется на клиент-серверной архитектуре. Одна из наиболее известных таких систем — DNS (Domain Name Service)'. DNS-сервер производит взаимную «трансляцию» имён машин и их IP-адресов. Другие машины в сети могут обращаться к такому серверу за информацией о соответствии имени и адреса. Однако это очень простой пример каталогизации информации. Объекты в такой базе имеют ограниченное количество атрибутов — таких как имя, адрес и ещё несколько дополнительных параметров. Разумеется, служба каталога какого-либо предприятия будет содержать более разнообразные данные и иметь гораздо более сложную структуру.
В общем случае, служба каталога должна предоставлять простой, централизованный доступ к данным, которые могут использоваться различными приложениями. Протокол, по которому могла бы работать такая служба, был разработан в ISO (International Standartization Organization), получил номер Х.500 и назывался DAP {Directory Access Protocol). В соответствии с этим протоколом любое приложение может получить доступ к информации в каталоге. Там же была предложат гибкая и легко расширяемая информационная структура, которая позволяла хранить, в принципе, любой тип данных. К сожалению, Х.500 имел и ряд ограничений, среди которых зависимость от коммуникационного уровня, который не являлся стандартным протоколом TCP, и запутанность требований к правилам имшования объектов. В результате решение на базе этого протокола становилось очень дорогим при обслуживании. Позже появился протокол LDAP (Lightweight Directory Access Protocol), который позволил реализовать доступ по TCP/IP и мог легко расширяться. В результате появилось решение, позволяющее организовать службу каталога на предприятии любого масштаба.
Сегодня существует «сколько реализаций данного протокола от различных фирм. Наиболее известные из них — Netscape Directory Service™, Novell Directory Service™ и Microsoft Active Directory™. Из некоммерческих реализаций LDAP наибольшее распространение получил проект OpenLDAP. Имшно его мы и будем рассматривать в дальнейшем, хотя большинство понятий и определений применимо и к другим реализациям сервера LDAP.
Стандарт LDAP это:
- сетевой протокол для доступа в информации в директории;
- информационная модель, определяющая форму и характер информации;
- "именное пространство", определяющее ссылки информации и ее назначение;
- дистрибутивная операционная модель, определяющая, как данные могут быть достшишы.
Именно поэтому компании программ системного обеспечения, такие как IBM,
Microsoft, Lotus и Netscape договорились о поддержке стандарта LDAP. Программы "LDAP aware" имеют возможность сделать запрос LDAP серверам на поиск порталов, используя различные варианты. Серверы LDAP регистрируют все документы в их порталах, где «фильтры» могут быть использованы для выбора человека или нужней группы людей, которые вам нужны, и предоставляют лишь необходимую вам информацию. К примеру, в LDAP можно задать запрос такого типа: «Поиск людей в Чикаго чьи имена включают "Fred" у которых есть e-mail адрес. Пожалуйста, вышлите их полное имя, e-mail и дополнительную информацию».
Настрсйки, устанавливаются системным администратором, которые предоставляют доступ к базе данных LDAP только определенному кругу лиц, и по выбору сохраняют личные докумапы. Серверы LDAP обеспечивают службу авторизации, так что веб серверы, email могут использовать единый список зарегистрированных пользователей и паролей.
LDAP был спроектирован в Мичиганском Университете для адаптации справочных систем (Х.500) на больших предприятиях к современному интернету. Справочный сервер загружается на компьютере, подключенном к интернету, и различные пользовательские программы, опознающие протокол могут входить в сервер и просматривать порталы. Из-за сложности системы Х.500, была создана система LDAP для осуществления тех же функций. Серверы LDAP существуют на трех уровнях: большие публичные серверы, такие как BigFoot и Infospace, большие организационные серверы для университетов и корпораций, и серверы LDAP поменьше для рабочих групп.
Возможно на вашем компьютере уже >сгановлм LDAP aware. Большинство совремашых польэоватеМ зжкгронней псяты подюпочшы к справочнику LDAP для адресов агасгроннсй потгы. Туда входят: Outlook, OS X Mail, Eudora, Netscape, QuickMail Pro и Mulberry.
Web приложшия (почта, форумы и т.д.) широко распространились в нашей сети за последние годы. Данные приложшия всегда нуждаются в авторизации. Использование директорий LDAP предоставляет единый отчет для наших пользователей, что безусловно является весомым преимуществом.
Однако «которые проблемы все еще остаются:
- Многоразовая авторизация: все еще требуется предоставлшие сетевого идентификационного пароля к каждому приложению;
- Безопасность: необходимо обеспечение надежной безопасности; более тощ параметры доступа пользователей не должны больше выдаваться приложениям;
- Несколько механизмов авторизации: «которые пользователи обладают персональным сертификатом Х509, который может быть использован для авторизации. Bojec тощ даже LDAP, который широко используется на сегодняшний день, может быть зама« другими
базами данных. В любом случае размышления на тему авторизации механизмов могут быть интересны, к примеру, о возможности использования смешаннсй авторизации;
- Сотрудничество: существует огромная жобходимость в сотрудничестве с другими институтами;
- Авторизация: приложжия должны содержать необходимую информацию о профилях пользователей, для того чтобы позволить им проводить «обходимые операции;
Решением части проблем, возникающих при использовании OpenLDAP является создание комплекса программных средств с использованием принципа SSO, который будет отвечать за последовательность функции, таких как единая авторизация, идентификация, сеансовая аутентификация, обеспечение безопасности и.т.д [8]
Принципом SSO является удалить авторизацию из кода приложения. После чего конечной целью является предоставление глобально защищашого программного обеспечения. Механизмы SSO отвечают на данные вопросы, используя следующую технику:
- Централизация авторизации в уникальном сервере, механизм, получающий параметры доступа пользователей через зашифрованный туннгль.
- Изменение направлений HTTP, из приложошй к серверам авторизации для нгавтори-зированных пользователей, и обратно к приложениям после завершали авторизации.
- Информация проходит через сервер авторизации к приложашям во время изменения направлений благодаря параметрам CGI.
Основные направления управления идагтификацией:
- Консолидированное хранилище учетных записей пользователей.
- Единая система аутентификации.
- Единая система авторизации.
- Унификация данных о пользователях.
- Единая консоль управления.
- Аудит доступа к сервисам.
Пользователям организации, прежде чем получить доступ к сервисам корпоративной сети, «обходимо пройти процессы аутентификации и авторизации. Все сервисы корпоративной сети обращаются к хранилищу в процессе аутентификации пользователей. Таким образом, для доступа ко всем сервисам корпоративной сети пользователю «обходим только один идентификатор и пароль система однократной регистрации (Single Sing-On). Нет «обходимости в запоминании множества паролей, что обеспечивает более удобный доступ к ресурсам и хорошо сказывается на безопасности.
Таким образом, следующий вывод заключается в том, что с течением времени можно ожидать смены интерфейса пользователя, технологий авторизации, системы регистрации в операционной системе. В прошлом все приложашя имели текстовый интерфейс, и это считалось нормальным. Однако общее снижение цш на компьютеры и широкое распространение графических интерфейсов пользователя обуславливают необходимость вждрения графических приложений. Надо помнить, что для системы регистрации интерфейс пользователя является всего лишь небольшой (хотя и важной) частью. Ядром системы является база данных; пользовательский интерфейс можно рассматривать как оболочку вокруг этого ядра. Для данной системы предлагаю (и даже желательно) создать «сколько интерфейсов. Однако современные технологии позволяют это сделать легкое универсально и проста В качестве интерфейса предлагаю выбрать прогрессивную технологию, так называемый WWW-интерфейс. Универсальность его заключается в существовании программы просмотрщика (броузер) под все платформы и все интерфейсы. А новая технология Security Hyper Text Transfer Protocol (безопасный
протокол передачи гипер-текстового представления) позволяет использовать защищенный, шифрованный канал для передачи секретной информации.
Важный компонэгг централизованной системы аутентификации - система однократной регистрации (Single Sing-On). Такая система снимает необходимость многократно вводить пароли (или аутентифицироваться каким-то другим образом) при доступе к различным сервисам корпоративной сети.
Существуют различные созданные программные продукты, которые позволяют выполнить единую аутентификацию пользователей, но не приложений. Для ре шагая этой нелегкой задачи можно использовать разработанный Йельским университетом, свободно распространяемый программный продукт Central Authentication Service (CAS), который позволяет произвести аугаггификацию усгановлашя подлинности приложений. Служба состоит из Java приложения на основе серверного приложения Tomcat. Осуществление протокола Single Sign-On таким образом гарантировано и только способ местного установления подлинности оставлен на счет администратора сервера, за которым остается таким образом свобода выбора установки из ниже указанных протоколов сетевой аутентификации установлена подлинности (справочник LDAP, Kerberos, сертификаты Х509)[15].
Для создания Web приложений единой идентификационной системы по Open Source необходимо использовать сервисную службу WAS (Web Application Server), который включает средства разработки Web приложений, Web Server, Java механизмы и системы безопасности. Независимые производители Web-серверов выпускают свои продукты для всех платформ. Apache, Netscape существует как для Unix, так и для Win NT и OS/2, Microsoft Internet Information Server (IIS) существует только для Windows платформ, а не поддерживаемый ныне NSCA - только для UNIX. Проанализировав эти продукты для систем с открытыми кодами, был выбран Apache, который является самым популярный и защищенным Wéb-сервером на настоящий момент [9].
Преимущества Apache:
- Apache распространяется бесплатна причем бесплатно распространяется не только двоичный код, но и исходный текст. Это обеспечивает серверу исключительную гибкость. Архитектура Apache отличается модульностью, что также облегчает настройку.
- Apache часто обновляется. Первая версия появилась в декабре 1995 г. и с тех пор разработчики несколько раз заново переписывали код ядра системы в целях усовер-шшетвования продукта. Кроме тощ хотя коллектив разработчиков Apache официально не берет на себя обязательств по обслуживанию пользователей, на практике качество сервиса оказывается гораздо выше, чем у коммерческих продуктов конкурентов.
- Быстродействие сервера. Начиная с версии 1.2 Apache поддерживает протокол HTTP 1.1, который выполняет загрузку Web-страниц в четыре-восемь раз быстрее, чем HTTP 1.0. Компании Microsoft и Netscape .которые реализовали HTTP 1.1 гораздо позже, чем группа разработчиков Apache.
- Apache позволяет использовал. НТIPS протокол который обеспечивает должный уровень бе» пасносги, используя протокол SSL (Secure Sockets Layer) для шифрования передаваемых данных.
Протокол безопасной передачи данных SSL (Secure Sockets Layer) помимо обеспечения безопасной передачи данных позволяет также реализовать авторизацию клиентов на сервере с помощью клиентских SSL сертификатов. Процесс авторизация выглядит следующим образом. При переходе клиента в закрытую область сайта веб-сервер запрашивает у броузера клиента сертификат, если проверка клиентского сертификата веб-сервером прошла удачна то клиент получает доступ к закрытым данным. Данная схема авторизации признана наиболее надежной и широко используется в сфере пре-
доставления конфиденциальности данных. Практическая реализация рассматривается на основе популярной связки веб-сервера Apache и модуля modssl, основанного на использовании библиотеки openssl [13],[12]. Для реализации процесса авторизации по клиентским сертификатам требуется:
1. Создать собственный доверенный сертификат (Certificate Authority), для того чтобы с помощью него подписывать и проверять клиентские сертификаты.
2. Создать клиштские сертификаты, подписанные доверенным сертификатом, для последующей передачи их клиентам.
3. Сконфигурировать веб-сервер для запроса и проверки клиентских сертификатов.
После выполненного анализа программных средств для создания Web приложений
был выбран WO (WebObjects), по ряду преимуществ:
- совместимость Web приложший, поддержка разных платформ.
- WebObjects значительно упрощает и ускоряет процесс разработки и вждршия Java серверных приложший и позволяет создавать приложения в виде стандартных web сервисов.
- WebObjects представляет собой идеальный способ разработки, вждршия и расширяли мощных web сервисов, предлагая среду для создания стандартных web сервисов без написания программного кода SOAP, XML или WSDLCo3aaHHbie web-сервисы могут взаимодействовать с клиаггскими приложшиями, написанными на многих языках, включая Java, AppleScript, Perl и Net, открывая тем самым возможности разработки для программистов.
- Помимо web-сервисов, WebObjects также позволяет быстро создавать приложшия на основе СУБД обладающие HTML, XML, SMIL или Swing (Java) интерфейсами, в зависимости от потребностей. Поддержка J2EE, включая интеграцию с Servlets, Object Request Broker (ORB) и Enterprise Java Beans (EJB) контейнерами, позволяет комбинировать и сочетать различные технологии. Программисты JSP могут воспользоваться встрошной автоматической обработкой данных WebObjects в качестве альтернативы сложной технологии EJB. Выбор платформы внедрения также многообразш - будь то включенный в комплект WebObjects J2SE сервер или практически любой J2EE сервер приложший
При выборе категории операционной системы Linux были проведены исследования, результаты которой показали, что полнофункцимональные опреационные системы, такие как Alt Linux 2.4, Redhat 9.2, Suse 9.1 server содержат многие программные модули, которые конфликтуют или не совместимы со многими новыми программными приложшиями. После проведенного анализа была выбрана в качестве операционной системы ОС Slakware 10.1, которая практически включает в себя только основное ядро ОС и очень удобна дл использования и инсталляции новых приложший.
В результате выполненных исследований наших французских партнеров сформирована архитектура единой идентификационнсй системы на платформе Linux, на которой можно реализовать программные модули аутентификации и авторизации пользователей и модули адаптации готовых или разработанных web приложший, используя при этом специализированную систему серверов.
Данный портал должен предоставлять единую идентификацию (SSO), путем запроса директории типа LDAP поддерживаемой базой данных учреждения. Эта идентификация сможет предоставить всем пользователям к нужным приложениям. Более тощ в дальнейшем можно будет добавлять другие программные элемшты для создания новых возможностей использования единого информационного пространства.
Проблема выполшшя единой аутапификации решается путем создания структур серверов для интеграции информации о пользователях с разных источников (Active Directory, OpenLdap, SQL server и.тд.), выполшшя анализа принаджжности польэоватежй, опреде/шие прав доступа
к приложашям и предосташшие информации запрашиваемого портала. Ниже на рисунке изображаю схема един ей идаггификационней системы на платформе Linux.
Для создания системы единой аутентификации на платформе Linux необходимо три сервера: сервер OpenLDAP, CAS сервер и WAS.
Для интеграции информации из других систем необходимо использовать дополнительные сервера и проограммные средства. Сервер MIIS предназначен для интеграции информации о пользователях с различных источников, преобразование и унификация этой информации и передача ее на основной сервер пользователей OpenLDAP.
Сервер OpenLDAP после формирования информации о всех категориях пользователей создает иерархическую схему принадлежности пользователей по группам, категориям и присвоение прав доступа этим информационным единицам. Настройки, устанавливаются системным администратором, которые предоставляют доступ к базе данных LD АР только определимому кругу лиц, и по выбору сохраняют личные документы. Серверы LDAP обеспечивают службу авторизации, так что Интернет серверы, email могут использовать единый список зарегистрированных пользователей и паролей.
Самым важным преимуществом таких систем является возможность легко и быстро адаптировать Web приложение, программный модуль, готовые программные средства с использованием отработанной технологии аутентификации и авторизации.
Проведенный анализ и исследования показали, что использование в качестве операционной системы целесообразно Slackware, версии 10.1. Она включает в себя минимум модулей, совместима со многими пакетами и программными модулями. Для построения системы OpenLDAP версии 2.3.4. в качестве БД была использована DB Berkly 4.2.52 [10].
Важный компонент цаггрализованной системы аутентификации-система однократной регистрации (Single Sing-On). Такая система снимает необходимость многократно вводить пароли (или аутштифицироваться каким-то другим образом) при доступе к различным сервисам корпоративной сети. Для этого предлагаем использовать разработанный Йельским университетом, свободно распространяемый программный продукт Central Authentication Service (CAS) позволяет произвести аутентификацию установлашя подлинности. Служба состоит из Java приложения на основе серверного приложения Tomcat. После завершали аутаггификации наступает стадия авторизации. Проводится проверка прав доступа. Пользователь может получить доступ к тем сервисам, с которыми ему разрешено работать [13],[5].
С увеличением объема информации и наобходимостью ее систематизации и преде-твавления в удобной форме, растет потребность создания и использования порталов разного профиля и уровней. Для создания единой идентификационной системы требуется комплекс программных модулей, которые служат для построения информационной инфраструктуры современного учреждения. В зависимости от профиля предприятий требуется автоматизировать и создать электронные услуги для пользователей предприятия, такие как систему создания документооборота, систему управления информационным накоплением, систему создания Web приложений электронной коммерции, система интеграции серверных приложении. Создание такого рода идентификационных систем позволяет унифицировать доступ, обеспечить должный уровень безопасности, создать систему порталов для предоставлашя электронных услуг.
Литература
1. Системные решшия, статья. Управление информационным наполнением Web-сайтов// [email protected]. watka.ru.
2.Лора А.Чеппел, Эд Титтел «TCP/IP»: Учебный курс. - Санкт-Петербург. - 2003.
3.Конноли Т., БегтК. «Базы Данных», проектирование, реализация и сопровождение. Теория и практика. - 3-е издание. - Москва - Санкт-Петербург - Киев, 2003.
4.ПейнК. «ASP.NET». Освой самостоятельно за 21 день. - Москва-Санкт-Петербург - Киев, 2002.
5. Single Sign-On аутентификация // http://www.ot.ru/bkis_sso.html.
6. Быков М.Ю. Обзор современных web-технологий построения приложений сер-вернсй стороны // http://www.sciteclibrarv.ru/rus/catalog/pages/6643.html.
7. A SAS Institute White Paper, Стандартные сценарии разработки Web-приложений //http://www.sas.com/offices/europe/russia/whitepapers/pattems.pdf.
8. Сергеев А. Демоцэпр клиагг-серверных технологий. Концепции Intranet и Internet для создания корпоративных приложений в архитектуре клиозт-сервер. Инструментарий компании Borland // http://vumi.ziet.zhitomir.ua/ct/database/kbd96/58.shtml.
9.Созыкин А.В., Масич Г.Ф., Масич А.Г., Бездушный А Н. Вопросы интеграции управления идопификацией пользователей сетевых, вычислительных и информационных сервисов // http://www.elbib.ru/index.phtml?page=elbib/rus/iournal/2004/.
10. Definition of the inetOrgPerson LDAP Object Class // http://www.ietf.org/rfG,rfc2798.txt
11. HTTP Server project http://httpd.apache.orp/.
12. Security Apache interface to OpenSSL http://www.modssl.org/.
13. Single Sign-On architectures, Jan de Clercq, RSA2003, November 2003, Amsterdam, http://www.rsaconference.com/rsa2003/europe/tracks/pdf.
14. ITS Central Authentication Service, http://www.vale.edu/tp/cas/.
Тушндеме
Бул мацалада электронды парталда open sourse багдарлама цуралын пайдалана отырып, электронды цызмет кврсетуде круЫЫздЫ децгейш щмтамасыз ету мумююиййяне крл жетюзу.
Resume
The given article is devoted to electronic portal with the use of software tools open sourse. that allows to unify access, and to provide a proper level of security with presenting electronic services.