IBM®
Перейти к тексту
    в России и странах СНГ [изменить]    Условия использования
 
 
   
    Главная страница    Продукты    Услуги и решения    Поддержка и загрузка    Мой профиль    
Перейти к тексту

developerWorks Россия  >  AIX и UNIX  >

IBM NFS/DFS Authentication Gateway: Команды и API для миграции на NFS V. 4

Безболезненная миграция

developerWorks
Опции документа

Опции документа, требующие включения JavaScript, не отображаются

Обсудить


Выскажите мнение об этой странице

Помогите нам улучшить содержание


Уровень сложности: простой

Сендип Рамеш Патил, штатный инженер по программному обеспечению, IBM

15.04.2009

Эта статья о том, как использовать команды и интерфейсы прикладного программирования (API) IBM NFS/DFS Authentication Gateway для разработки приложений при миграции на NFS Version 4. Потребности в дисковом пространстве для хранения данных крупных предприятий постоянно растут. Реализации NFS предоставляют все больше и больше функциональности, и предприятия переходят на NFS Version 4 (как было рассказано в статье IBM NFS/DFS Authentication Gateway: A migration bridge to NFS Version 4).

Введение

Сейчас IBM Distributed File System™ (распределенная файловая система, DFS™) постепенно подходит к завершению своего жизненного цикла. Вместе с тем Network File System Version 4 (сетевая файловая система, NFS Version 4) превратилась в корпоративную файловую систему следующего поколения, поэтому теперь администраторам необходимо начать планировать миграцию с IBM DFS на NFS Version 4. В сопутствующей статье IBM NFS/DFS Authentication Gateway: A migration bridge to NFS Version 4 рассмотрены различные стратегии миграции. Также в статье объяснено, почему поэтапная миграция может быть одним из эффективных решений для предприятий, которые обладают большими объемами данных и большим числом пользователей DFS/Distributed Computing Environment (DCE). Также в той статье говорилось о предоставлении пользователям шлюза IBM NFS/DFS Authenticating Gateway для аутентифицирующего доступа к IBM DFS посредством NFS-клиентов, которые поддерживаются NFS Version 4 и NFS Version 3.

Эта статья является логическим продолжением предыдущей, и в ней я объясняю, как администраторы могут использовать команды и API-интерфейсы, предоставляемые IBM NFS/DFS Authenticating Gateway, для разработки приложений, которые помогут им в процессе миграции.



В начало


Команды и API-интерфейсы IBM NFS/DFS Authenticating Gateway

Чтобы предоставить доступ к файлам, NFS-клиент должен смонтировать экспортируемую файловую систему IBM DFS. В IBM DCE DFS конечные пользователи идентифицируются по именам; в NFS запросы клиентов идентифицируются парой "IP-адрес–пользовательский идентификатор". Эти требования необходимо как-то связать между собой. Для этой задачи IBM NFS/DFS Authenticating Gateway предоставляет команду dfsiauth, которая используется для привязки информации об аутентификации.

Так как IBM NFS/DFS Authenticating Gateway находится на отдельном компьютере, то NFS-пользователи должны зарегистрироваться на IBM NFS/DFS Authenticating Gateway и выполнить команду dfsiauth. Команда dfsiauth предоставляет адрес компьютера NFS-клиента и идентификатор пользователя (UID) данного компьютера. Далее пользователь проходит аутентификацию на DCE, команда dfsiauth определяет DCE-имя и вводит пароль. Когда IBM NFS/DFS Authenticating Gateway получает NFS-запрос, в этом запросе содержится имя компьютера NFS-клиента и пользовательский идентификатор (UID). IBM NFS/DFS Authenticating Gateway вставляет в запрос идентифицирующую информацию (credential information), которая позволяет пройти DCE-аутентификацию. Если пользователи NFS Version 4 используют на файловом сервере NFS команду dfsiauth, они могут использовать IBM NFS/DFS Authenticating Gateway без внесения изменений в свое ПО. Этим способом NFS-клиент может получить аутентифицированный доступ к пространству IBM DFS.

Более подробное описание команды dfsiauth и ее опций можно найти в NFS/DFS Authenticating Gateway Guide and Reference (см. Ресурсы).

