Установка freeipa на centos 7

Установка freeipa на centos 7

В инструкции разберем пример установки сервера FreeIPA (аналог Microsoft Active Directory, Samba DC) на Linux CentOS. В качестве клиентов будем использовать дистрибутивы на базе RPM (Red Hat, CentOS, . ) и deb (Debian, Ubuntu, . ).

Подготовка сервера

Для подготовки сервера безопасности с доступом к данным по LDAP необходим сервер с правильно настроенным временем. Также необходимо правильно настроить межсетевой экран и систему безопасности SELinux.

Время

Установим часовой пояс:

cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime

* в данном примере используется московское время.

Затем устанавливаем и запускаем утилиту для синхронизации времени chrony.

yum install chrony

systemctl enable chronyd

systemctl start chronyd

Имя сервера

Для корректной работы сервера, необходимо, задать ему полное доменное имя (FQDN). Выполняем команду:

hostnamectl set-hostname ipa-server.dmosk.local

* где ipa-server.dmosk.local — имя сервера, которое будет использоваться.

Брандмауэр

Необходимо открыть несколько портов, которые используются службами FreeIPA:

firewall-cmd —permanent —add-port=53/ —add-port=80/tcp —add-port=88/ —add-port=123/udp —add-port=389/tcp —add-port=443/tcp —add-port=464/ —add-port=636/tcp

Установка и запуск FreeIPA

Установка выполняется из репозитория командой:

yum install ipa-server ipa-server-dns

После выполняем конфигурирование сервиса:

На первый вопрос, хотим ли мы использовать и сконфигурировать DNS-сервер BIND отвечаем утвердительно:

Do you want to configure integrated DNS (BIND)? [no]: yes

На остальные запросы можно ответить по умолчанию, нажав Enter и оставив подставленные значения. Если возникнут ошибки, решение посмотрите ниже в данной инструкции.

Когда система запросит пароль для Directory Manager, необходимо придумать и ввести его дважды:

Directory Manager password:
Password (confirm):

. будет создана учетная запись для подключения к LDAP.

Затем также нужно придумать и задать пароль для IPA admin:

IPA admin password:
Password (confirm):

. будет создана учетная запись IPA Administrator для первого пользователя FreeIPA с правами администратора.

Для настройки DNS на первый запрос, хотим ли мы настроить перенаправления, отвечаем да:

Do you want to configure DNS forwarders? [yes]:

Система предложит сначала использовать DNS-серверы из настроек сети (если они прописаны) — если нас это устроит, оставляем значение по умолчанию:

Do you want to configure these servers as DNS forwarders? [yes]:

. также можно добавить дополнительные серверы:

Enter an IP address for a DNS forwarder, or press Enter to skip: 8.8.8.8

Также оставляем значение по умолчанию для попытки найти обратные зоны:

Do you want to search for missing reverse zones? [yes]

После система выведет информацию о конфигурации и попросит ее подтвердить — вводим yes:

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

Начнется процесс конфигурации. После его завершения мы увидим подсказку со следующими шагами:

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
UDP Ports:
* 88, 464: kerberos
* 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.

. и так как порты мы уже настраивали, переходим ко второму шагу — проверим, что система может выдать билет:

. после вводим пароль администратора, который указывали при конфигурировании FreeIPA.

Проверяем, что билет получен:

Ответ должен быть, примерно, следующим:

Ticket cache: KEYRING:persistent:0:0
Default principal: admin@DMOSK.LOCAL

Valid starting Expires Service principal
23.07.2019 08:53:02 24.07.2019 08:52:55 krbtgt/DMOSK.LOCAL@DMOSK.LOCAL

* где DMOSK.LOCAL — домен в моей системе. В данном примере мы получили билет для пользователя admin.

Настройка и подключение клиента

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

systemctl restart network || systemctl restart networking

а) на компьютеры с Red Hat / CentOS:

yum install freeipa-client

б) на компьютеры с Debian / Ubuntu:

apt-get install freeipa-client

Выполним конфигурирование клиента:

. система на основе данных из DNS попробует определить настройки и отобразить их в консоли, например:

Discovery was successful!
Client hostname: freeipa-client.dmosk.local
Realm: DMOSK.LOCAL
DNS Domain: DMOSK.LOCAL
IPA Server: ipa-server.dmosk.local
BaseDN: dc=dmosk,dc=local

