FreeIPA je open source integrované řešení identity a ověřování pro systémy založené na Linuxu a Unixu. Poskytuje centralizované ověřování ukládáním dat o uživateli, skupinách, hostitelích a dalších objektech. Poskytuje integrovanou službu správy identit pro Linux, Mac a Windows. FreeIPA je založena na 389 Directory Server, Kerberos, SSSD, Dogtag, NTP a DNS. Poskytuje webové rozhraní pro správu uživatelů a klientů Linuxu ve vaší sféře z centrálního umístění.
V tomto tutoriálu vám ukážeme, jak nainstalovat server FreeIPA na CentOS 8.
Předpoklady
- Server se systémem CentOS 8.
- Na serveru je nakonfigurováno heslo uživatele root.
Nastavit název hostitele
Nejprve budete muset ve svém systému nastavit plně kvalifikovaný název hostitele. Můžete jej nastavit pomocí následujícího příkazu:
hostnamectl set-hostname freeipa.mydomain10.com
Dále upravte soubor /etc/hosts a přidejte IP svého serveru a název hostitele:
nano /etc/hosts
Přidejte následující řádky:
45.58.43.185 freeipa.mydomain10.com
Po dokončení uložte a zavřete soubor.
Instalovat FreeIPA Server
Ve výchozím nastavení není balíček FreeIPA dostupný ve standardním úložišti CentOS. Takže budete muset povolit idm:DL1 repo ve vašem systému.
Můžete jej povolit pomocí následujícího příkazu:
dnf module enable idm:DL1
Dále synchronizujte úložiště pomocí následujícího příkazu:
dnf distro-sync
Dále spusťte následující příkaz pro instalaci serveru FreeIPA do vašeho systému.
dnf install ipa-server ipa-server-dns -y
Po dokončení instalace můžete přejít k dalšímu kroku.
Nastavení serveru FreeIPA
Dále budete muset nastavit server FreeIPA. Můžete jej nastavit pomocí následujícího příkazu:
ipa-server-install
Budete požádáni o konfiguraci integrovaného DNS, jak je uvedeno níže:
The log file for this installation can be found in /var/log/ipaserver-install.log ipa-server-install The log file for this installation can be found in /var/log/ipaserver-install.log ============================================================================== This program will set up the IPA Server. Version 4.8.4 This includes: * Configure a stand-alone CA (dogtag) for certificate management * Configure the NTP client (chronyd) * Create and configure an instance of Directory Server * Create and configure a Kerberos Key Distribution Center (KDC) * Configure Apache (httpd) * Configure the KDC to enable PKINIT To accept the default shown in brackets, press the Enter key. Do you want to configure integrated DNS (BIND)? [no]:
Stisknutím klávesy Enter vyberte ne. Budete požádáni o zadání názvu hostitele vašeho serveru:
Enter the fully qualified domain name of the computer on which you're setting up server software. Using the form. Example: master.example.com. Server host name [freeipa.mydomain10.com]:
Stisknutím klávesy Enter vyberte výchozí název hostitele. Budete požádáni o potvrzení názvu vaší domény, jak je uvedeno níže:
The domain name has been determined based on the host name. Please confirm the domain name [mydomain10.com]:
Stisknutím klávesy Enter vyberte výchozí název domény. Budete požádáni o nastavení hesla správce adresáře, jak je uvedeno níže:
The kerberos protocol requires a Realm name to be defined. This is typically the domain name converted to uppercase. Please provide a realm name [MYDOMAIN10.COM]: Certain directory server operations require an administrative user. This user is referred to as the Directory Manager and has full access to the Directory for system management tasks and will be added to the instance of directory server created for IPA. The password must be at least 8 characters long. Directory Manager password: Password (confirm):
Zadejte požadované heslo a stiskněte Enter. Budete požádáni o nastavení hesla správce IPA, jak je uvedeno níže:
The IPA server requires an administrative user, named 'admin'. This user is a regular system account used for IPA server administration. IPA admin password: Password (confirm):
Zadejte požadované heslo a stiskněte Enter. Budete požádáni o konfiguraci serveru NTP, jak je uvedeno níže:
Do you want to configure chrony with NTP server or pool address? [no]:
Stisknutím klávesy Enter vyberte výchozí možnost. Měli byste získat následující výstup:
The IPA Master Server will be configured with: Hostname: freeipa.mydomain10.com IP address(es): 45.58.43.185 Domain name: mydomain10.com Realm name: MYDOMAIN10.COM The CA will be configured with: Subject DN: CN=Certificate Authority,O=MYDOMAIN10.COM Subject base: O=MYDOMAIN10.COM Chaining: self-signed Continue to configure the system with these values? [no]: yes
Napište ano a stiskněte Enter pro konfiguraci systému s výše uvedenými hodnotami. Po dokončení nastavení byste měli získat následující výstup:
SSSD enabled Configured /etc/openldap/ldap.conf Configured /etc/ssh/ssh_config Configured /etc/ssh/sshd_config Configuring mydomain10.com as NIS domain. Client configuration complete. The ipa-client-install command was successful unable to resolve host name freeipa.mydomain10.com. to IP address, ipa-ca DNS record will be incomplete unable to resolve host name freeipa.mydomain10.com. to IP address, ipa-ca DNS record will be incomplete Please add records in this file to your DNS system: /tmp/ipa.system.records._u0fzahd.db ============================================================================== Setup complete 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. Be sure to back up the CA certificates stored in /root/cacert.p12 These files are required to create replicas. The password for these files is the Directory Manager password The ipa-server-install command was successful
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Konfigurace brány firewall a SELinux
Pokud je ve vašem systému nainstalován firewalld, budete muset povolit některé porty používané FreeIPA. Můžete je povolit pomocí následujícího příkazu:
firewall-cmd --add-service={http,https,dns,ntp,freeipa-ldap,freeipa-ldaps} --permanent
Poté znovu načtěte bránu firewall pomocí následujícího příkazu, abyste použili změny:
firewall-cmd --reload
Dále budete také muset ve svém systému deaktivovat SELinux.
SELinux můžete deaktivovat úpravou souboru /etc/selinux/config:
nano /etc/selinux/config
Najděte následující řádek:
SELINUX=enforcing
A nahraďte jej následujícím řádkem:
SELINUX=permissive
Uložte a zavřete soubor. Poté restartujte systém, aby se změny projevily:
Přístup k webovému uživatelskému rozhraní FreeIPA
Nyní otevřete webový prohlížeč a přejděte na webové rozhraní FreeIPA pomocí adresy URL https://freeipa.mydomain10.com. Budete přesměrováni na přihlašovací stránku FreeIPA, jak je uvedeno níže:
Zadejte své administrátorské uživatelské jméno, heslo a klikněte na Přihlásit v knoflík. Na následující stránce byste měli vidět řídicí panel FreeIPA:
Práce s FreeIPA CLI
FreeIPA také poskytuje nástroj příkazového řádku pro přidání nového uživatele, skupiny, principál služby a udělení přístupu pro zápis k určitým atributům z jedné skupiny do druhé.
Před použitím nástroje CLI budete muset získat lístek Kerberos pomocí následujícího příkazu:
kinit admin
Budete požádáni o zadání hesla, jak je uvedeno níže:
Password for [email protected]:
Zadejte své heslo správce a stiskněte Enter, abyste získali lístek Kerberos.
Dále spusťte následující příkaz pro kontrolu vypršení platnosti lístku:
klist
Měli byste získat následující výstup:
Ticket cache: KCM:0 Default principal: [email protected] Valid starting Expires Service principal 2020-09-28T03:36:54 2020-09-29T03:36:50 krbtgt/[email protected]
Dále přidejte nový uživatelský účet pomocí následujícího příkazu:
ipa user-add user1 --first=hit --last=jethva [email protected] --password
Měli byste získat následující výstup:
Password: Enter Password again to verify: ------------------ Added user "user1" ------------------ User login: user1 First name: hit Last name: jethva Full name: hit jethva Display name: hit jethva Initials: hj Home directory: /home/user1 GECOS: hit jethva Login shell: /bin/sh Principal name: [email protected] Principal alias: [email protected] User password expiration: 20200928073905Z Email address: [email protected] UID: 384600001 GID: 384600001 Password: True Member of groups: ipausers Kerberos keys available: True
Můžete také zobrazit seznam všech uživatelských účtů ve vašem systému pomocí následujícího příkazu:
ipa user-find
Měli byste vidět následující výstup:
--------------- 2 users matched --------------- User login: admin Last name: Administrator Home directory: /home/admin Login shell: /bin/bash Principal alias: [email protected] UID: 384600000 GID: 384600000 Account disabled: False User login: user1 First name: hit Last name: jethva Home directory: /home/user1 Login shell: /bin/sh Principal name: [email protected] Principal alias: [email protected] Email address: [email protected] UID: 384600001 GID: 384600001 Account disabled: False ---------------------------- Number of entries returned 2
Závěr
Gratulujeme! úspěšně jste nainstalovali a nakonfigurovali server FreeIPA na CentOS 8. Nyní můžete nainstalovat klienta FreeIPA a přidat jej na server FreeIPA pro centralizaci ověřování. Pokud máte nějaké dotazy, neváhejte se mě zeptat.