Вход
Русский
USD
Цены в иностранной валюте приведены информационно

Настройка 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 в консоли:

hostname ipa-client.example.com

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

nano /etc/hostname

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

your_original_hostname

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

ipa-client.example.com

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

apt-get update

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

dig +short ipa-client.example.com A
your_server_ipv4

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

dig +short ipa-client.example.com AAAA
your_server_ipv6

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

dig +short -x your_server_ipv4
dig +short -x your_server_ipv6

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

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

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

apt-get install freeipa-client

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

ipa-client-install –mkhomedir

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

Provide the domain name of your IPA server (ex: example.com): ipa.example.com

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

Provide your IPA server name (ex: ipa.example.com): ipa.example.com

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

Autodiscovery of servers for failover cannot work with this configuration.
If you proceed with the installation, services will be configured to always access the discovered server for all operations and will not fail over to other servers in case of failure.
Proceed with fixed values and no DNS discovery? [no]: yes

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

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

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

User authorized to enroll computers: admin

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

Client configuration complete.

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

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

https://ipa.example.com

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

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

ssh admin@ipa-client.example.com

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

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. Для этого наберите в командной строке:

systemctl restart sshd.service

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

ssh admin@ipa-client.example.com

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

sudo -i

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

root@ipa-client

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

exit

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

Опубликовано: Июль 3, 2017