Если эти настройки верны, отвечаем положительно на запрос Continue to configure the system with these values?

Читайте также:  Свистит двигатель стиральной машины

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

Система спросит, от какого пользователя производить настройку — вводим admin:

User authorized to enroll computers: admin

Password for admin@DMOSK.LOCAL:

Начнется процесс конфигурации — после его завершения:

.
Configured /etc/openldap/ldap.conf
NTP enabled
Configured /etc/ssh/ssh_config
Configured /etc/ssh/sshd_config
Configuring DMOSK.LOCAL as NIS domain.
Client configuration complete.

. сразу проверим, что клиент может получать билет от сервера:

. и вводим пароль от пользователя admin.

Проверяем, что билет получен:

Ответ должен быть, примерно, следующим:

Ticket cache: KEYRING:persistent:0:0
Default principal: admin@DMOSK.LOCAL

Valid starting Expires Service principal
25.07.2019 23:39:56 26.07.2019 23:39:52 krbtgt/DMOSK.LOCAL@DMOSK.LOCAL

Создание пользователей

Создадим пользователя. Для этого рассмотрим пример использования командной строки и веб-интерфейса.

Командная строка

Авторизуемся на FreeIPA:

Создаем нового пользователя командой:

ipa user-add dmosk —first=Дмитрий —last=Моск —password

* где dmosk — логин; first — имя пользователя; last — фамилия; password — ключ для запроса пароля.

. после ввода команды система запросит пароль для создаваемого пользователя — вводим его дважды.

Мы должны увидеть сводку по параметрам для созданного пользователя:

Добавлен пользователь «dmosk»
——————————
Логин пользователя: dmosk
Имя: Дмитрий
Фамилия: Моск
Полное имя: Дмитрий Моск
Отображаемое имя: Дмитрий Моск
Инициалы: ДМ
Домашний каталог: /home/dmosk
GECOS: Дмитрий Моск
Оболочка входа: /bin/sh
Principal name: dmosk@DMOSK.LOCAL
Principal alias: dmosk@DMOSK.LOCAL
User password expiration: 20190725205853Z
Электронный адрес: dmosk@dmosk.local
UID: 1798800001
ID группы: 1798800001
Пароль: True
Member of groups: ipausers
Kerberos ключей доступно: True

Веб-интерфейс

Открываем браузер и переходим по адресу имени сервера — в нашем примере, https://ipa-server.dmosk.local. Закрываем всплывающее окно с запросом пароля. В появившейся странице авторизации вводим логин admin и его пароль.

Откроется страница управления пользователями:

На панели справа (над списком пользователей) кликаем по Добавить:

В открывшемся окне заполняем поля для создания пользователя и нажимаем по Добавить:

Проверка

На компьютере с клиентом вводим команду для проверки:

. и вводим пароль от созданной учетной записи:

Password for dmosk@DMOSK.LOCAL:

При вервом входе система попросит поменять пароль на новый:

Password expired. You must change it now.
Enter new password:
Enter it again:

SSH аутентификация через FreeIPA

По умолчанию, клиент конфигурируется на возможность входа по SSH с использованием пользователей из FreeIPA. Внесем некоторые изменения для удобства.

Открываем конфигурационный файл для pam:

Добавим в конец одну строку:

.
session required pam_mkhomedir.so skel=/etc/skel umask=0022

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

Возможные ошибки

Разберем некоторые ошибки, которые могут возникнут в процессе установки FreeIPA.

1. ipapython.admintool: ERROR IPv6 stack is enabled in the kernel but there is no interface that has ::1 address assigned. Add ::1 address resolution to ‘lo’ interface. You might need to enable IPv6 on the interface ‘lo’ in sysctl.conf.

Ошибка появляется при попытке запустить команду ipa-server-install.

Причина: если в системе отключен IPv6 с помощью параметра в ядре net.ipv6.conf.all.disable_ipv6 или net.ipv6.conf.default.disable_ipv6, то команда выдаст ошибку, так как для локальной петли нам нужен IPv6.

Решение: открываем конфигурационный файл sysctl:

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

Содержание

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Твои ноутбуки подбор ноутбука под ваши требования

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

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

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

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

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

