
Abbiamo 3 utenti, Jhon, Doe, Mike. Supponiamo di essere nel reparto IT di una società di software. Devi gestire l'identità di quei 3 utenti. Facile vero? Puoi gestire facilmente il loro accesso all'identità. Ma che ne dici di 3 utenti diventano 300 o 3000? Come puoi gestirli?
Bene, le cose si fanno piuttosto difficili, immagino, che ne dici se potessimo avere un sistema con informazioni sull'identità centrale, forse sarebbe più facile risolvere il nostro problema dichiarato. Nessun problema, FreeIPA è qui per aiutarti a risolvere il problema.
In questo articolo impareremo alcune nozioni di base su FreeIPA e analizzeremo alcune pratiche!
Iniziamo.
IPA sta per Identity, Policy e Audit. FreeIPA mira a fornire quei 3 in una modalità gestita centralmente. È una soluzione di gestione delle informazioni di sicurezza integrata che combina Linux (Fedora), 389 Directory Server, MIT Kerberos, NTP, DNS, Dogtag (Sistema di certificazione). Consiste in un'interfaccia web e strumenti di amministrazione a riga di comando.
Credo di aver finito di parlare con il gergo di base, mettiamoci al lavoro.
Requisiti
Avevo bisogno delle seguenti cose per eseguire il lavoro di installazione e configurazione:
- Macchina Cantos 8 appena installata
- 4 GB di RAM.
- CPU a 4 core.
- 50 GB di spazio libero.
- 1 IP statico.
Prima di iniziare
Installazione macchina
Ho installato una macchina centos8 sulla scatola virtuale con IP 192.168.0.101 e IPA utente. Faremo il resto del lavoro con il nome utente IPA. L'utente IPA ha accesso amministrativo alla macchina. Non è consigliabile utilizzare root ai fini dell'installazione.
Imposta il nome host
Imposteremo il nome host come ipamaster.unixcop.local. Ovviamente puoi impostare il tuo
hostnamectl set-hostname ipamaster.unixcop.local
SELinux Permissive
Abbiamo bisogno di impostare SELinux come modalità Permissive/Disabled
Possiamo renderlo permanente o temporaneo modificando la configurazione situata in /etc/selinux Directory
Ho reso la modifica permanente come di seguito. Devi riavviare il sistema dopo aver apportato queste modifiche.

Entra nel file hosts
Dobbiamo aggiungere l'IP e il nome host al file /etc/hosts. Nel mio caso, l'IP è 192.168.0.101
L'output del mio file hosts è il seguente

Assicurati che quelle porte non vengano utilizzate da nessun altro!
- 80, 443, 8080:HTTP/HTTPS
- 389, 636:LDAP/LDAPS
- 88, 464:Kerberos
- 123:NTP
Nel caso in cui non sai come controllare la porta aperta/utilizzata nel sistema Linux
Esegui questo comando seguente per mostrare come controllare le porte di ascolto del tuo sistema
netstat -tulpn
Installazione e configurazione
Aggiornamento del sistema
Per prima cosa dobbiamo aggiornare il nostro sistema, solo per assicurarci che tutti i pacchetti/software siano aggiornati.
Esegui il comando sudo dnf update -y
Abbi pazienza per favore! potrebbe volerci un po' (su una macchina nuova a seconda della tua connessione Internet)
Installa i pacchetti richiesti
Almalinux/Centos 8 viene fornito con la funzione Modularity Repository che consente di installare versioni aggiuntive del software su cicli di vita indipendenti tramite il flusso di applicazioni denominato anche AppStream. Ciò ti consente di mantenere aggiornato il tuo sistema operativo pur disponendo della versione corretta di un'applicazione adatta al tuo caso d'uso.
FreeIPA Server e pacchetti client sono distribuiti tramite il repository AppStream in Alma Linux/Centos 8. Vuoi provare? esegui il seguente comando
sudo dnf module list idm

Dall'output, stiamo vedendo che abbiamo DL1 e moduli client
Per ulteriori informazioni sul modulo DL1, eseguire il comando seguente
sudo dnf module info idm:DL1

