FreeIPA: различия между версиями
Строка 101: | Строка 101: | ||
{{Category navigation|title=Корпоративная инфраструктура|category=Корпоративная инфраструктура|sortkey={{SUBPAGENAME}}}} | {{Category navigation|title=Корпоративная инфраструктура|category=Корпоративная инфраструктура|sortkey={{SUBPAGENAME}}}} | ||
=== Настройка доверительных отношений с AD === | === Настройка доверительных отношений с AD === | ||
FreeIPA использует Samba для интеграции в Active Directory. Для работы Samba необходим работающий стек IPv6.<br> | |||
Начальные данные: | |||
* IP адрес IPA сервера: '''192.168.135.130''' | |||
* Имя IPA сервера: '''dcf''' | |||
* Имя IPA домена: '''domf.testf''' | |||
* NetBIOS имя IPA домена: '''DOMF''' | |||
* IP адрес AD DC: '''192.168.135.150''' | |||
* Имя AD DC: '''dcc''' | |||
* Имя AD домена: '''domc.testc''' | |||
* NetBIOS имя AD домена: '''DOMC''' | |||
Установим необходимые пакеты: | |||
<pre># apt-get install freeipa-server-trust-ad python-module-sss-murmur samba-winbind</pre> | |||
Выполним предварительную настройку IPA сервера для работы с доверием: | |||
<pre># ipa-adtrust-install --netbios-name=DOMF</pre> | |||
Дата и время на серверах должны совпадать.<pre> | |||
IPA сервер в своей работе использует следующие порты: | |||
<pre>TCP ports: 80, 88, 443, 389, 636, 88, 464, 53, 135, 138, 139, 445, 1024-1300 | |||
UDP ports: 88, 464, 53, 123, 138, 139, 389, 445</pre> | |||
Они должны быть открыты и доступны. | |||
Настроим DNS на обоих серверах, чтобы они знали друг о друге.<br> | |||
На AD сервере создадим сервер условной пересылки для зоны IPA домена: | |||
<pre>C:\> dnscmd 127.0.0.1 /ZoneAdd domf.testf /Forwarder 192.168.135.130</pre> | |||
На IPA сервере так же добавим зону AD домена: | |||
<pre>ipa dnsforwardzone-add domc.testc --forwarder=192.168.135.150 --forward-policy=only</pre> | |||
Проверка конфигурации DNS:<br> | |||
На AD сервере: | |||
<pre><pre>C:\> nslookup | |||
> set type=srv | |||
> _ldap._tcp.domc.testc | |||
> _ldap._tcp.domf.testf | |||
> quit</pre></pre> | |||
На IPA сервере: | |||
<pre># dig SRV _ldap._tcp.domf.testf | |||
# dig SRV _ldap._tcp.domc.testc</pre> | |||
Добавление двунаправленных доверительных отношений с AD:<br> | |||
<pre># kinit admin | |||
# ipa trust-add --type=ad domc.testc --admin Administrator --password --two-way=true</pre> |
Версия от 13:52, 13 февраля 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
Вход пользователя
При первом входе пользователя будет запрошен текущий установленный администратором пароль и затем у пользователя запрашивается новый пароль и его подтверждение.
Настройка доверительных отношений с AD
FreeIPA использует Samba для интеграции в Active Directory. Для работы Samba необходим работающий стек IPv6.
Начальные данные:
- IP адрес IPA сервера: 192.168.135.130
- Имя IPA сервера: dcf
- Имя IPA домена: domf.testf
- NetBIOS имя IPA домена: DOMF
- IP адрес AD DC: 192.168.135.150
- Имя AD DC: dcc
- Имя AD домена: domc.testc
- NetBIOS имя AD домена: DOMC
Установим необходимые пакеты:
# apt-get install freeipa-server-trust-ad python-module-sss-murmur samba-winbind
Выполним предварительную настройку IPA сервера для работы с доверием:
# ipa-adtrust-install --netbios-name=DOMF
Дата и время на серверах должны совпадать.
IPA сервер в своей работе использует следующие порты: <pre>TCP ports: 80, 88, 443, 389, 636, 88, 464, 53, 135, 138, 139, 445, 1024-1300 UDP ports: 88, 464, 53, 123, 138, 139, 389, 445
Они должны быть открыты и доступны.
Настроим DNS на обоих серверах, чтобы они знали друг о друге.
На AD сервере создадим сервер условной пересылки для зоны IPA домена:
C:\> dnscmd 127.0.0.1 /ZoneAdd domf.testf /Forwarder 192.168.135.130
На IPA сервере так же добавим зону AD домена:
ipa dnsforwardzone-add domc.testc --forwarder=192.168.135.150 --forward-policy=only
Проверка конфигурации DNS:
На AD сервере:
<pre>C:\> nslookup > set type=srv > _ldap._tcp.domc.testc > _ldap._tcp.domf.testf > quit
На IPA сервере:
# dig SRV _ldap._tcp.domf.testf # dig SRV _ldap._tcp.domc.testc
Добавление двунаправленных доверительных отношений с AD:
# kinit admin # ipa trust-add --type=ad domc.testc --admin Administrator --password --two-way=true