Показать статистику
0 голосов
от (2.3тыс. баллов)
1.1тыс. просмотров 1 ответов

1 Ответ

0 голосов
от (26.4тыс. баллов)
редактировать от

FreeIPA - это, в основном, служба каталогов, где вы можете хранить информацию о ваших пользователях и их правах относительно входа в систему, стать пользователем root или просто выполнить определенную команду от имени root в ваших системах, которые присоединены к вашему домену FreeIPA, и многое другое. Хотя это главная особенность службы, существуют дополнительные компоненты, которые могут быть очень полезны, такие как DNS и PKI - это делает FreeIPA важной инфраструктурной частью системы на основе Linux. Он имеет приятный веб-интерфейс и мощный интерфейс командной строки.

Рассмотрим как установить и настроить автономный сервер FreeIPA в Red Hat Enterprise 7.5. Однако обратите внимание, что в производственной системе рекомендуется создать как минимум еще одну копию для обеспечения высокой доступности. Мы будем размещать сервис на виртуальной машине с 2 ядрами ЦП и 2 ГБ ОЗУ - в большой системе вам может потребоваться добавить еще несколько ресурсов. Наша лабораторная машина работает с RHEL 7.5, базовая установка. Давайте начнем.

Установить и настроить сервер FreeIPA довольно просто - уловка в планировании. Вам следует подумать о том, какие части программного стека вы хотите использовать, и в какой среде вы хотите запускать эти сервисы. Поскольку FreeIPA может обрабатывать DNS, если вы строите систему с нуля, было бы полезно предоставить FreeIPA весь домен DNS, где все клиентские машины будут вызывать серверы FreeIPA для DNS. Этот домен может быть поддоменом вашей инфраструктуры, вы даже можете установить поддомен только для серверов FreeIPA - но тщательно продумайте это, так как вы не сможете изменить домен позже. Не используйте существующий домен, FreeIPA  является хозяином данного домена (установщик проверит, может ли домен быть разрешен, и есть ли у него запись SOA, отличная от самой себя).

PKI - это другой вопрос: если у вас уже есть CA (центр сертификации) в вашей системе, вы можете настроить FreeIPA в качестве подчиненного CA. С помощью Certmonger FreeIPA может автоматически обновлять клиентские сертификаты (например, SSL-сертификаты веб-сервера), что может оказаться полезным, но если в системе нет службы выхода в Интернет, вам может не понадобиться служба PKI FreeIPA совсем. Все зависит от варианта использования. 

Значит планирование уже сделано. Мы хотим создать новую тестовую лабораторию, поэтому мы установим и настроим все функции FreeIPA, включая DNS и PKI с самозаверяющим сертификатом CA. FreeIPA может сгенерировать это для нас, нет необходимости создавать его с помощью таких инструментов, как openssl.

Требования

Сначала необходимо установить надежный источник NTP для сервера (FreeIPA будет действовать и в качестве NTP-сервера, но, естественно, нуждается в источнике), и запись в /etc/hosts файле сервера, указывающую на себя:

# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.122.147    rhel7.ipa.Ваше_имя.org    rhel7

И имя хоста, указанное в файле hosts, должно быть полным доменным именем машины.

# hostname rhel7.ipa.Ваше_имя

Это важный шаг, не пропустите его. То же имя хоста, необходимое в сетевом файле:

# grep HOSTNAME /etc/sysconfig/network
HOSTNAME=rhel7.ipa.Ваше_имя

Установка пакетов

Необходимое программное обеспечение включено в ISO-образ сервера Red Hat Enterprise или канал подписки, никаких дополнительных репозиториев не требуется. В этой демонстрации есть набор локальных репозиториев с содержимым ISO-образа. Программный стек объединен, поэтому одна команда yum сделает:

# yum install ipa-server ipa-server-dns

При базовой установке yum предоставит длинный список зависимостей, включая Apache Tomcat, Apache Httpd, 389-ds (сервер LDAP) и так далее. После завершения yum откройте порты, необходимые на брандмауэре:

# firewall-cmd --add-service=freeipa-ldap
success
# firewall-cmd --add-service=freeipa-ldap --permanent
success

Настроить

Теперь давайте настроим наш новый сервер FreeIPA. Это займет время, но только для первой части, когда установщик запрашивает параметры. Большинство параметров могут быть переданы в качестве аргументов установщику, но мы не дадим никаких, таким образом мы сможем извлечь выгоду из предыдущих настроек.

# ipa-server-install 

Файл журнала для этой установки можно найти в /var/log/ipaserver-install.log 

Посмотреть этот файл для ознакомления можете по ссылке https://docs.google.com/document/d/1Hz5fq6aOZo3oVUKpHRJPmnxc82XczUnpmnTX1zh5-V4/edit?usp=sharing

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

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

Теперь давайте включим создание домашнего каталога при входе в систему:

# authconfig --enablemkhomedir –-update

верификация

Мы можем начать тестирование, если у нас есть работающий стек сервисов. Давайте проверим, сможем ли мы получить билет Kerberos для пользователя с правами администратора (с паролем, предоставленным пользователю с правами администратора во время установки):

# kinit admin
Password for admin@IPA.Ваше_имя.ORG
    : 
# klist
Ticket cache: KEYRING:persistent:0:0
Default principal: admin@IPA.Ваше_имя.ORG

Valid starting       Expires              Service principal
2018-06-24 21.44.30  2018-06-25 21.44.28  krbtgt/IPA.Ваше_имя.ORG@IPA.Ваше_имя.ORG

Хост-машина зарегистрирована в нашем новом домене, и правила по умолчанию предоставляют доступ ssh вышеупомянутому администратору для всех зарегистрированных хостов. Давайте проверим, работают ли эти правила, как ожидается, открыв ssh-соединение с localhost:

# ssh admin@localhost
Password:
Creating home directory for admin.
Last login: Sun Jun 24 21:41:57 2018 from localhost
$ pwd
/home/admin
$ exit

Давайте проверим состояние всего программного стека:

 

# ipactl status
Directory Service: RUNNING
krb5kdc Service: RUNNING
kadmin Service: RUNNING
named Service: RUNNING
httpd Service: RUNNING
ipa-custodia Service: RUNNING
ntpd Service: RUNNING
pki-tomcatd Service: RUNNING
ipa-otpd Service: RUNNING
ipa-dnskeysyncd Service: RUNNING
ipa: INFO: The ipactl command was successful

И - с ранее приобретенным билетом Kerberos - запросите информацию об администраторе с помощью инструмента CLI:

# ipa user-find admin
--------------
1 user matched
--------------
  User login: admin
  Last name: Administrator
  Home directory: /home/admin
  Login shell: /bin/bash
  Principal alias: admin@IPA.Ваше_имя.ORG
  UID: 630200000
  GID: 630200000
  Account disabled: False
----------------------------
Number of entries returned 1

И, наконец, войдите в веб-страницу управления, используя учетные данные пользователя с правами администратора (машина, на которой запущен браузер, должна иметь возможность разрешать имя сервера FreeIPA). Используйте HTTPS, сервер будет перенаправлять, если используется простой HTTP. Поскольку мы установили самозаверяющий корневой сертификат, браузер предупредит нас об этом.

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

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

...