Qui otterrai le informazioni dettagliate sul modulo.
Poiché stiamo installando un server qui, dobbiamo prima installare il modulo DL1. Inoltre, DL1 contiene un client ipa perché un master è un client di per sé.
Eseguire il comando seguente per installare il modulo
sudo dnf install @idm:DL1 -y
Se vuoi installare freeIPA senza DNS, esegui solo quanto segue
sudo dnf install freeipa-server --setup-dns
Se vuoi includere il DNS, esegui quanto segue
sudo dnf install ipa-server-dns bind-dyndb-ldap
Attendi il download e l'installazione del pacchetto, potrebbe volerci del tempo a seconda della tua connessione Internet.
Aggiungi al firewall
Dobbiamo aggiungere i seguenti servizi al firewall
http.https, dns, ntp, freeipa-ldap, freeipa-ldaps
Comando:
sudo firewall-cmd --add-service={http,https,dns,ntp,freeipa-ldap,freeipa-ldaps} --permanent
Quindi, dobbiamo ricaricare il firewall per apportare le modifiche.
sudo firewall-cmd --reload
Installa il server freeIPA
Installeremo il server freeIPA incluso il DNS
Vai con il seguente comando
sudo ipa-server-install --setup-dns
Il lavoro di installazione eseguirà le seguenti operazioni durante l'installazione
* Configura una CA autonoma (dogtag) per la gestione dei certificati
Quindi configura il client NTP (chronyd)
* Crea e configura un'istanza di Directory Server
*Crea e configura un Kerberos Key Distribution Center (KDC)
* Configura Apache (httpd)
* Configura DNS (bind) e Configura KDC per abilitare PKINIT
- Richiederà il nome host. Abbiamo già impostato il nome host in precedenza. Digitalo di nuovo o premi semplicemente Invio, se sei pigro come me 😉
- Poi chiederà la conferma del nome a dominio. In questo caso il nome dovrebbe essere unixcop.local. Tipo di hit invio per il passaggio successivo.
- Andando avanti, troverai i seguenti passaggi:
(Condivido ciò che ho fatto con la convenzione di denominazione. La tua potrebbe essere diversa)
REALM Nome:UNIXCOP.LOCAL
- Password Manager Directory:(scegli una password di 8 caratteri)
- Conferma la password
- IPA ha un utente amministrativo chiamato "admin" Dobbiamo impostare la password per questo utente e confermare la password.
- Vogliamo configurare questi server come inoltri DNS, premere Invio per server DNS aggiuntivi, aggiungere l'indirizzo IP, per ora non ne abbiamo bisogno.
- Quindi aggiungerà la zona inversa DNS e configurerà l'NTP. Dobbiamo digitare Sì ogni volta che vuole configurare chrony con i server NTP.
- Dopo aver terminato tutto, il prompt apparirà con un riepilogo dell'installazione. Dobbiamo digitare Sì sul prompt dicendo Continua a configurare il sistema con quei valori.
- Quindi l'IPA inizierà a configurare il sistema e otterrà il seguente output.
Dopo un po', al termine di tutto il processo di installazione, otterremo l'output come segue
Verifica amministratore
Per utilizzare il comando ipa, devi prima ottenere un ticket Kerberos. È un certificato emesso da un server di autenticazione, crittografato utilizzando la chiave del server.
Esegui il seguente comando e otterrai l'output in questo modo
kinit admin
Possiamo controllare le informazioni dettagliate usando il comando klist
klist
Inoltre, l'opzione user-find del comando IPA può essere utilizzata per verificare l'utente
ipa user-find admin
Accedi alla GUI di FreeIPA
Dopo tutto, ora siamo pronti per accedere alla GUI
Apri il tuo browser preferito e digita quanto segue
https://ipamaster.unixcop.local/
Troverai la pagina di destinazione come segue
Accedi alla pagina utilizzando “admin” come username e la password che hai fornito in fase di installazione.
L'accesso riuscito verrà visualizzato con questa pagina.
Aggiungi alcuni usi
Aggiungeremo il nostro primo utente John usando il comando ipa user-add
Il comando completo sarà simile a questo. Il suo nome utente è utente1
ipa user-add user1 --first=john --last=doe [email protected] --shell=/bin/sh --password
Al primo accesso, l'utente1 sarà costretto a modificare la password
E un'altra cosa, sembra che la home directory non sia stata creata. Sta usando la home directory del nostro utente del nodo principale.
Dobbiamo cambiare questa cosa. Dobbiamo assicurarci che l'utente1 atterrerà sulla propria home directory.
Usando il comando authconfig, aggiorneremo la home directory dell'utente1
sudo authconfig --enablemkhomedir --update
Abbastanza sicuro, questo sta creando la home directory dell'utente1.
Disinstalla
Se vuoi disinstallare freeIPA premi il seguente comando
sudo ipa-server-install --uninstall
Bene, per ora è tutto. Se avete domande/domande/preoccupazioni, fatemelo sapere nella sezione commenti. Se lo trovi utile, non dimenticare di condividerlo con i tuoi amici!