IPA
FreeIPA is a Red Hat sponsored open source project which aims to provide an easily managed Identity, Policy and Audit (IPA) suite primarily targeted towards networks of Linux and Unix computers. FreeIPA can be compared to Novell's Identity Manager or Microsoft's Active Directory in that the goals and mechanisms used are similar.
FreeIPA currently uses 389 Directory Server for its LDAP implementation, MIT's Kerberos 5 for authentication and single sign-on, the Apache and Python for the management framework and Web UI, and (optionally) Dogtag for the integrated CA and BIND with a custom plugin for the integrated DNS. Development versions also use Samba to integrate with Microsoft's Active Directory by way of Cross Forest Trusts.
While each of the major components of FreeIPA is a pre-existing open source project it is the bundling of these components into a single manageable suite with a Comprehensive Management Interface that make FreeIPA more comparable to its proprietary software cousins, Identity Manager and Active Directory.
FreeIPA aims to provide support not just for Linux and Unix based computers but ultimately Microsoft Windows and Apple Macintosh computers also.
Contents
Server installatie
Installeer ipa-server
met alle dependencies. Zorg ervoor dat alle benodigde firewall-poorten open staan, na een schone kickstart hoeft enkel poort 7389 tcp nog geopend te worden. Vervolgens, om ipa-server te installeren zonder NTP-server:
ipa-server-install -N
Na de installatie moet de server nog een beveiligings-certificaat krijgen. Voer hiervoor het volgende commando uit:
ipa-getcert request -d /etc/pki/nssdb/ -n ipaserver-cert
Sudo gegevens zijn niet anoniem uit IPA te halen, daarom moet er voor de standaard user sudo
een wachtwoord ingesteld worden*. Doe dit met
ldappasswd -Y GSSAPI uid=sudo,cn=sysaccounts,cn=etc,dc=a-eskwadraat,dc=nl -s sudopasswd
- ) Het zou kunnnen dat dit niet meer nodig is. Probeer vooral eerst zonder.
Firewall
IPA heeft een aantal poorten nodig om correct te werken:
Service | Poort | Type |
HTTP/HTTPS | 80,443 | tcp |
LDAP/LDAPS | 389,636 | tcp |
Kerberos | 88,464 | tcp,udp |
DNS | 53 | tcp,udp |
NTP | 123 | udp |
Client installatie
Bij migratie naar een andere IPA-server moet /etc/ipa leeg zijn. |
ipa-client-install
Installeer een IPA-client als volgt (uiteraard als root):
ipa-client-install
Er wordt tijdens de installatie gevraagd om een gebruikersnaam, gebruik daarvoor gewoon je eigen account.
Reboot het systeem als de installatie voltooid is.
sudo
Zie sudo.
httpd
Zie HBAC.
Schema
Aan het standaard schema van IPA is de objectClass 'aesAccount' met attribuut 'memberId'. Zie de volgende LDIF:
dn: cn=schema changetype: modify add: attributetypes attributetypes:( 1.3.6.1.4.1.44413.1.1.1 NAME 'memberId' DESC 'MemberId of person' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) - add: objectclasses objectclasses: ( 1.3.6.1.4.1.44413.1.2.1 NAME 'aesAccount' SUP top AUXILIARY DESC 'A-Eskwadraat account information' MAY ( memberId ) )
Lidnummer toevoegen
'mensjeadd' vraagt bij het aanmaken van een account om een lidnummer. Mocht er onverhoopt iets misgaan, met de onderstaande LDIF is het mogelijk om een lidnummer aan een account toe te voegen:
dn: uid=$login,cn=users,cn=accounts,dc=a-eskwadraat,dc=nl changetype: modify add: memberId memberId: $lidnummer
Replication
Er zijn op dit moment drie IPA-servers met de volgende replication agreements:
ipa01 <=> ipa02ipa01 <=> ipa03ipa02 <=> ipa03