Difference between revisions of "FreeIPA"

From HackerNet
Jump to: navigation, search
(Created page with "FreeIPA är ett open source projekt för centraliserad Identity, Policy och Auditing (IPA) för unix/linux-system, likt Microsofts Active Directory. I botten används 389 Dire...")
 
Line 4: Line 4:
 
Namnuppslag måste fungera. T.ex. för en server måste man använda fqdn och det ska vara resolvable. Det går att lösa med hosts-filen i en testsetup.
 
Namnuppslag måste fungera. T.ex. för en server måste man använda fqdn och det ska vara resolvable. Det går att lösa med hosts-filen i en testsetup.
  
=Installation=
+
=Server=
 +
==Installation==
 +
'''Fedora'''
 
  sudo dnf -y install freeipa-server
 
  sudo dnf -y install freeipa-server
Klient
 
sudo apt-get install freeipa-client
 
sudo ipa-client-install
 
  
=Konfiguration=
+
'''CentOS'''
 +
yum install ipa-server
 +
 
 +
==Konfiguration==
 +
Starta wizarden som automatiskt konfigurerar upp din FreeIPA med det nödvändigaste.
 
  sudo ipa-server-install
 
  sudo ipa-server-install
  
kinit admin
+
Kör kommandot '''kinit admin''' så får du en kerberos ticket som du behöver för att kunna köra IPA tools tex ipa user-add.
  
===User===
+
===DNS records===
 +
Skapa följande records om du kör en DNS server som inte FreeIPA sköter. Dessa records gör att autodiscovery fungerar och gör det mycket enklare att konfigurera upp klienter.
 +
 +
; ldap servers
 +
_ldap._tcp              IN SRV 0 100 389        freeipa
 +
 +
;kerberos realm
 +
_kerberos              IN TXT HACKERNET.SE
 +
 +
; kerberos servers
 +
_kerberos._tcp          IN SRV 0 100 88        freeipa
 +
_kerberos._udp          IN SRV 0 100 88        freeipa
 +
_kerberos-master._tcp  IN SRV 0 100 88        freeipa
 +
_kerberos-master._udp  IN SRV 0 100 88        freeipa
 +
_kpasswd._tcp          IN SRV 0 100 464        freeipa
 +
_kpasswd._udp          IN SRV 0 100 464        freeipa
 +
 +
;ntp server
 +
_ntp._udp              IN SRV 0 100 123        freeipa
 +
 +
; CNAME for IPA CA replicas (used for CRL, OCSP)
 +
ipa-ca                  IN A                    IP-to-FreeIPA
 +
 
 +
===Brandväggsöppningar===
 +
Beroende på vilken dist du använder kanske du inte behöver öppna portar i din egna brandvägg.
 +
firewall-cmd --permanent --add-service=ntp
 +
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 --reload
 +
 
 +
===Skapa user===
 
  ipa user-add
 
  ipa user-add
 
  ipa passwd <user>
 
  ipa passwd <user>
  
 
===Web UI===
 
===Web UI===
 +
Nås på https://IP-to-FreeIPA
  
 
===Replikering===
 
===Replikering===
Line 25: Line 63:
 
  ipa-replica-manage list
 
  ipa-replica-manage list
  
 +
===System account===
 +
Vissa LDAP tjänster behöver ett förkonfat konto tex LDAP Autofs och sudo. Oftast så använder man en användares uppgifter när man bindar mot en LDAP server men det är inte alltid möjligt. Anledningen till varför man skapar ett service konto istället för ett vanligt användar konto är att ett system kontot endast finns för att binda mot LDAP servern och är alltså inget POSIX konto och kan därför inte logga in mot några system.
 +
 +
Skapa ett system account så här:
 +
ldapmodify -x -D 'cn=Directory Manager' -W
 +
 +
dn: uid=system,cn=sysaccounts,cn=etc,dc=hackernet,dc=se
 +
changetype: add
 +
objectclass: account
 +
objectclass: simplesecurityobject
 +
uid: 1337
 +
userPassword: secret
 +
passwordExpirationTime: 20380119031407Z
 +
nsIdleTimeout: 0
 +
<blank line>
 +
^D(CTRL+D)
 +
 +
 +
=Klient=
 +
==Installation==
 +
'''Ubuntu'''
 +
apt-get install freeipa-client
 +
 +
'''Fedora'''
 +
dnf install freeipa-client
 +
 +
