FreeIPA: различия между версиями

Материал из Викиадмин
Перейти к навигации Перейти к поиску
(Новая страница: «FreeIPA - система управления пользователями, доменом и имеет весьма удобную веб-консоль для…»)
 
(Сертификат для cockpit для клиентской машины, подписанный FreeIPA)
 
(не показано 12 промежуточных версий этого же участника)
Строка 1: Строка 1:
FreeIPA - система управления пользователями, доменом и имеет весьма удобную веб-консоль для управления. Мы, конечно, мегалюбители консоли, но иногда и в браузере можно поуправлять. :)
+
FreeIPA - система управления пользователями, доменом и имеет весьма удобную веб-консоль для управления. Мы, конечно, мегалюбители консоли, но иногда и в браузере можно поуправлять. :) Разумеется, так как разработчик  - компания Red Hat, то и это ПО интереснее всего использовать на CentOS или RHEL.
  
 
=== Установка FreeIPA на CentOS 7 ===
 
=== Установка FreeIPA на CentOS 7 ===
Строка 87: Строка 87:
 
     dig @127.0.0.1 +dnssec dpld.ru. SOA
 
     dig @127.0.0.1 +dnssec dpld.ru. SOA
  
А как же клиентские компьютеры?
+
=== А как же клиентские компьютеры? ===
  
 
Теперь добавим компьютер пользователя. Для начала на сервере даём команду (если не через веб-интерфейс добавлять):
 
Теперь добавим компьютер пользователя. Для начала на сервере даём команду (если не через веб-интерфейс добавлять):
Строка 108: Строка 108:
  
 
И теперь можно заходить от ранее созданного в FreeIPA пользователя.
 
И теперь можно заходить от ранее созданного в FreeIPA пользователя.
 +
 +
[root@spacewalk ~]# su admin -
 +
[admin@spacewalk root]$ cd ~
 +
[admin@spacewalk ~]$ pwd
 +
/home/admin
 +
 +
Всё ок
 +
 +
=== Сертификат для cockpit для клиентской машины, подписанный FreeIPA ===
 +
 +
Итак, на клиентской машине есть cockpit. И на попытку открыть, он ругается на некорректный сертификат. Логично, его просто нужно сделать. Итак...
 +
 +
Делаем закрытый ключик
 +
 +
openssl genrsa -out client.key 1024
 +
 +
Теперь делаем сертификат-запрос
 +
 +
openssl req -new -key client.key -out client.csr
 +
 +
Выводим содержимое в консоль
 +
 +
cat client.csr
 +
 +
В FreeIPA идем в
 +
 +
Identify - Службы - добавляем сервис http для клиентского узла.
 +
 +
Далее кликаем на
 +
 +
HTTP/имя узла
 +
 +
Там нажимаем Action (вверху слева) и добавляем содержимое client.csr
 +
 +
-----BEGIN CERTIFICATE REQUEST-----
 +
MIIByTCCATICAQAwgYgxCzAJBgNVBAYTAlJVMQ8wDQYDVQQIDAZNb3Njb3cxFDAS
 +
....
 +
gZqeQrYMa7+Nj9RmJnE6HYpTGob6LwnzVE8Mq2w=
 +
-----END CERTIFICATE REQUEST-----
 +
 +
Справа на этой же странице в Service Certificate появится уже подписанный "ответ". Нажимаем Action и Get. Сохраняем как client.cert
 +
 +
А теперь добавим закрытый ключик в этот же файл, так как cockpit хочет 1 файлик
 +
 +
cat client.key >> client.cert
 +
 +
И копируем его в cockpit
 +
 +
cp client.cert /etc/cockpit/ws-certs.d/
 +
 +
Далее перезапуск cockpit
 +
 +
systemctl restart cockpit
 +
 +
И в браузере "зелень". Если что-то не так, смотрим лог
 +
 +
journalctl -u cockpit -f
 +
 +
=== Как добавить сертификат на машину "не в системе" ===
 +
 +
Копируем файл и обновляем базу:
 +
scp server_freeipa:/etc/ipa/ca.crt /etc/pki/ca-trust/source/anchors/ipa.crt
 +
update-ca-trust
 +
 +
=== А можно ли использовать LDAP извне ===
 +
Конечно! Например, подключить адресную книгу в Thunderbird.
 +
 +
Создаём книгу:
 +
Файл - Создать - Книга LDAP
 +
На первой вкладке:
 +
* Название своё. В моём случае freeipa
 +
* Имя сервера freeipa.wa.loc
 +
* Корневой элемент cn=accounts,dc=wa,dc=loc
 +
* Порт 389
 +
Тут freeipa, wa и loc замените своими.
 +
 +
 +
[[Category: CentOS]][[Category: Enterprise]][[Category: Server]][[Category: Web]]

Текущая версия на 19:25, 17 ноября 2018

FreeIPA - система управления пользователями, доменом и имеет весьма удобную веб-консоль для управления. Мы, конечно, мегалюбители консоли, но иногда и в браузере можно поуправлять. :) Разумеется, так как разработчик - компания Red Hat, то и это ПО интереснее всего использовать на CentOS или RHEL.