Главная проблема с командой dfsiauth заключается в том, что она должна быть выполнена на компьютере с IBM NFS/DFS Authenticating Gateway. Из-за того что IBM NFS/DFS Authenticating Gateway находится на отдельном компьютере, пользователи NFS Version 4, прежде чем получить доступ на аутентификацию к IBM DFS пространству, должны зарегистрироваться на этом шлюзе. Эта процедура регистрации достаточно сложная.

Едва ли тысячи пользователей смогут войти в систему и выполнить команду dfsiauth если компьютер, на котором расположен NFS/DFS Authenticating Gateway, является защищенным сервером и предоставляет ограниченный доступ. Чтобы справиться с этой проблемой, следует использовать API-библиотеку (libdceiauth.a), поставляемую вместе с IBM NFS/DFS Authenticating Gateway. При помощи этой библиотеки можно разрабатывать приложения типа клиент–сервер, которые проводят преобразование аутентификации NFS-клиента в аутентификацию IBM NFS/DFS Authenticating Gateway. Подобные приложения позволяют пользователям не входить на компьютер с NFS/DFS Authenticating Gateway для преобразования аутентификации.

API-библиотека libdceiauth.a предлагает метод dceiauthcall(), который может использоваться приложениями для выполнения операций на IBM NFS/DFS Authenticating Gateway. Данная функция подтверждает подлинность DCE-пользователя и выполняет на IBM NFS/DFS Authenticating Gateway соответствующие действия для регистрации или отмены регистрации трансляции пары "IP-адрес хоста–идентификатор пользователя" (host–UID). Другими словами, эта функция позволяет регистрировать или отменять регистрацию пар host–UID для существующего удаленного DCE-пользователя. Пара host–UID используется внутри IBM NFS/DFS Authenticating Gateway для получения подтвержденного доступа к пространству IBM DFS. Эта функция должна быть вызвана на компьютере с IBM NFS/DFS Authenticating Gateway, который занимается трансляцией NFS/DFS. Описание данной функции и объяснение нескольких ее наиболее важных входных параметров приведено в листинге 1.


Листинг 1. Описание функции
	
int dceiauthcall (char * remoteHost, char * remoteUid, char * user, char * passwd,
char * sys, char * host, int * pag, int * flags, char * buffer, int * buflen)

remoteHost
Задает имя компьютера, запрашивающего доступ для аутентификации.
remoteUid
Задает идентификатор удаленного пользователя.
user
Задает DCE-пользователя для аутентификации.
passwd
Задает пароль DCE-пользователя в DCE-регистре.

Подробная информация о других параметрах функции приведена в статье NFS/DFS Authenticating Gateway Guide and Reference в разделе Ресурсы.



В начало


Применение API-интерфейса IBM NFS/DFS Authenticating Gateway

Администраторы могут использовать функцию dceiauthcall() (описанную выше) для проектирования клиент-серверного приложения. Клиентская программа этого приложения размещается на пользовательских компьютерах с клиентом NFS Version 4 (и этот пользователь хочет получить подтвержденный доступ к пространству IBM DFS). Серверная же часть выполняется на компьютере с IBM NFS/DFS Authenticating Gateway. Подобный подход позволяет пользователям-клиентам NFS Version 4 получать аутентифицированный доступ к пространству DFS, только лишь выполняя эту программу. Клиентская программа взаимодействует со своей серверной частью, которая выполняется на компьютере с IBM NFS/DFS Authenticating Gateway. Серверная часть программы, в свою очередь, предоставляет аутентифицированный доступ, вызывая функцию dceiauthcall() с аргументами, полученными от клиента. Один из подобных подходов, который может использоваться администраторами при миграции с DFS на NFS, описан ниже.

