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

Материал из Викиадмин
Перейти к навигации Перейти к поиску
(Сертификат для cockpit для клиентской машины, подписанный FreeIPA)
Строка 122: Строка 122:
 
Делаем закрытый ключик
 
Делаем закрытый ключик
  
  openssl genrsa -out server.key 1024
+
  openssl genrsa -out client.key 1024
  
 
Теперь делаем сертификат-запрос
 
Теперь делаем сертификат-запрос
  
  openssl req -new -key server.key -out server.csr
+
  openssl req -new -key client.key -out client.csr
  
 
Выводим содержимое в консоль
 
Выводим содержимое в консоль
  
  cat server.csr  
+
  cat client.csr  
  
 
В FreeIPA идем в  
 
В FreeIPA идем в  
Строка 140: Строка 140:
 
  HTTP/имя узла
 
  HTTP/имя узла
  
Там нажимаем Action (вверху слева) и добавляем содержимое server.csr  
+
Там нажимаем Action (вверху слева) и добавляем содержимое client.csr  
  
 
  -----BEGIN CERTIFICATE REQUEST-----
 
  -----BEGIN CERTIFICATE REQUEST-----
Строка 148: Строка 148:
 
  -----END CERTIFICATE REQUEST-----
 
  -----END CERTIFICATE REQUEST-----
  
Справа на этой же странице в Service Certificate появится уже подписанный "ответ". Нажимаем Action и Get. Сохраняем как server.cert
+
Справа на этой же странице в Service Certificate появится уже подписанный "ответ". Нажимаем Action и Get. Сохраняем как client.cert
  
 
А теперь добавим закрытый ключик в этот же файл, так как cockpit хочет 1 файлик
 
А теперь добавим закрытый ключик в этот же файл, так как cockpit хочет 1 файлик
  
  cat server.key >> server.cert
+
  cat client.key >> client.cert
  
 
И копируем его в cockpit
 
И копируем его в cockpit
  
  cp server.cert /etc/cockpit/ws-certs.d/
+
  cp client.cert /etc/cockpit/ws-certs.d/
  
 
Далее перезапуск cockpit
 
Далее перезапуск cockpit

Версия 20:38, 15 ноября 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