Как установить и настроить FreeIPA на Red Hat Linux — Information Security Squad

Как установить и настроить FreeIPA на Red Hat Linux

Задача

Наша цель — установить и настроить автономный FreeIPA-сервер на Red Hat Enterprise Linux.

Операционная система и версии программного обеспечения

  • Операционная система: Red Hat Enterprise Linux 7.5
  • Программное обеспечение: FreeIPA 4.5.4-10

Требования

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

Введение

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

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

Он имеет приятный веб-интерфейс и мощный интерфейс командной строки.

В этом уроке мы увидим, как установить и настроить автономный FreeIPA-сервер на Red Hat Enterprise Linux 7.5.

Обратите внимание, однако, что в производственной системе вам рекомендуется создать как минимум еще одну копию, чтобы обеспечить высокую доступность.

Мы будем размещать услугу на виртуальной машине с 2 ядрами процессора и 2 ГБ оперативной памяти — на большой системе вы можете захотеть добавить еще несколько ресурсов.

Наша лабораторная машина запускает RHEL 7.5, базовую установку.

Давайте начнем.

Установка и настройка FreeIPA-сервера довольно проста.

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

Поскольку FreeIPA может обрабатывать DNS, если вы строите систему с нуля, может быть полезно предоставить домен DNS в FreeIPA, где все клиентские машины будут вызывать серверы FreeIPA для DNS.

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

PKI — это еще один вопрос: если у вас уже есть CA (центр сертификации) в вашей системе, вы можете настроить FreeIPA как подчиненный ЦС.

С помощью 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.linuxconfig.org rhel7

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

# hostname
rhel7.ipa.linuxconfig.org

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

# grep HOSTNAME /etc/sysconfig/network
HOSTNAME=rhel7.ipa.linuxconfig.orgх

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

Необходимое программное обеспечение включено в образ ISO или канал подписки сервера Red Hat Enterprise Linux без дополнительных репозиториев.

В этой демонстрации есть локальный набор репозитория, который содержит содержимое образа ISO.

Программный стек объединяется вместе, поэтому будет выполняться одна команда yum:

# yum install ipa-server ipa-server-dns

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

После окончания yum откройте порты, необходимые для брандмауэра:

Настройка

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

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

# ipa-server-install

The log file for this installation can be found in /var/log/ipaserver-install.log
==============================================================================
This program will set up the IPA Server.

This includes:
* Configure a stand-alone CA (dogtag) for certificate management
* Configure the Network Time Daemon (ntpd)
* Create and configure an instance of Directory Server
* Create and configure a Kerberos Key Distribution Center (KDC)
* Configure Apache (httpd)
* Configure the KDC to enable PKINIT

To accept the default shown in brackets, press the Enter key.

WARNING: conflicting time&date synchronization service 'chronyd' will be disabled
in favor of ntpd

## we'll use the integrated DNS server
Do you want to configure integrated DNS (BIND)? [no]: yes

Enter the fully qualified domain name of the computer
on which you're setting up server software. Using the form
<hostname>.<domainname>
Example: master.example.com.

## pressing 'enter' means we accept the default in the bracelets
## this is the reason we set up the proper FDQN for the host
Server host name [rhel7.ipa.linuxconfig.org]:

Warning: skipping DNS resolution of host rhel7.ipa.linuxconfig.org
The domain name has been determined based on the host name.

## now we don't have to type/paste domain name
## and the installer don’t need to try setting the host’s name
Please confirm the domain name [ipa.linuxconfig.org]: 

The kerberos protocol requires a Realm name to be defined.
This is typically the domain name converted to uppercase.

## the Kerberos realm is mapped from the domain name
Please provide a realm name [IPA.LINUXCONFIG.ORG]: 
Certain directory server operations require an administrative user.
This user is referred to as the Directory Manager and has full access
to the Directory for system management tasks and will be added to the
instance of directory server created for IPA.
The password must be at least 8 characters long.

## Directory Manager user is for the low-level operations, like creating replicas
Directory Manager password: 
## use a very strong password in a production environment! 
Password (confirm):

The IPA server requires an administrative user, named 'admin'.
This user is a regular system account used for IPA server administration.

## admin is the "root" of the FreeIPA system – but not the LDAP directory
IPA admin password: 
Password (confirm):

Checking DNS domain ipa.linuxconfig.org., please wait ...
## we could setup forwarders, but this can be set later as well
Do you want to configure DNS forwarders? [yes]: no 
No DNS forwarders configured
Do you want to search for missing reverse zones? [yes]: no

The IPA Master Server will be configured with:
Hostname: rhel7.ipa.linuxconfig.org
IP address(es): 192.168.122.147
Domain name: ipa.linuxconfig.org
Realm name: IPA.LINUXCONFIG.ORG

BIND DNS server will be configured to serve IPA domain with:
Forwarders: No forwarders
Forward policy: only
Reverse zone(s): No reverse zone

Continue to configure the system with these values? [no]: yes

## at this point the installer will work on its own,
## and complete the process in a few minutes. The perfect time for coffee.
The following operations may take some minutes to complete. 
Please wait until the prompt is returned.

Configuring NTP daemon (ntpd)
[1/4]: stopping ntpd ...

Вывод установщика довольно длинный, вы можете видеть, как все компоненты настроены, перезапущены и проверены.

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

... The ipa-client-install command was successful

==============================================================================
Setup complete

Next steps:
1. You must make sure these network ports are open:
TCP Ports:
* 80, 443: HTTP/HTTPS
* 389, 636: LDAP/LDAPS
* 88, 464: kerberos
* 53: bind
UDP Ports:
* 88, 464: kerberos
* 53: bind
* 123: ntp

2. You can now obtain a kerberos ticket using the command: 'kinit admin'
This ticket will allow you to use the IPA tools (e.g., ipa user-add)
and the web user interface.

Be sure to back up the CA certificates stored in /root/cacert.p12
These files are required to create replicas. The password for these
files is the Directory Manager password

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

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

# authconfig --enablemkhomedir –-update 

Верификация

Мы можем начать тестирование, если у нас есть рабочий стек службы.

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

# kinit admin
Password for admin@IPA.LINUXCONFIG.ORG
:
# klist
Ticket cache: KEYRING:persistent:0:0
Default principal: admin@IPA.LINUXCONFIG.ORG

Valid starting Expires Service principal
2018-06-24 21.44.30 2018-06-25 21.44.28 krbtgt/IPA.LINUXCONFIG.ORG@IPA.LINUXCONFIG.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

запросите информацию об администраторе с помощью инструмента 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.LINUXCONFIG.ORG
UID: 630200000
GID: 630200000
Account disabled: False
----------------------------
Number of entries returned 1

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

Используйте HTTPS, сервер будет перенаправлять запрос, если используется простой HTTP.

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

 

cryptoparty

Cryptography is typically bypassed, not penetrated.

Как установить и настроить FreeIPA на Red Hat Linux: 3 комментария

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40