add dnssec to domain

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

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

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

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

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

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

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

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

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

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

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

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

В FreeIPA идем в

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

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

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

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

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

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

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

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

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

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

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

  • Главная
  • Блог
  • Администрирование
  • Настройка FreeIPA на сервере Ubuntu 16.04

Настройка FreeIPA на сервере Ubuntu 16.04

Мы покажем вам как настроить сервис FreeIPA на сервере Ubuntu 16.04

Что такое FreeIPA? Это специальное открытое средство, способное обеспечить безопасность операционной системы Linux. FreeIPA дает возможность проводить централизованную проверку подлинности наподобие Active Directory в Microsoft. Кроме того, средство предоставляет управление учетными записями. В основу FreeIPA легло несколько открытых проектов, вроде MIT Kerberos, 389 Directory Server и SSSD. Разработчики FreeIPA сделали клиенты для всех популярных ОС: Ubuntu 14.04/16.04, CentOS 7, Fedora. Они дают возможность добавлять в домен IPA виртуальные машины. Остальные операционные системы смогут с помощью SSSD либо LDAP аутентифицироваться в IPA.

Из нашей статьи вы узнаете, как настроить аутентификацию сервера в операционной системе Ubuntu 16.04, используя сервер IPA. Когда настроите клиент, получите возможность управления аутентификацией юзеров, групп на сервере, а также доступом к sudo.

Что нам потребуется для этого?

• Сервер Ubuntu 16.04 и настроенный брандмауэр;

• Сервер CentOS 7, а также предустановленные пакетое FreeIPA;

• DNS-записи на сервере Ubuntu: А-запись для адреса IPv4, а также опциональная AAAA-запись для IPv6;

• Сессия root в которой и будут выполняться инструкции.

Для иллюстративности примера мы будем применять адрес ipa-client.example.com для IPA-клиента Ubuntu а также ipa.example.com для сервера CentOS.

1) Как подготовить клиент IPA?

Для начала нам нужно подготовить к запуску клиента IPA сервер Ubuntu. То есть задать имя серверного хоста, проверить записи DNS, а также обновить пакеты системы. Помните, что имя серверного хоста в Ubuntu должно быть таким же, как и у FQDN-клиента FreeIPA. Имя хоста задается при создании нового виртуального сервера. Если же он у вас есть, наберите команду hostname в консоли:

Имя можно также заменить вручную внутри файла: /etc/hostname:

Там должна быть только одна строчка:

Ее стоит заменить на клиентский FQDN с помощью:

Теперь сохраним изменения и закроем файл. После это следует приступить к обновлению индекса пакетов с помощью:

Проверим правильность разрешения имен DNS посредством команды dig. Для проверки правильности записи А наберите в консоли:

Если ранее была включена поддержка IPv6, то нужно проверить и запись АААА:

Обратный просмотр мы также сможем проверить:

Обе команды нам должны вернуть наш адрес ipa-client.example.com.

2) Как поставить клиент FreeIPA?

В репозитории Ubuntu 16.04 по умолчанию присутствует клиентский пакет FreeIPA. Поставить его получится посредством:

Данная строчка активирует инсталлятор который может запросить сервер Kerberos. На экране появится: Configuring Kerberos Authentication. Настройки будут переопределены инсталлятором FreeIPA, однако их лучше писать без ошибок. При создании сервера настраивается пространство Kerberos типа ipa.example.com. по сути, сервера Kerberos и являются серверами IPA. После предоставления этих сведений, пакет ipa-client поставится. Теперь необходимо запустить команду инсталляции FreeIPA, которая активирует сценарий, помогающий настроить средство, а также совершить аутентификацию на FreeIPA сервере CentOS. Наберите в командной строке:

Читайте также:  Очень долго устанавливается обновление windows 10

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

После этого укажите домен сервера IPA. Данный адрес применяется для доступа к веб-интерфейсу. С большой долей вероятности он будет таким же, как и домен IPA.

Имейте ввиду, что системы с избыточными серверами IPA могут применять иное имя сервера и домен. Если используется один сервер, то обработка отказа может и не заработать. Вы получите предупреждение от FreeIPA. Чтобы продолжить, введите yes.