==Enroll host till FreeIPA==
 +
Kör följande kommando för att starta en wizard som enrollar din klient i freeipa.
 +
ipa-client-install
 +
Om autodiscovery fungerar som det ska så är alla fält i fyllda och det enda du behöver ange är en användare som har behörighet att enrolla klinter till freeipa.
 +
 +
Man kan fylla i användarnamn och lösenord i förväg så slipper svara på frågor.
 +
ipa-client-install -p admin -w secretpw --unattended
 
[[Category:Guider]]
 
[[Category:Guider]]

Revision as of 23:05, 3 July 2016

FreeIPA är ett open source projekt för centraliserad Identity, Policy och Auditing (IPA) för unix/linux-system, likt Microsofts Active Directory. I botten används 389 Directory Server för LDAP, MIT's Kerberos 5 för authentication och single sign-on, BIND för integrerad DNS och Samba för integration mot Active Directory. Man sparar lösenord och SSH-nycklar centralt som autentisering på övriga maskiner kan kolla mot. Man kan skapa användargrupper och styra sudo policy centralt. Det är sponsrat av Red Hat.

DNS
Namnuppslag måste fungera. T.ex. för en server måste man använda fqdn och det ska vara resolvable. Det går att lösa med hosts-filen i en testsetup.

Server

Installation

Fedora

sudo dnf -y install freeipa-server

CentOS

yum install ipa-server

Konfiguration

Starta wizarden som automatiskt konfigurerar upp din FreeIPA med det nödvändigaste.

sudo ipa-server-install

Kör kommandot kinit admin så får du en kerberos ticket som du behöver för att kunna köra IPA tools tex ipa user-add.

DNS records

Skapa följande records om du kör en DNS server som inte FreeIPA sköter. Dessa records gör att autodiscovery fungerar och gör det mycket enklare att konfigurera upp klienter.

; ldap servers
_ldap._tcp              IN SRV 0 100 389        freeipa

;kerberos realm
_kerberos               IN TXT HACKERNET.SE

; kerberos servers
_kerberos._tcp          IN SRV 0 100 88         freeipa
_kerberos._udp          IN SRV 0 100 88         freeipa
_kerberos-master._tcp   IN SRV 0 100 88         freeipa
_kerberos-master._udp   IN SRV 0 100 88         freeipa
_kpasswd._tcp           IN SRV 0 100 464        freeipa
_kpasswd._udp           IN SRV 0 100 464        freeipa

;ntp server
_ntp._udp               IN SRV 0 100 123        freeipa

; CNAME for IPA CA replicas (used for CRL, OCSP)
ipa-ca                  IN A                    IP-to-FreeIPA

Brandväggsöppningar

Beroende på vilken dist du använder kanske du inte behöver öppna portar i din egna brandvägg.

firewall-cmd --permanent --add-service=ntp
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 --reload

Skapa user

ipa user-add
ipa passwd <user>

Web UI

Nås på https://IP-to-FreeIPA

Replikering

Det går att replikera datan mellan servrar.

ipa-replica-manage list

System account

Vissa LDAP tjänster behöver ett förkonfat konto tex LDAP Autofs och sudo. Oftast så använder man en användares uppgifter när man bindar mot en LDAP server men det är inte alltid möjligt. Anledningen till varför man skapar ett service konto istället för ett vanligt användar konto är att ett system kontot endast finns för att binda mot LDAP servern och är alltså inget POSIX konto och kan därför inte logga in mot några system.

Skapa ett system account så här:

ldapmodify -x -D 'cn=Directory Manager' -W

dn: uid=system,cn=sysaccounts,cn=etc,dc=hackernet,dc=se
changetype: add
objectclass: account
objectclass: simplesecurityobject
uid: 1337
userPassword: secret
passwordExpirationTime: 20380119031407Z
nsIdleTimeout: 0
<blank line>
^D(CTRL+D)


Klient

Installation

Ubuntu

apt-get install freeipa-client

Fedora

dnf install freeipa-client

Enroll host till FreeIPA

Kör följande kommando för att starta en wizard som enrollar din klient i freeipa.

ipa-client-install

Om autodiscovery fungerar som det ska så är alla fält i fyllda och det enda du behöver ange är en användare som har behörighet att enrolla klinter till freeipa.

Man kan fylla i användarnamn och lösenord i förväg så slipper svara på frågor.

ipa-client-install -p admin -w secretpw --unattended