УНИТе

Портал > Документация > Настройка на HPC изчислителен сървър за извличане на POSIX потребителска информация от LDAP директориен сървър

Настройка на HPC изчислителен сървър за извличане на POSIX потребителска информация от LDAP директориен сървър

Съдържание:

  1. Предварителна информация
  2. Настройка за криптиране на обменяната с LDAP сървъра информация, чрез TLS
  3. Използване на authconfig-tui за създаване на настройките за извличане на потребителска информация за POSIX потребителите от LDAP директориен сървър

 

1. Предварителна информация

Целта на този документ е да покаже по какъв начин един HPC изчислителен сървър (на който се изпълняват потребителските задачи), взаимодейства със записите, направени за POSIX потребителите в LDAP директорийния сървър, съгласно процедурата описана в документа "Инсталиране и конфигуриране на 389 директориен сървър за удостоверяване на потребителите в HPC под CentOS 7 и Scientific Linux 7". Отбележете следното важно обстоятелство (важи за повечето HPC инфраструктури):

Изчислителните сървъри в HPC инфраструктурата НЕ УДОСТОВЕРЯВАТ POSIX потребители, защото използват само част от информацията, описана в потребителския профил, която не включва паролата или SSH публичния ключ. Въпреки, че тези сървъру изпълняват процеси със собсвеността на конкретния POSIX потребител, процесите се стартират от мениджъра на задачи, от името на потребителя, след като са зададени в опашката на този мениджър.

Това означава, че на HPC изчислителните сървъри, не е нужно да бъде достъпвана информацията за потребителската парола, а също така не е нужно да се създават локални копия на SSH публичните ключове на потребителите. Удостоверителната информация е нужна само на HPC порталните сървъри, в системата на които потребителите влизат на база на протокола SSH (или през web-интерфейс, ако такъв, има) и задават задачите за изпълнение.

 

2. Настройка за криптиране на обменяната с LDAP сървъра информация, чрез TLS

Целта на използването на TLS между локалния за системата LDAP клиент и LDAP директорийния сървър, е да предотврати евентуално подслушване на обменяната информация и нейната подмяна. Използването на криптирана комуникация "клиент-сървър" е от критична важност! Първата стъпка в процедурата по създаване на настройките за използване на криптирана комуникация, е създадаването на директория, в която да поставите удостоверителския (CA) X.509 сертификат, чрез който се проверява автентичността на веригата на сертификата на LDAP директорийния сървър. За примерите по-долу, тази директория е:

/etc/openldap/cacerts

но ако желаете или това е нужно, може да използвате и друга директория. След като я създадете (ако не е създадена преди това), влезте в нея, поставете там копие от X.509 сертификата на удостоверителя (може да поставите повече от един такъв) и създайте "symlink" обект към хеширания "Subject" на сертификата. В примера по-долу е обяснено как да бъде изтеглен X.509 сертификата на удостоверителя на Софийския Университет и как да се създаде "symlink" обекта (адаптирайте тази стъпка към конкретния за вас случай):

# cd /etc/openldap/cacerts
# wget https://pki.uni-sofia.bg/crt/SU_ECC_Root_CA.crt
# ln -s SU_ECC_Root_CA.crt `openssl x509 -hash -in SU20ECC20Root20CA20-20uni-sofia.bg.pem -noout`.0

Ако при създаването на "symlink" обекта (това е последния команден ред по-горе), получите съобщение за грешка от типа:

ln: failed to create symbolic link ‘4c5f24de.0’: File exists

то или имате този сертификат в директорията (поставен е там преди това и към него има вече създаден "symlink" обкет, чието име завършва на ".0"), или просто стойността на "Subject" полето за два сертификата в директорията съвпада. В този случай, може заменете ".0" в края на името на "symlink" обекта с ".1", или ".2" и т.н, за да няма колизия на имената.

Следващата стъпка е настройка на използваните протоколи и шифри, които ще се използва при TLS комуникацията и базова настройка за третиране на потребителските имена. Всичко това трябва да направите като редактирате файла /etc/openldap/ldap.conf и оставите/поставите в него следното съдържание (по-долу е обяснено, как и кои деклрации да промените):

TLS_CACERTDIR /etc/openldap/cacerts
TLS_PROTOCOL_MIN 1.2
TLS_CIPHER_SUITE ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
SASL_NOCANON    on

Минималната версия на TLS протокола, зададена по-горе като, стойност след деклрацията TLS_PROTOCOL_MIN е 1.2, а набора шифри, задължителни за комуникацията с LDAP-сървъра, които са стойност на TLS_CIPHER_SUITE, осигуряват изключително високо ниво на сигурност и съответстват на сървърските SSL/TLS настройки, описани в секция "Създаване и конфигуриране на инстанция на 389 директорийния сървър" на документа "Инсталиране и конфигуриране на 389 директориен сървър за удостоверяване на потребителите в HPC под CentOS 7 и Scientific Linux 7".

 

3. Използване на authconfig-tui за създаване на настройките за извличане на потребителска информация за POSIX потребителите от LDAP директориен сървър

Настройките се създават лесно с използване на инструмента authconfig-tui. Той е част от съдържанието на пакета authconfig. Този пакет трябва да присъства в системата по подразбиране (инсталира се в хода на инсталационния процес на дистрибуцията).

С права на super user (root), изпълнете:

# authconfig-tui

В псевдографичното меню, което той ще стартира, трябва да изберете "Use LDAP", "Use Shadow Passwords", "Use LDAP Authentication" и след това натиснете "Next" (навигирайте с помощта на клавиша "Tab"):

Оперирайки със следващото меню, трябва да въведете името на хост на LDAP сървъра и да укажете къде в дървото, което той поддържа, да бъдат търсени POSIX групите и потребителите:

За примера по-горе е използвано името на хост на сървъра hpc-service-host.unite.uni-sofia.bg (предхождано от протоколния локатор ldap:// след Server) и поддървото dc=HPC,o=unite-bg.eu (след Base DN), следвайки примерите от документацията за настройката на LDAP сървъра, дадени в документа "Инсталиране и конфигуриране на 389 директориен сървър за удостоверяване на потребителите в HPC под CentOS 7 и Scientific Linux 7". Във вашия конкретен случай тези имена може да са различни. Съобразете това.

ВНИМАНИЕ! Винаги маркирайте "Use TLS", за да защитите комуникацията между локалния LDAP клиент (свързан с PAM) и LDAP директориния сървър!

След натискането на бутона "OK" (навигирайте до него чрез клавиша "Tab"), ще бъдете върнати в командния интерпретатор. С това настройките са завършени. Не е нужно да рестартирате системата. Настройките влизат в сила веднага. Единствено трябва да проверите дали комуникацията с LDAP директорийния сървър функционира правилно и се извлича информация за потребителите. Например, изпълнявайки следния команден ред (заменете потребителското име vesso в примера, с POSIX име, което имате регистрирано в LDAP директорията):

# id vesso

Ако комуникацията с LDAP сървъра е установена и заявките за извличане на информацията за POSIX потребителите се обслужват, ще получите отговор като този:

uid=1000(vesso) gid=1000(vesso) groups=1000(vesso)

В случай, че не получите подобен отговор, трябва да проверите дали се осъщствява комуникация с LDAP сървъра и дали записите за потребителите се търсят там, където трябва.

 


Последна актуализация: 18 април 2019

2019 УНИТе, Веселин Колев