Сторона клиента

  1. Пользователь регистрируется на системе, на которой NFS-клиент смонтировал экспортируемую файловую систему DFS. Также клиент NFS Version 4 на этом компьютере настроен для взаимодействия с сервером NFS Version 4, на котором выполняется миграция.
  2. Пользователь выполняет клиентскую программу. Клиентская программа:
    • требует от пользователя ввода имени DCE-пользователя и пароля DCE-пользователя;
    • требует, чтобы пользователь определил желаемое действие (одно из следующих):
      • добавить преобразование аутентификаций;
      • удалить преобразование аутентификаций;
      • переписать существующее преобразование аутентификаций.
    • программным образом получает идентификатор пользователя и имя его компьютера.
    • подсоединяется к серверу c NFS/DFS Authenticating Gateway и передает ему: имя DCE-пользователя, пароль DCE-пользователя, имя компьютера, пользовательский идентификатор и операцию, которую нужно выполнить.
    • ждет ответа от сервера и выводит результат пользователю.
  3. В случае успеха пользователь получит проверенный доступ к пространству IBM DFS. NFS-клиент сможет видеть ту же иерархию файловой системы, что и DFS-клиент. Теперь пользователь может получить доступ к данным, уже перенесенным в файловую систему NFS Version 4, и к данным, все еще находящимся на пространстве IBM DFS.

Сторона сервера

  1. Серверная программа, находящаяся на компьютере с IBM NFS/DFS Authenticating Gateway, должна быть запущена при запуске системы или вручную администратором.
  2. Серверная программа:
    • постоянно слушает запросы клиента;
    • получая запрос клиента, сервер принимает от клиента данные: имя DCE-пользователя, пароль DCE-пользователя, имя удаленного компьютера, идентификатор удаленного пользователя и операция, которую нужно выполнить;
    • затем сервер вызывает функцию dceiauthcall() с аргументами, взятыми из полученных данных;
    • возвращает результат выполнения функции dceiauthcall() клиенту и записывает информацию об аутентификации в журнальные файлы сервера.

Рисунок 1 иллюстрирует события, происходящие при взаимодействии между клиентом и сервером для получения аутентифицированного доступа к пространству IBM DFS из клиентской файловой системы NFS Version 4.


Рисунок 1. События, происходящие при получении аутентифицированного доступа к IBM DCE DFS
Рисунок 1. События, происходящие при получении аутентифицированного доступа к IBM DCE DFS


В начало


Безопасность

При применении подхода, описанного выше, возникает несколько вопросов:

  • Как будет серверная программа аутентифицировать клиентскую программу и, наоборот, как клиент будет аутентифицировать сервер?
  • Каким образом клиентская программа сможет безопасно передать данные серверной программе, и наоборот?
  • Можно ли достичь этих целей при помощи уже существующей инфраструктуры и ПО, необходимого для IBM AIX® 5.3 NFS Version 4 и IBM DCE DFS?

Прежде чем ответить на эти вопросы, необходимо кратко обсудить модули безопасности NFS Version 4 и DFS. Одной из главных особенностей NFS Version 4 является поддержка ею улучшенных схем безопасности, которые позволяют выполнять более сильную аутентификацию, точное управление правами доступа и передачу шифрованных данных. Kerberos – один из протоколов сетевой безопасности, используемый NFS Version 4 и поддерживаемый реализациями NFS Version 4, например, IBM AIX 5.3 NFS Version 4 и open NFS Version 4.

Чтобы использовать возможности обеспечения безопасности NFS Version 4, необходимо установить и настроить Kerberos на NFS-сервере и клиентских компьютерах. Для IBM AIX 5.3 NFS Version 4 необходимо установить и настроить IBM Network Authentication Service (служба сетевой аутентификации, разновидность протокола Kerberos от IBM), которая поставляется с AIX. Подробности по настройке IBM AIX 5.3 NFS Version 4 с IBM Network Authentication Service (IBM NAS) изложены в IBM Redbook Securing NFS in AIX An Introduction to NFS Version 4 in AIX 5L Version 5.3 (см. раздел Ресурсы).

