FreeIPA Installasjon

Aller først anbefales det å gjøre seg kjent med FreeIPA sine Deployment Recommendations. Det mest vesentlige å være klar over er at FreeIPA ikke må dele domene/subdomene med andre kerberos autentiserings systemer. Av erfaring vil vi ikke anbefale å sette FreeIPA på root domenet for å unngå problemer om det på noe tidspunkt skulle bli satt opp for eksempel Active Directory på domenet. Å ha FreeIPA på eget subdomene gir også den fordelen at man kan benytte seg av FreeIPA sin innebygde DNS som passer på at alle SRV oppslag for FreeIPA til enhver tid er korrekt.

Man må også ta stilling til om FreeIPA skal benyttes som Certificate Authority (CA) for domenet som settes opp og angi dette ved installasjon.

FreeIPA er i skrivende stund kun tilgjengelig på Debian Sid i en eldre versjon, derfor har TIHLDE valgt å benytte CentOS 7 som operativsystem for FreeIPA tjenerne. Ubuntu har et PPA for FreeIPA, men dette har ikke blitt testet.

Fedora Server er også et alternativ til FreeIPA tjener, men vil ikke anbefale Fedora med mindre man er helt avhengig av funksjonalitet i nyere FreeIPA versjoner som ikke er tilgjengelig på CentOS enda.

Installerer først freeipa-server pakken

[root@ipa1 ~]# yum install ipa-server

Om man skal bruke FreeIPA til DNS må man også installere DNS pakken

[root@ipa1 ~]# yum install ipa-server-dns

Før man setter i gang konfigureringen av FreeIPA så må hostnavn på tjeneren være satt korrekt. Dobbeltsjekk derfor dette og sett via hostname, /etc/hosts og /etc/sysconfig/network

For å sette opp en FreeIPA tjener som CA og med DNS kjører vi følgende kommando

[root@ipa1 ~]# ipa-server-install --setup-dns --realm=IO.GANYMEDE.NO --domain=IO.GANYMEDE.NO --mkhomedir --idstart=10000 --ssh-trust-dns --forwarder=10.5.0.11 --auto-reverse

For beskrivelse av parametre så se –help, men nevner spesielt –idstart som angir at alle bruker/gruppe IDer starter på 10000 framfor villkårlig som er standard, noe som ofte vil føre til at IDer starter på noen hundre tusen.

Checking DNS domain IO.GANYMEDE.NO, please wait ...

The log file for this installation can be found in /var/log/ipaserver-install.log
==============================================================================
This program will set up the IPA Server.

This includes:
  * Configure a stand-alone CA (dogtag) for certificate management
  * Configure the Network Time Daemon (ntpd)
  * Create and configure an instance of Directory Server
  * Create and configure a Kerberos Key Distribution Center (KDC)
  * Configure Apache (httpd)
  * Configure DNS (bind)

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 [ipa1.io.ganymede.no]:

Warning: skipping DNS resolution of host ipa1.io.ganymede.no
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): 

Checking DNS domain io.ganymede.no., please wait ...
Checking DNS forwarders, please wait ...
Using reverse zone(s) 0.5.10.in-addr.arpa.

The IPA Master Server will be configured with:
Hostname:       ipa1.io.ganymede.no
IP address(es): 10.5.0.5
Domain name:    io.ganymede.no
Realm name:     IO.GANYMEDE.NO

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

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

Installasjonen vil deretter konfigurere og gjøre klar de forskjellige komponentene som FreeIPA består av. Etter en stund og en del output så vil man til slutt få en oppsummering

Updating DNS system records
Restarting the web server
Configuring client side components
Using existing certificate '/etc/ipa/ca.crt'.
Client hostname: ipa1.io.ganymede.no
Realm: IO.GANYMEDE.NO
DNS Domain: io.ganymede.no
IPA Server: ipa1.io.ganymede.no
BaseDN: dc=io,dc=ganymede,dc=no

Skipping synchronizing time with NTP server.
New SSSD config will be created
Configured sudoers in /etc/nsswitch.conf
Configured /etc/sssd/sssd.conf
trying https://ipa1.io.ganymede.no/ipa/json
Forwarding 'schema' to json server 'https://ipa1.io.ganymede.no/ipa/json'
trying https://ipa1.io.ganymede.no/ipa/session/json
Forwarding 'ping' to json server 'https://ipa1.io.ganymede.no/ipa/session/json'
Forwarding 'ca_is_enabled' to json server 'https://ipa1.io.ganymede.no/ipa/session/json'
Systemwide CA database updated.
Adding SSH public key from /etc/ssh/ssh_host_ecdsa_key.pub
Adding SSH public key from /etc/ssh/ssh_host_dsa_key.pub
Adding SSH public key from /etc/ssh/ssh_host_rsa_key.pub
Adding SSH public key from /etc/ssh/ssh_host_ed25519_key.pub
Forwarding 'host_mod' to json server 'https://ipa1.io.ganymede.no/ipa/session/json'
SSSD enabled
Configured /etc/openldap/ldap.conf
Configured /etc/ssh/ssh_config
Configured /etc/ssh/sshd_config
Configuring io.ganymede.no as NIS domain.
Client configuration complete.

==============================================================================
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

FreeIPA er nå installert og klar til bruk.

FreeIPA har en del tjenester som må kunne nås, og CentOS kommer som standard med brannmur påslått. Følgende kommandoer må kjøres for å åpne relevante porter:

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-service=ldap
firewall-cmd --permanent --add-service=ldaps
firewall-cmd --permanent --add-service=kerberos
firewall-cmd --permanent --add-service=kpasswd
firewall-cmd --permanent --add-service=ntp
firewall-cmd --reload
  • howto/freeipa/installasjon.txt
  • Last modified: 12/03/2017 20:34
  • by Thomas Juberg