FreeIPA je centralizovaný systém pro ověřování, autorizaci a informace o účtu. FreeIPA je zkratka pro Free Identity, Policy, Audit a je to open-source řešení správy identit založené na adresáři LDAP a Kerberos s volitelnými komponentami, jako je DNS server, certifikační autorita a další. Může spravovat doménu s uživateli, počítači, zásadami a vztahy důvěryhodnosti. Je podobný Microsoft Active Directory.
FreeIPA může také nastavit důvěryhodnost doménových struktur s existujícími doménovými strukturami Active Directory a dokonce žít v zóně DNS pod zónou spravovanou službou Active Directory, pokud se nepřekrývají. Skládá se z webového rozhraní a nástrojů pro správu příkazového řádku.
Zkontrolujte také:
- Jak nainstalovat Puppet 7 Server na Rocky Linux/Centos 8
- Jak spravovat uživatele a skupiny na serveru FreeIPA
- Jak nainstalovat klienta FreeIPA na Fedora 35
- Jak nakonfigurovat replikaci FreeIPA na Rocky Linux/Alma Linux/Centos 8
- Jak nainstalovat a nakonfigurovat FreeIPA na Rocky Linux/Centos
- Jak nainstalovat a nakonfigurovat klienta FreeIPA na Ubuntu 20.04
Předpoklady
Chcete-li dobře následovat, ujistěte se, že máte:
- Server založený na RHEL 8, jako je Rocky Linux
- Server by měl mít alespoň 1 GB RAM, 2 GB pro optimální výkon
- Server by měl mít alespoň 10 GB místa na disku
- Přístup uživatele root nebo uživatel s přístupem sudo
- Nastavte plně kvalifikovaný název domény jako název hostitele. Použijeme subdoménu
ipa.citizix.com
v našem případě
Obsah
- Aktualizujte systém, nastavte název hostitele a časové pásmo
- Instalace serveru FreeIPA
- Spuštění instalačního programu serveru FreeIPA
- Nakonfigurujte Linux Firewalld
- Přístup k webovému rozhraní FreeIPA Gui
- Použití rozhraní FreeIPA CLI k provádění základních operací
1. Aktualizujte systém, nastavte název hostitele a časové pásmo
Pomocí tohoto příkazu zajistíte, že naše systémové balíčky jsou aktuální:
sudo dnf -y update
Musíme nastavit FQDN (Plně kvalifikovaný název domény), který chceme použít k odkazování na náš server. Musíme nastavit subdoménu (ipa.citizix.com
) DNS k překladu na náš server. pokud nemáte server DNS, musíme ručně přidat položky do hostitelského souboru našeho serveru, abychom zjistili systémovou IP adresu pro náš plně kvalifikovaný název hostitele.
Nastavit název hostitele:
sudo hostnamectl set-hostname ipa.citizix.com
Nahraďte ipa.citizix.com s tou, kterou chcete nastavit pro název hostitele vašeho serveru.
Potvrďte název hostitele:
$ hostnamectl
Static hostname: ipa.citizix.com
Icon name: computer-vm
Chassis: vm
Machine ID: ee3563997878469ebfcc3f721aec3c66
Boot ID: 029a7962df24475091296d32b222f166
Virtualization: kvm
Operating System: Rocky Linux 8.4 (Green Obsidian)
CPE OS Name: cpe:/o:rocky:rocky:8.4:GA
Kernel: Linux 4.18.0-305.3.1.el8_4.x86_64
Architecture: x86-64
$ hostname
ipa.citizix.com
Doména použitá pro název hostitele musí vyřešit adresu IP, aby se dostala na server. Dále nasměrujte IP adresu svého serveru na název hostitele, tj. plně kvalifikovaný název domény, v souboru Host.
echo "10.2.40.149 ipa.citizix.com ipa" | sudo tee -a /etc/hosts
Nahradit 10.2.40.149 s IP adresou vašeho serveru a ipa.citizix.com s vaším názvem hostitele FQDN.
Až budete hotovi, potvrďte, že systém dokáže ping na hostitele vyřešit to samé.
ping -c 2 ipa.citizix.com
Výstup na mém počítači
# ping -c 2 ipa.citizix.com
PING ipa.citizix.com (10.2.40.149) 56(84) bytes of data.
64 bytes from ipa.citizix.com (10.2.40.149): icmp_seq=1 ttl=64 time=0.033 ms
64 bytes from ipa.citizix.com (10.2.40.149): icmp_seq=2 ttl=64 time=0.029 ms
--- ipa.citizix.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1039ms
rtt min/avg/max/mdev = 0.029/0.031/0.033/0.002 ms
Nakonec nám dovolte nastavit časové pásmo tak, aby odpovídalo regionu, ve kterém se nacházíte. Pro mě jsem v Africa/Nairobi
timezone, použiji tento příkaz:
sudo timedatectl set-timezone Africa/Nairobi
Potvrďte, že byl nakonfigurován podle očekávání:
$ timedatectl
Local time: Tue 2021-11-09 07:58:09 EAT
Universal time: Tue 2021-11-09 04:58:09 UTC
RTC time: Tue 2021-11-09 04:58:08
Time zone: Africa/Nairobi (EAT, +0300)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
2. Instalace serveru FreeIPA
Není potřeba žádné další úložiště RPM, všechny balíčky a závislosti jsou dostupné ve výchozích repozitářích OS.
V systémech založených na EL8 jsou balíčky potřebné pro instalaci serveru FreeIPA dodávány v modulovém streamu zvaném DL1 stream . Před instalací balíčků ze streamu budete muset stream povolit.
Následující příkaz můžete použít k zobrazení seznamu modulů, které obsahují balíčky IdM.
$ sudo yum module list idm Rocky Linux 8 - AppStream Name Stream Profiles Summary idm DL1 adtrust, client, common [d], dn The Red Hat Enterprise Linux Identity Management syst s, server em module idm client [d] common [d] RHEL IdM long term support client module Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Více o Streamu můžete zkontrolovat pomocí příkazu:
sudo dnf module info idm:DL1
Nyní povolte idm:DL1 stream:
sudo dnf module enable idm:DL1
Výstup na mém systému
$ sudo dnf module enable idm:DL1
Last metadata expiration check: 0:45:05 ago on Tue 09 Nov 2021 07:22:21 AM EAT.
Dependencies resolved.
=====================================================================================================
Package Architecture Version Repository Size
=====================================================================================================
Enabling module streams:
389-ds 1.4
httpd 2.4
idm DL1
pki-core 10.6
pki-deps 10.6
Transaction Summary
=====================================================================================================
Is this ok [y/N]: y
Complete!
Vyberte jednu z následujících možností v závislosti na vašich požadavcích IdM:
- Instalace Server IdM bez integrovaného DNS:
sudo dnf module install idm:DL1/server
- Instalace serveru FreeIPA s integrovaným DNS:
sudo dnf module install idm:DL1/dns
- Instalace Server FreeIPA, který má smlouvu o důvěryhodnosti se službou Active Directory:
sudo dnf module install idm:DL1/adtrust
- Pro více profilů, např. dns a adtrust profily:
sudo dnf module install idm:DL1/{dns,adtrust}
- Pro klienta FreeIPA
sudo dnf module install idm:DL1/client
3. Spuštění instalačního programu serveru FreeIPA
S nainstalovanými balíčky FreeIPA nyní můžeme spustit utilitu ipa-server-install. Instalační skript vytvoří soubor protokolu na /var/log/ipaserver-install.log:
sudo ipa-server-install
Skript vyzve k provedení několika požadovaných nastavení a nabídne doporučené výchozí hodnoty v závorkách.
Chcete-li přijmout výchozí hodnotu, stiskněte klávesu Enter. Chcete-li zadat vlastní hodnotu, zadejte požadovanou hodnotu. Pro neinteraktivní instalaci pro IdM bez DNS použijte toto:
sudo ipa-server-install \
--realm IPA.CITIZIX.COM \
-domain ipa.citizix.com \
--ds-password ds_password \
--admin-password admin_password \
--unattended
Minimální požadované možnosti pro neinteraktivní instalaci jsou:
--realm
poskytnout název sféry Kerberos--ds-password
poskytnout heslo pro Directory Manager (DM), superuživatele Directory Server--admin-password
poskytnout heslo pro admin, správce IdM--unattended
aby instalační proces vybral výchozí možnosti pro název hostitele a název domény
Pro neinteraktivní instalaci pro IdM s integrovaným DNS použijte toto:
sudo ipa-server-install \
--domain ipa.citizix.com \
--realm IPA.CITIZIX.COM \
--reverse-zone=40.2.10.in-addr.arpa. \
--no-forwarders \
--no-ntp \
--setup-dns \
--ds-password ds_password \
--admin-password admin_password \
--unattended
Toto je výstup interaktivní relace na mém serveru:
$ sudo 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.9.2
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]: no
Enter the fully qualified domain name of the computer
on which you're setting up server software. Using the form
<hostname>.<domainname>
Example: master.example.com.
Server host name [ipa.citizix.com]: ipa.citizix.com
The domain name has been determined based on the host name.
Please confirm the domain name [citizix.com]: ipa.citizix.com
The kerberos protocol requires a Realm name to be defined.
This is typically the domain name converted to uppercase.
Please provide a realm name [IPA.CITIZIX.COM]: IPA.CITIZIX.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):
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):
Do you want to configure chrony with NTP server or pool address? [no]: no
The IPA Master Server will be configured with:
Hostname: ipa.citizix.com
IP address(es): 10.2.40.149
Domain name: ipa.citizix.com
Realm name: IPA.CITIZIX.COM
The CA will be configured with:
Subject DN: CN=Certificate Authority,O=IPA.CITIZIX.COM
Subject base: O=IPA.CITIZIX.COM
Chaining: self-signed
Continue to configure the system with these values? [no]: yes
The following operations may take some minutes to complete.
Please wait until the prompt is returned.
Disabled p11-kit-proxy
Synchronizing time
No SRV records of NTP servers found and no NTP server or pool address was provided.
Using default chrony configuration.
Attempting to sync time with chronyc.
Time synchronization was successful.
Configuring directory server (dirsrv). Estimated time: 30 seconds
[1/41]: creating directory server instance
[2/41]: tune ldbm plugin
[3/41]: adding default schema
...
Po úspěšné instalaci:
...
Client configuration complete.
The ipa-client-install command was successful
Please add records in this file to your DNS system: /tmp/ipa.system.records.87gb3voq.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
4. Nakonfigurujte Linux Firewalld
Pokud máte nainstalovanou bránu firewall a povolenou ve vašem systému, musíte pro přístup otevřít porty FreeIPA.
Musíte se ujistit, že jsou tyto síťové porty otevřené:
Porty TCP:
80, 443:HTTP/HTTPS
389, 636:LDAP/LDAPS
88, 464:Kerberos
Porty UDP:
88, 464:Kerberos
123:NTP
Chcete-li otevřít porty pomocí brány firewall, použijte tyto příkazy:
sudo firewall-cmd --add-service={http,https,dns,ntp,freeipa-ldap,freeipa-ldaps} --permanent sudo firewall-cmd --reload
5. Přístup k webovému rozhraní GUI FreeIPA
Po dokončení instalace pomocí skriptu otevřete svůj systémový prohlížeč a nasměrujte jej na název hostitele FQDN, který jste pro systém nastavili na začátku, např. https://ipa.citizix.com
nebo dokonce pokud zadáte https://your-server-ip
toto jej automaticky přesměruje na FQDN.
Ignorujte varování SSL kliknutím na „Pokročilé ”> “Přejít na ipa.citizix.com (nebezpečné) “, pokud to dostanete.
Po úspěšném přihlášení se vám zobrazí rozhraní Identity Dashboard
6. Použití rozhraní FreeIPA CLI k provádění základních operací
ipa příkaz lze použít k provedení všech operací serveru FreeIPA.
Nejprve si ale získejte lístek Kerberos pro administrátora:
$ sudo kinit admin
Password for [email protected]:
Zkontrolujte informace o vypršení platnosti vstupenky pomocí klist.
$ sudo klist
Ticket cache: KCM:0
Default principal: [email protected]
Valid starting Expires Service principal
11/09/2021 09:03:25 11/10/2021 09:03:19 krbtgt/[email protected]
- Nastavte výchozí prostředí uživatele na
/bin/bash
.
$ sudo ipa config-mod --defaultshell=/bin/bash
Maximum username length: 32
Maximum hostname length: 64
Home directory base: /home
Default shell: /bin/bash
Default users group: ipausers
Default e-mail domain: ipa.citizix.com
Search time limit: 2
Search size limit: 100
User search fields: uid,givenname,sn,telephonenumber,ou,title
Group search fields: cn,description
Enable migration mode: FALSE
Certificate Subject base: O=IPA.CITIZIX.COM
Password Expiration Notification (days): 4
Password plugin features: AllowNThash, KDC:Disable Last Success
SELinux user map order: guest_u:s0$xguest_u:s0$user_u:s0$staff_u:s0-s0:c0.c1023$sysadm_u:s0-s0:c0.c1023$unconfined_u:s0-s0:c0.c1023
Default SELinux user: unconfined_u:s0-s0:c0.c1023
Default PAC types: MS-PAC, nfs:NONE
IPA masters: ipa.citizix.com
IPA master capable of PKINIT: ipa.citizix.com
IPA CA servers: ipa.citizix.com
IPA CA renewal master: ipa.citizix.com
2. Přidejte uživatele do FreeIPA
$ sudo ipa user-add etowett --first=Eutychus --last=Towett \
> [email protected] --password
Password:
Enter Password again to verify:
--------------------
Added user "etowett"
--------------------
User login: etowett
First name: Eutychus
Last name: Towett
Full name: Eutychus Towett
Display name: Eutychus Towett
Initials: ET
Home directory: /home/etowett
GECOS: Eutychus Towett
Login shell: /bin/bash
Principal name: [email protected]
Principal alias: [email protected]
User password expiration: 20211109060518Z
Email address: [email protected]
UID: 1063800001
GID: 1063800001
Password: True
Member of groups: ipausers
Kerberos keys available: True
3. Seznam uživatelských účtů ve FreeIPA
$ sudo ipa user-find
---------------
2 users matched
---------------
User login: admin
Last name: Administrator
Home directory: /home/admin
Login shell: /bin/bash
Principal alias: [email protected], [email protected]
UID: 1063800000
GID: 1063800000
Account disabled: False
User login: etowett
First name: Eutychus
Last name: Towett
Home directory: /home/etowett
Login shell: /bin/bash
Principal name: [email protected]
Principal alias: [email protected]
Email address: [email protected]
UID: 1063800001
GID: 1063800001
Account disabled: False
----------------------------
Number of entries returned 2
----------------------------
4. Přihlaste se jako vytvářející etowett
uživatel. Při prvním přihlášení budete požádáni o změnu hesla:
$ ssh [email protected]
Password:
Password expired. Change your password now.
Current Password:
New password:
Retype new password:
$ id
uid=1063800001(etowett) gid=1063800001(etowett) groups=1063800001(etowett) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Závěr
V tomto návodu se nám podařilo nastavit FreeIPA v našem systému Rocky Linux. Můžete si hrát s rozhraním, abyste pochopili umístění různých funkcí správy FreeIPA.