FreeIPA installeren op Rocky Linux

FreeIPA is een vrije en open-source identiteitsbeheer oplossing voor Linux/Unix besturingssystemen. Het is een upstream project van het RedHat identiteitsbeheersysteem, dat authenticatie en autorisatie oplossingen biedt voor Linux/Unix systemen.

FreeIPA is gebouwd op meerdere componenten, waaronder de Directory Server, DNS, Kerberos, PKI, Certmonger, NTP Server, webbeheer UI, enz. Het biedt een gecentraliseerde bron van gebruikersreferenties en toegangscontrole. Met FreeIPA kunnen beheerders gemakkelijk identiteiten beheren in een gecentraliseerde omgeving, en het biedt ook gebruikersbewaking, authenticatie en toegangscontrole.

In deze gids laten we je zien hoe je de FreeIPA Identity manager op de Rocky Linux server installeert.

Vereisten

  • Een Linux server Rock Linux 8.5.
  • Een niet-root gebruiker met sudo beheerdersbevoegdheden.

Instellen van FQDN

Eerst stel je de FQDN (Fully Qualified Domain Name) en het /etc/hosts bestand van je Rocky Linux server in.

Om de FQDN van de server in te stellen, voer je het onderstaande commando uit. In dit voorbeeld gebruiken we de FQDN ipa.hwdomain.io.

sudo hostnamectl set-hostname ipa.hwdomain.io

Bewerk nu het bestand /etc/hosts met nano editor.

sudo nano /etc/hosts

Voer het IP adres en de FQDN van de server in zoals hieronder.

192.168.10.25 ipa.hwdomain.io ipa

Sla het bestand op met Ctrl+x en voer Y in om te bevestigen en het bestand op te slaan.

Voer vervolgens het volgende commando uit om de FQDN van je Rocky Linux server te verifiëren.

hostname -f

Je zou de uitvoer van de server FQDN moeten krijgen, zoals ipa.hwdomain.io.

Voer tenslotte het ping commando hieronder uit om te controleren of de FQDN is omgezet naar het juiste server IP adres.

ping -c3 ipa.hwdomain.io

In de onderstaande schermafbeelding is de FQDN ipa.hwdomain.io opgelost en bereikbaar op het IP adres 192.168.10.25.

setup fqdn en /etc/hosts bestand

Ga naar de volgende stap om de FreeIPA installatie te starten.

Installatie van FreeIPA serverpakketten

Als je de configuratie van de FQDN en het /etc/hosts bestand voltooid hebt, installeer je nu FreeIPA pakketten op het Rocky Linux systeem.

Op het Rocky Linux systeem zijn alle pakketten die met FreeIPA te maken hebben beschikbaar op de module idm:DL1. Je moet de module idm:DL1 inschakelen om FreeIPA pakketten te kunnen installeren.

Voer het volgende commando uit om de module idm:DL1 op je Rocky Linux systeem in te schakelen.

sudo dnf module enable idm:DL1

Voer Y in om te bevestigen en de module in te schakelen.

idm repository module inschakelen

Installeer vervolgens FreeIPA pakketten met het onderstaande dnf commando. De ipa-server is het hoofdpakket van FreeIPA, en de ipa-server-dns is een aanvullend pakket voor FreeIPA dat DNS server functionaliteit biedt.

sudo dnf install ipa-server ipa-server-dns -y

Wacht op de installatie van alle pakketten, het kan even duren, afhankelijk van je serververbinding.

freeipa installeren

Als alle installatie voltooid is, ga je naar de volgende stap om te beginnen met het instellen van de FreeIPA server.

Instellen van de FreeIPA server

Nu ga je de FreeIPA server instellen op het Rocky Linux systeem.

Voordat je de FreeIPA server instelt, moet je controleren of IPv6 op je server ingeschakeld en geactiveerd is. de FreeIPA server detecteert automatisch een fout als IPv6 ingeschakeld is op de kernelruimte, maar niet beschikbaar is op de netwerk stack.