Проверьте, чтобы все опции были верно заданы. После этого можно ответить утвердительно на вопрос:

Теперь нам нужно будет указать имя администратора. Вы можете пользоваться учеткой по умолчанию, созданной при инсталляции сервера.

Укажем пароль администратора сервиса IPA, заданный при настройке сервера FreeIPA. Клиент FreeIPA начнет подготовку системы. На экране появится сообщение, если инсталляция завершена успешно:

3) Как сделать аутентификацию?

Зайдем в веб-интерфейс IPA с помощью:

Войдем в ранее использовавшуюся учетку IPA. На дисплее высветится экран Active Users. теперь нужно открыть вкладку Hosts. На экране появится информация о клиенте и сервере IPA. Чтобы увидеть информацию о хосте, кликните по записи клиента IPA. На экране появятся данные о машине клиента. Вы также сможете управлять ролями и группами компьютера. Помните, что по умолчанию, все пользователи IPA в домене IPA могут коннектиться ко всем машинам.

Попробуем войти в систему с локального терминала как пользователь IPA. Наберите в консоли:

Если подключение можно создать, то все прошло нормально. Можете спокойно его удалять.

4) Как получить доступ к sudo?

Чтобы это сделать, не придется менять клиентские конфигурационные файлы. В пользовательском интерфейсе IPA вы сможете настроить доступ sudo. Сервис FreeIPA дает возможность определить, какие группы или пользователи могут иметь доступ к sudo. Получится также разграничить доступы к командам.

Зададим простое правило, с помощью которого группа admin будет иметь доступ к sudo на всех компьютерах. В FreeIPA по умолчанию существует группа admin. Откроем интерфейс IPA, чтобы зайти в Services → sudo. После этого вы увидите выпадающее меню. Нужно будет выбрать Sudo Rules, нажать Add, после чего ввести в поле Rule Name название правила. Имейте ввиду, что по умолчанию применяется Admin. После этого нужно кликнуть по Add and edit, чтобы увидеть все доступные опции правила.

В разделе User groups и Who нужно будет кликнуть по +add, а потом выбрать группу Admin, после чего нажать кнопку со стрелкой. Это необходимо для перемещения в Prospective в Availiable. Для добавления группы нажимаем Add.

Обратите внимание на раздел Access this host, в котором нужно будет выбрать Any host. Кроме того, нужно будет указать Any Command в графе Run Commands. Еще нам придется задать опцию Anyone and Any Group в As Whom, чтобы получить возможность ограничивать доступ к sudo, а также список команд, запускающийся посредством sudo. Теперь можно сохранить настройки кликнув по Save.

Правило вступит в силу через некоторое время. Имейте ввиду, что также может потребоваться перезапуск на IPA-клиенте сервиса sshd. Для этого наберите в командной строке:

Нам нужно будет убедиться, что заданное правило функционирует так, как нужно. Для этого придется подключиться с помощью администратора IPA к клиенту на локальной машине. Данный пользователь в группу admin включен по умолчанию. Нам потребуется набрать:

Запустим интерактивную командную строку sudo:

Мы увидим, что командная строка поменялась:

Для возврата в традиционную командную строку, нужно набрать:

Перезапустите машину, если доступ к sudo получить не удалось. Теперь вы знаете, как настраивать доступ пользователей и групп к системе посредством командной строки IPA либо веб-интерфейса. FreeIPA является отличным универсальным инструментом для проверки подлинности, который имеет расширенный функционал.

Ссылка на основную публикацию
Удаление последнего элемента списка
Введение. Основные операции О дносвязный список – структура данных, в которой каждый элемент (узел) хранит информацию, а также ссылку на...
Телефон самсунг с хорошей камерой недорогой
Если вы ищете лучший телефон Samsung, тогда рейтинг поможет разобраться в их различиях. Посмотрите какой смартфон лучшие купить из всех...
Телефон перестал заряжаться быстрой зарядкой
Наверняка многие сталкивались с тем, что смартфон ни с того ни с сего перестаёт заряжаться. Другая распространённая беда — слишком...
Удаление дубликатов фотографий на русском бесплатно
Здравствуйте Уважаемый Друг. У каждого из нас на компьютере хранится большое количество различных фотографий изображений и тому подобных картинок. Парой...
Adblock detector