Установка FreeIPA на CentOS 7

Как и обещал, немного о том, как поставить FreeIPA. Конечно, я рекомендую сначала поиграть на виртуалках, но если есть возможность пощупать это ПО на реальном железе - искренне завидую! (Я понимаю, что виртуалки, докер и т.д. - это стильно, модно, молодежно, но я немного за классику. :) )

Ставим нужные пакеты

   yum -y install ipa-server ipa-server-dns bind bind-dyndb-ldap

Не забываем корректно указать имя сервера в hosts

   vim /etc/hosts

и добавляем свои данные, например:

   10.0.0.10 ns.wikiadmin.local ns

Теперь инииализация

   ipa-server-install --setup-dns

Отвечаем корректно на вопросы мастера. На самом деле достаточно просто….

…. 2 минуты спустя….

Теперь нам надо получить тикет Kerberos

   kinit admin

Команда klist должна всё показать. Если нет - ищите ранее ошибки.

Так же неплохо выставить нормальный shell

   ipa config-mod --defaultshell=/bin/bash

Если Firewalld запущен и используется:

   firewall-cmd --add-service={ssh,dns,freeipa-ldap,freeipa-ldaps} --permanent
   firewall-cmd --reload

Работа с ipa

Попробуем добавить пользователя:

   ipa user-add USERNAME --first=NAME --last=LASTNAME --password

запросит пароль и готово.

Ещё вариант:

   ipa user-find USERNAME

покажет инфу по пользователю USERNAME

Ну и удаление:

   ipa user-del USERNAME

Как добавить почту админу:

   ipa user-mod --email aleksdem@aleksdem.com --addattr objectclass=inetorgperson admin

Смотрим статус:

   klist
   ipactl status

Как сделать sudo для группы admin

   ipa sudorule-add --cmdcat=all All
   ipa sudorule-add-user --groups=admins All

Как настроить dnssec:

   ipa-dns-install --dnssec-master

add dnssec to domain

   ipa dnszone-mod dpld.ru. --dnssec=true

check it

   dig @127.0.0.1 +dnssec dpld.ru. SOA

А как же клиентские компьютеры?

Теперь добавим компьютер пользователя. Для начала на сервере даём команду (если не через веб-интерфейс добавлять):

   ipa dnsrecord-add wikiadmin.local pc01 --a-rec 10.0.0.100

это добавит pc01 в наш домен wikiadmin.local.

Теперь на клиенте:

   yum -y install ipa-client
   ipa-client-install

Разумеется, ns.wikiadmin.local должен стоять как DNS-сервер.

Так же стоит включить автосоздание home-папки пользователя, который зайдет.

   authconfig --enablemkhomedir --update

И теперь можно заходить от ранее созданного в FreeIPA пользователя.

[root@spacewalk ~]# su admin -
[admin@spacewalk root]$ cd ~
[admin@spacewalk ~]$ pwd
/home/admin

Всё ок

Сертификат для cockpit для клиентской машины, подписанный FreeIPA

Итак, на клиентской машине есть cockpit. И на попытку открыть, он ругается на некорректный сертификат. Логично, его просто нужно сделать. Итак...

Делаем закрытый ключик

openssl genrsa -out client.key 1024

Теперь делаем сертификат-запрос

openssl req -new -key client.key -out client.csr

Выводим содержимое в консоль

cat client.csr 

В FreeIPA идем в

Identify - Службы - добавляем сервис http для клиентского узла.

Далее кликаем на

HTTP/имя узла

Там нажимаем Action (вверху слева) и добавляем содержимое client.csr

-----BEGIN CERTIFICATE REQUEST-----
MIIByTCCATICAQAwgYgxCzAJBgNVBAYTAlJVMQ8wDQYDVQQIDAZNb3Njb3cxFDAS
....
gZqeQrYMa7+Nj9RmJnE6HYpTGob6LwnzVE8Mq2w=
-----END CERTIFICATE REQUEST-----

Справа на этой же странице в Service Certificate появится уже подписанный "ответ". Нажимаем Action и Get. Сохраняем как client.cert

А теперь добавим закрытый ключик в этот же файл, так как cockpit хочет 1 файлик

cat client.key >> client.cert

И копируем его в cockpit

cp client.cert /etc/cockpit/ws-certs.d/

Далее перезапуск cockpit

systemctl restart cockpit

И в браузере "зелень". Если что-то не так, смотрим лог

journalctl -u cockpit -f

Как добавить сертификат на машину "не в системе"

Копируем файл и обновляем базу:

scp server_freeipa:/etc/ipa/ca.crt /etc/pki/ca-trust/source/anchors/ipa.crt
update-ca-trust

А можно ли использовать LDAP извне

Конечно! Например, подключить адресную книгу в Thunderbird.

Создаём книгу:

Файл - Создать - Книга LDAP

На первой вкладке:

  • Название своё. В моём случае freeipa
  • Имя сервера freeipa.wa.loc
  • Корневой элемент cn=accounts,dc=wa,dc=loc
  • Порт 389

Тут freeipa, wa и loc замените своими.