Controleer het IP adres van je server om te zien of IPv6 beschikbaar is op je netwerkinterface.

sudo ip a

In de onderstaande schermafbeelding zie je in de uitvoer inet6 staan, wat betekent dat IPv6 beschikbaar is op de lokale netwerkinterface en dat je klaar bent om de FreeIPA server in te stellen.

verifieer ipv6

Voer vervolgens het onderstaande ipa-server-install commando uit om te beginnen met het instellen van de FreeIPA server.

sudo ipa-server-install --setup-dns --allow-zone-overlap

Eerst krijg je basisinformatie te zien over wat je zult doen om de FreeIPA server in te stellen.

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.6

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 DNS (bind)
  * Configure SID generation
  * Configure the KDC to enable PKINIT

De FreeIPA server zal automatisch de FQDN van de server detecteren en die gebruiken als de standaard server hostnaam. Druk op ENTER om te bevestigen en verder te gaan.

To accept the default shown in brackets, press the Enter key.

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.hwdomain.io]:

Nu moet je de domeinnaam voor je FreeIPA server instellen. Deze wordt automatisch gedetecteerd, en is gebaseerd op de server FQDN. In dit voorbeeld is de server FQDN ipa.hwdomain.io, dus de domeinnaam moet zijn hwdomain.io.

Druk op ENTER om te bevestigen en verder te gaan.

Warning: skipping DNS resolution of host ipa.hwdomain.io
The domain name has been determined based on the host name.

Please confirm the domain name [hwdomain.io]:

Nu moet je de REALM domeinnaam instellen voor Kerberos authenticatie. In de meeste gevallen is dat dezelfde als de FreeIPA domeinnaam, maar dan met hoofdletters.

The kerberos protocol requires a Realm name to be defined.
This is typically the domain name converted to uppercase.

Please provide a realm name [HWDOMAIN.IO]:

Voer een nieuw wachtwoord in voor de mapserver. het wachtwoord moet minstens 8 karakters lang zijn, dus zorg ervoor dat je een sterk wachtwoord voor de mapserver gebruikt.

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):

Voer nu nog een wachtwoord in voor de IPA admin gebruiker. Deze gebruiker zal gebruikt worden om in te loggen op de FreeIPA server of authenticatie tegen Kerberos als admin gebruiker. Zorg ervoor dat je een sterk wachtwoord gebruikt voor je IPA admin gebruiker.

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):

In de volgende stap wordt je gevraagd een DNS forwarder in te stellen. Druk op ENTER om verder te gaan en de FreeIPA zal automatisch het huidige /etc/resolv.conf bestand detecteren als de DNS forwarders.

Checking DNS domain hwdomain.io., please wait ...
Do you want to configure DNS forwarders? [yes]: yes
Following DNS servers are configured in /etc/resolv.conf: 192.168.121.1
Do you want to configure these servers as DNS forwarders? [yes]:

Nu wordt je gevraagd een reverse zone aan te maken voor het IP adres van je FreeIPA server. Druk op ENTER om verder te gaan en de FreeIPA maakt automatisch een nieuwe omgekeerde zone voor je server IP adres.

Do you want to search for missing reverse zones? [yes]: 
Do you want to create reverse zone for IP 192.168.10.25 [yes]:
Please specify the reverse zone name [10.168.192.in-addr.arpa.]:
Using reverse zone(s) 10.168.192.in-addr.arpa.
Trust is configured but no NetBIOS domain name found, setting it now.
Enter the NetBIOS name for the IPA domain.
Only up to 15 uppercase ASCII letters, digits and dashes are allowed.
Example: EXAMPLE.


NetBIOS domain name [HWDOMAIN]:

Laat voor de NTP configuratie de standaardwaarde staan en druk op ENTER voor nee.

Do you want to configure chrony with NTP server or pool address? [no]:

Nu wordt je gevraagd om de installatie en configuratie van de FreeIPA server te bevestigen. Kijk nogmaals of je de details van de configuratie van de FreeIPA server kunt zien, voer dan yes in en druk op ENTER om de installatie en configuratie te bevestigen.

The IPA Master Server will be configured with:
Hostname:       ipa.hwdomain.io
IP address(es): 192.168.10.25
Domain name:    hwdomain.io
Realm name:     HWDOMAIN.IO

The CA will be configured with:
Subject DN:   CN=Certificate Authority,O=HWDOMAIN.IO
Subject base: O=HWDOMAIN.IO
Chaining:     self-signed

BIND DNS server will be configured to serve IPA domain with:
Forwarders:       192.168.121.1
Forward policy:   only
Reverse zone(s):  10.168.192.in-addr.arpa.

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

Nu begint de FreeIPA installatie en configuratie.

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
  [4/41]: enabling memberof plugin

Na de installatie en configuratie van FreeIPA zie je het volgende uitvoerbericht.

In de onderstaande uitvoermelding word je ook geïnformeerd over de volgende stap voor het instellen van de Firewall voor de FreeIPA server. Je moet enkele poorten voor de FreeIPA server openen en daarna de authenticatie met de admin gebruiker tegen de Kerberos server verifiëren.

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

Nu heb je de installatie en configuratie van de FreeIPA server voltooid.

Instellen van Firewalld

In deze stap voeg je enkele diensten toe aan de Firewalld regels. Dit omvat de basisdiensten voor de FreeIPA server, zoals LDAP, DNS, en HTTPS.

Voer het onderstaande firewall-cmd commando uit om enkele diensten voor de FreeIPA server aan de Firewalld toe te voegen.

sudo firewall-cmd --add-service={http,https,dns,ntp,freeipa-ldap,freeipa-ldaps} --permanent

Herlaad daarna de Firewalld regels met het onderstaande commando.

sudo firewall-cmd --reload

Controleer tenslotte de lijst met regels van de Firewalld met het onderstaande commando.

sudo firewall-cmd --list-all

In de onderstaande schermafbeelding zie je dat alle diensten voor de FreeIPA server aan de Firewalld zijn toegevoegd.

firewalld instellen

Verifiëren van Kerberos Admin Authenticatie

Na het instellen van de Firewalld ga je nu de authenticatie tegen de Kerberos op je FreeIPA server verifiëren.

Voer het onderstaande commando uit om je te authenticeren tegen de Kerberos server met de admin gebruiker.

kinit admin

Nu wordt je om het wachtwoord van je IPA server gevraagd. Voer het juiste wachtwoord in.

Nadat je met succes geauthenticeerd bent, voer je het onderstaande commando uit om de lijst van Kerberos tickets op je server te controleren.

klist

In de onderstaande schermafbeelding is het nieuwe Kerberos ticket voor gebruiker admin beschikbaar en is de authenticatie tegen de Kerberos server geslaagd.

authenticeer naar kerberos server

Inloggen in het FreeIPA Dashboard

In deze stap controleer je de FreeIPA installatie door in te loggen op het FreeIPA webbeheer dashboard.

Open je webbrowser en ga naar het IP adres of FQDN van je server zoals hieronder. Nu zie je de FreeIPA inlogpagina.

https://ipa.hwdomain.io/ipa/ui/

Voer de FreeIPA admin gebruiker en het wachtwoord in, en klik dan op de knop Log in.

inloggen bij freeipa

Zodra je ingelogd bent, zie je het FreeIPA administratie dashboard hieronder.

freeipa admin dashboard

Conclusie

Gefeliciteerd! Je hebt nu FreeIPA met succes geïnstalleerd en ingesteld op Rocky Linux. Ook heb je je met succes geauthenticeerd tegen de Kerberos server met de IPA admin gebruiker en ingelogd op de FreeIPA Server.