IBM DFS использует для безопасности коммуникации функциональность IBM DCE для обеспечения безопасности. Поскольку Kerberos является частью комплекса безопасности IBM DCE, IBM DCE подразумевает аппаратную совместимость с другими реализациями Kerberos. И IBM NAS, и IBM DCE экспортируют интерфейс GSS-API (Generic Security Service Application Program Interface, API для служб безопасности), который можно использовать в приложениях для обеспечения безопасности коммуникаций. GSS-API, как определено в [RFC-2743], предоставляет службы безопасности объектам, которые его вызывают. Службы предоставляются в стандартном виде, в котором они могут использоваться рядом основополагающих механизмов (типа Kerberos) и технологий обеспечения безопасности. Поэтому GSS-API обеспечивает переносимость приложений на уровне исходного кода в различных средах. Таким образом, GSS-API – это набор программных интерфейсов, которые абстрагируют процесс аутентификации, проверку подлинности, целостности и конфиденциальности сообщений.

Теперь ответ на вопрос, поставленный выше. Клиентские и серверные приложения, описанные ранее в этой статье, позволяют использовать GSS-API для совместной аутентификации и безопасного обмена данными. Так как компонент GSS-API является частью IBM NAS (используемой IBM AIX 5.3 NFS Version 4) и IBM DCE (используемой IBM DFS), которые, согласно документации, могут взаимодействовать друг с другом, нет необходимости в дополнительном ПО или инфраструктуре. Кроме того, можно установить и сконфигурировать IBM NAS на стороне сервера и использовать его компонент GSS-API, а не компонент GSS-API, встроенный в IBM DCE. Так следует поступать, если нужно использовать последние модели шифров для безопасности коммуникаций, например AES.

На рисунке 2 с высоким уровнем абстракции показано, как клиентская и серверная части приложения могут безопасно "общаться" между собой и в итоге получить аутентифицированный доступ к пространству IBM DFS для клиентов IBM AIX NFS Version 4.


Рисунок 2. Безопасное взаимодействие клиента и сервера
Рисунок 2. Безопасное взаимодействие клиента и сервера

  • IBM NFS/DFS Authentication Gateway должен быть сконфигурирован при помощи сервера AIX NFS Version 3, а не AIX NFS Version 4.
  • В описании, приведенном выше, NFS-клиенты должны быть настроены для взаимодействия с сервером AIX NFS Version 3, который служит хостом для IBM NFS/DFS Authentication Gateway. Это позволит NFS-клиентам получать доступ к пространству IBM DFS.
  • Начиная с AIX 5.3, NFS-клиенты при установке могут быть настроены для работы с NFS Version 3 и NFS Version 4. Поэтому реализовать все упомянутые выше действия вполне возможно.



В начало


Заключение

После того как IBM объявила о том, что прекращает поддерживать IBM DFS, NFS Version 4 становится распределенной файловой системой следующего поколения. Администраторам придется разработать стратегии миграции. В этой статье показано, как администраторы могут использовать IBM NFS/DFS Authenticating Gateway и связанные с ним команды и API-интерфейсы для упрощения процесса миграции с IBM DFS на IBM AIX 5.3 NFS Version 4.



Ресурсы

Научиться

Получить продукты и технологии

Обсудить


Об авторе

Сендип Рамеш Патил (Sandeep Ramesh Patil) работает штатным инженером по программному обеспечению в IBM India Software Labs. Последние пять лет его работа в IBM в основном связана с распределенными технологиями, включая DCE, SARPC, и продуктами по обеспечению безопасности, такими как IBM Network Authentication Services (IBM Kerberos). В данный момент он работает над новым RFC по безопасности для IBM Network Authentication Service параллельно с поддержкой этих продуктов. Сендип имеет степень бакалавра в области информационных технологий и технологий, полученную в университете Пуны, Индия. С ним можно связаться по e-mail rsandeep@in.ibm.com.




Выскажите мнение об этой странице


Пожалуйста, найдите минутку и заполните форму, чтобы повысить уровень сервиса.



 


 


 


Поделиться этой статьей:

забобрить забобрить memori сохранить в memori




В начало


Linux зарегистрированная торговая марка Линуса Торвальдса (Linus Torvalds) в Соединенных Штатах Америки и других странах. UNIX зарегистрированная торговая марка The Open Group в Соединенных Штатах Америки и других странах. IBM, логотип IBM, и AIX зарегистрированные торговые марки International Business Machines Corporation в Соединенных Штатах Америки и других странах. Другая компания, продукт или название услуги могут быть торговыми марками или знаками обслуживания, принадлежащими иным физическим или юридическим лицам.

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