FreeIPA
Материал из ALT Linux Wiki
м (→Установка FreeIPA сервера) |
|||
Строка 1: | Строка 1: | ||
- | + | [[Файл:Freeipa-logo-small.png|frameless|right]] | |
- | FreeIPA - это комплексное решение по управлению безопасностью Linux-систем, 389 Directory Server, MIT Kerberos, NTP, DNS, Dogtag. Оно состоит из | + | FreeIPA - это комплексное решение по управлению безопасностью Linux-систем, 389 Directory Server, MIT Kerberos, NTP, DNS, Dogtag. Оно состоит из веб-интерфейса и интерфейса командной строки.<br> |
FreeIPA является интегрированной системой проверки подлинности и авторизации в сетевой среде Linux, FreeIPA сервер обеспечивает централизованную проверку подлинности, авторизацию и контроль за аккаунтами пользователей сохраняя сведения о пользователе, группах, узлах и других объектах необходимых для обеспечения сетевой безопасности. | FreeIPA является интегрированной системой проверки подлинности и авторизации в сетевой среде Linux, FreeIPA сервер обеспечивает централизованную проверку подлинности, авторизацию и контроль за аккаунтами пользователей сохраняя сведения о пользователе, группах, узлах и других объектах необходимых для обеспечения сетевой безопасности. | ||
- | == Установка | + | |
+ | Сайт проекта: http://www.freeipa.org/ | ||
+ | |||
+ | == Установка сервера FreeIPA == | ||
Устанавливать будет со встроенным DNS сервером и доменом EXAMPLE.TEST в локальной сети 192.168.135.0/24.<br> | Устанавливать будет со встроенным DNS сервером и доменом EXAMPLE.TEST в локальной сети 192.168.135.0/24.<br> | ||
+ | Для начала отключим ahttpd, работающий на порту 8080 во избежание конфликтов с разворачиваемым tomcat и отключим HTTPS в Apache2: | ||
+ | # service ahttpd stop | ||
+ | # a2dissite 000-default_https | ||
+ | # service httpd2 condreload | ||
+ | |||
Установим необходимые пакеты: | Установим необходимые пакеты: | ||
<pre># apt-get install freeipa-server freeipa-server-dns</pre> | <pre># apt-get install freeipa-server freeipa-server-dns</pre> | ||
Строка 9: | Строка 17: | ||
<pre># hostnamectl set-hostname ipa.example.test</pre> | <pre># hostnamectl set-hostname ipa.example.test</pre> | ||
Запускаем скрипт настройки сервера: | Запускаем скрипт настройки сервера: | ||
+ | В пакетном режиме: | ||
+ | # ipa-server-install -U --hostname=$(hostname) -r EXAMPLE.TEST -n example.test -p 12345678 -a 12345678 --setup-dns --no-forwarders --no-reverse | ||
+ | или интерактивно: | ||
<pre># ipa-server-install</pre> | <pre># ipa-server-install</pre> | ||
- | + | ||
+ | {{Attention|Пароли должны быть не менее 8 символов}} | ||
+ | |||
+ | Обратите внимание на ответы на вопросы, не совпадающие с предложенными: | ||
+ | Do you want to configure integrated DNS (BIND)? [no]: yes | ||
+ | Do you want to configure DNS forwarders? [yes]: no | ||
+ | Do you want to search for missing reverse zones? [yes]: no | ||
+ | |||
+ | остальные вопросы выбираем по умолчанию (можно просто нажать Enter). Так же при установке попросят ввести пароль администратора системы и пароль администратора каталогов.<br> | ||
+ | |||
После окончания установки настроим сервер времени, чтобы компьютеры в локальной сети могли к нему подключаться.<br> | После окончания установки настроим сервер времени, чтобы компьютеры в локальной сети могли к нему подключаться.<br> | ||
Для этого добавим в файл {{path|/etc/ntp.conf}} следующую строчку: | Для этого добавим в файл {{path|/etc/ntp.conf}} следующую строчку: | ||
Строка 20: | Строка 40: | ||
Добавим в DNS запись о нашем сервере времени: | Добавим в DNS запись о нашем сервере времени: | ||
<pre># ipa dnsrecord-add example.test _ntp._udp --srv-priority=0 --srv-weight=100 --srv-port=123 --srv-target=ipa.example.test.</pre> | <pre># ipa dnsrecord-add example.test _ntp._udp --srv-priority=0 --srv-weight=100 --srv-port=123 --srv-target=ipa.example.test.</pre> | ||
- | Также доступен | + | |
+ | Также доступен веб-интерфейс по адресу: | ||
+ | <pre>https://ipa.example.test/ipa/ui/</pre> | ||
+ | |||
+ | {{Note|Если выдаёт <pre>[error] CalledProcessError: Command '/sbin/systemctl restart httpd2.service' returned non-zero exit status 1</pre> | ||
+ | Выполните | ||
+ | # systemctl restart httpd2 | ||
+ | Отмените установку: | ||
+ | # ipa-server-install -U --uninstall | ||
+ | и повторите снова.}} | ||
== Установка FreeIPA клиента и подключение к серверу == | == Установка FreeIPA клиента и подключение к серверу == | ||
Установим необходимые пакеты: | Установим необходимые пакеты: | ||
- | <pre># apt-get install freeipa-client libsss_sudo | + | <pre># apt-get install freeipa-client libsss_sudo</pre> |
Зададим имя компьютера: | Зададим имя компьютера: | ||
<pre># hostnamectl set-hostname comp01.example.test</pre> | <pre># hostnamectl set-hostname comp01.example.test</pre> | ||
Строка 41: | Строка 70: | ||
nameserver 192.168.135.1</pre> | nameserver 192.168.135.1</pre> | ||
Запускаем скрипт настройки клиента: | Запускаем скрипт настройки клиента: | ||
+ | в пакетном режиме: | ||
+ | # ipa-client-install -U -p admin -w 12345678 | ||
+ | или интерактивно: | ||
<pre># ipa-client-install</pre> | <pre># ipa-client-install</pre> | ||
Если все настроено верно скрипт должен выдать такое сообщение: | Если все настроено верно скрипт должен выдать такое сообщение: | ||
Строка 51: | Строка 83: | ||
Continue to configure the system with these values? [no]:</pre> | Continue to configure the system with these values? [no]:</pre> | ||
Отвечаем {{cmd|yes}} вводим имя пользователя, имеющего право вводить машины в домен, и его пароль.<br> | Отвечаем {{cmd|yes}} вводим имя пользователя, имеющего право вводить машины в домен, и его пароль.<br> | ||
- | Для работы sudo-политик на клиентской машине необходимо разрешить доступ к sudo: | + | |
+ | В случае возникновения ошибки, необходимо перед повторной установкой запустить процедуру удаления: | ||
+ | # ipa-client-install -U --uninstall | ||
+ | |||
+ | Для работы sudo-политик для доменных пользователей на клиентской машине необходимо разрешить доступ к sudo: | ||
<pre># control sudo public</pre> | <pre># control sudo public</pre> | ||
+ | |||
+ | === Вход пользователя === | ||
+ | |||
+ | При первом входе пользователя будет запрошен текущий установленный администратором пароль и затем у пользователя запрашивается новый пароль и его подтверждение. | ||
+ | |||
+ | {{Attention|Запрос нового пароля не работает в LightDM. Для этой процедуры зайдите под именем этого пользователя в консоли или по SSH.}} | ||
+ | |||
+ | [[Категория:Корпоративная инфраструктура]] | ||
+ | {{Category navigation|title=Корпоративная инфраструктура|category=Корпоративная инфраструктура|sortkey={{SUBPAGENAME}}}} |
Версия 10:33, 26 января 2017
FreeIPA - это комплексное решение по управлению безопасностью Linux-систем, 389 Directory Server, MIT Kerberos, NTP, DNS, Dogtag. Оно состоит из веб-интерфейса и интерфейса командной строки.
FreeIPA является интегрированной системой проверки подлинности и авторизации в сетевой среде Linux, FreeIPA сервер обеспечивает централизованную проверку подлинности, авторизацию и контроль за аккаунтами пользователей сохраняя сведения о пользователе, группах, узлах и других объектах необходимых для обеспечения сетевой безопасности.
Сайт проекта: http://www.freeipa.org/
Установка сервера FreeIPA
Устанавливать будет со встроенным DNS сервером и доменом EXAMPLE.TEST в локальной сети 192.168.135.0/24.
Для начала отключим ahttpd, работающий на порту 8080 во избежание конфликтов с разворачиваемым tomcat и отключим HTTPS в Apache2:
# service ahttpd stop # a2dissite 000-default_https # service httpd2 condreload
Установим необходимые пакеты:
# apt-get install freeipa-server freeipa-server-dns
Зададим имя сервера:
# hostnamectl set-hostname ipa.example.test
Запускаем скрипт настройки сервера: В пакетном режиме:
# ipa-server-install -U --hostname=$(hostname) -r EXAMPLE.TEST -n example.test -p 12345678 -a 12345678 --setup-dns --no-forwarders --no-reverse
или интерактивно:
# ipa-server-install
Обратите внимание на ответы на вопросы, не совпадающие с предложенными:
Do you want to configure integrated DNS (BIND)? [no]: yes Do you want to configure DNS forwarders? [yes]: no Do you want to search for missing reverse zones? [yes]: no
остальные вопросы выбираем по умолчанию (можно просто нажать Enter). Так же при установке попросят ввести пароль администратора системы и пароль администратора каталогов.
После окончания установки настроим сервер времени, чтобы компьютеры в локальной сети могли к нему подключаться.
Для этого добавим в файл /etc/ntp.conf следующую строчку:
restrict 192.168.135.0 mask 255.255.255.0 nomodify
Перезапустим службу:
# systemctl restart ntpd
Для возможности управлять FreeIPA сервером из командной строки необходимо получить билет Kerberos:
# kinit admin
Добавим в DNS запись о нашем сервере времени:
# ipa dnsrecord-add example.test _ntp._udp --srv-priority=0 --srv-weight=100 --srv-port=123 --srv-target=ipa.example.test.
Также доступен веб-интерфейс по адресу:
https://ipa.example.test/ipa/ui/
[error] CalledProcessError: Command '/sbin/systemctl restart httpd2.service' returned non-zero exit status 1
Выполните
# systemctl restart httpd2
Отмените установку:
# ipa-server-install -U --uninstallи повторите снова.
Установка FreeIPA клиента и подключение к серверу
Установим необходимые пакеты:
# apt-get install freeipa-client libsss_sudo
Зададим имя компьютера:
# hostnamectl set-hostname comp01.example.test
Добавим DNS сервер, для этого создадим файл /etc/net/ifaces/ens19/resolv.conf со следующим содержимым:
nameserver 192.168.135.1
192.168.135.1 - IP-адрес нашего FreeIPA сервера.
Укажем службе resolvconf использовать DNS FreeIPA и наш домен для поиска.
Для этого в файл /etc/resolvconf.conf добавим/отредактируем следующие параметры:
interface_order='lo lo[0-9]* lo.* ens19' search_domains=example.test
Где ens19 -интерфейс на котором доступен FreeIPA сервер, example.test - наш домен.
Обновим DNS адреса:
# resolvconf -u
После этого в файле /etc/resolv.conf должны появится строки:
search example.test nameserver 192.168.135.1
Запускаем скрипт настройки клиента: в пакетном режиме:
# ipa-client-install -U -p admin -w 12345678
или интерактивно:
# ipa-client-install
Если все настроено верно скрипт должен выдать такое сообщение:
'''Discovery was successful!''' Client hostname: comp02.example.test Realm: EXAMPLE.TEST DNS Domain: example.test IPA Server: ipa.example.test BaseDN: dc=example,dc=test Continue to configure the system with these values? [no]:
Отвечаем yes вводим имя пользователя, имеющего право вводить машины в домен, и его пароль.
В случае возникновения ошибки, необходимо перед повторной установкой запустить процедуру удаления:
# ipa-client-install -U --uninstall
Для работы sudo-политик для доменных пользователей на клиентской машине необходимо разрешить доступ к sudo:
# control sudo public
Вход пользователя
При первом входе пользователя будет запрошен текущий установленный администратором пароль и затем у пользователя запрашивается новый пароль и его подтверждение.