Autentisering via LDAP och Kerberos i CentOS 7: Difference between revisions

From Peters wiki
Jump to navigation Jump to search
mNo edit summary
Line 1: Line 1:
Denna guide är under utveckling.
Denna guide visar hur man sätter upp autentisering via LDAP/Kerberos i CentOS 7. I guiden heter Kerberos realm EXAMPLE.COM och servern med Kerberos och LDAP heter ns.example.com. Klienten vi sätter upp heter client.example.com.
 
Installera följande:
{{RootCmd|<nowiki>yum install krb5-workstation pam_krb5 nss-pam-ldapd</nowiki>}}
 
Spara undan befintlig settings:
{{RootCmd|<nowiki>authconfig --savebackup=original</nowiki>}}
 
Kopiera CA cert till /etc/openldap/cacerts.
 
{{RootCmd|<nowiki>authconfig --enableldap --ldapserver="ldap://ns1.kerwien.se/" --ldapbasedn="dc=kerwien,dc=se" --enableldapstarttls --enablekrb5 --krb5kdc="ns1.kerwien.se" --krb5adminserver="ns1.kerwien.se" --krb5realm="KERWIEN.SE" --enablecache --update</nowiki>}}
 
Om certifikatet adderas till cacerts mappen '''efter''' authconfig kommandot måste följande kommandon köras:
{{RootCmd|cacertdir_rehash /etc/openldap/cacerts
|systemctl restart nslcd}}


=== Kerberos ===
=== Kerberos ===
Line 27: Line 13:


=== SSSD ===
=== SSSD ===
Editera /etc/sssd/sssd.conf:
Istället för nslcd använder vi oss av den nyare sssd. Editera filen /etc/sssd/sssd.conf:
{{bc|1=
{{bc|1=
[sssd]
[sssd]
Line 85: Line 71:
{{RootCmd|kadmin -p kadmin/admin}}
{{RootCmd|kadmin -p kadmin/admin}}
Kör kadmin kommandot:
Kör kadmin kommandot:
{{bc|kadmin: addprinc -randkey host/host.example.com@EXAMPLE.COM}}
{{bc|kadmin: addprinc -randkey host/client.example.com@EXAMPLE.COM}}
Spara sen nycklarna i filen /etc/krb5.keytab:
Spara sen nycklarna i filen /etc/krb5.keytab:
{{bc|kadmin: ktadd -k /etc/krb5.keytab host/host.example.com@EXAMPLE.COM}}
{{bc|kadmin: ktadd -k /etc/krb5.keytab host/client.example.com@EXAMPLE.COM}}
Logga ut ifrån kadmin. Nu kan du logga in via SSH utan att ange lösenordet om du redan har en giltig Kerberos ticket.
Logga ut ifrån kadmin. Nu kan du logga in via SSH utan att ange lösenordet om du redan har en giltig Kerberos ticket.


[[Category:Guide]]
[[Category:Guide]]

Revision as of 14:10, 25 October 2015

Denna guide visar hur man sätter upp autentisering via LDAP/Kerberos i CentOS 7. I guiden heter Kerberos realm EXAMPLE.COM och servern med Kerberos och LDAP heter ns.example.com. Klienten vi sätter upp heter client.example.com.

Kerberos

Installera följande:

root # yum install krb5-workstation pam_krb5 sssd

Spara undan befintlig settings:

root # authconfig --savebackup=original

Enable:a autentisering via Kerberos:

root # authconfig --enablekrb5 --krb5kdc="ns.example.com" --krb5adminserver="ns.example.com" --krb5realm="EXAMPLE.COM" --update

Testa att du kan skaffa en Kerberos ticket.

SSSD

Istället för nslcd använder vi oss av den nyare sssd. Editera filen /etc/sssd/sssd.conf:

[sssd]
config_file_version = 2
services = nss
domains = LOCAL, example.com

[nss]
filter_groups = root
filter_users = root
reconnection_retries = 3
entry_cache_timeout = 300
entry_cache_nowait_percentage = 75

[domain/LOCAL]
id_provider = local
auth_provider = local
access_provider = permit

[domain/example.com]
enumerate = true
auth_provider = krb5
krb5_server = ns.example.com
krb5_realm = EXAMPLE.COM
cache_credentials = true

access_provider = simple
chpass_provider = krb5

id_provider = ldap
ldap_uri = ldap://ns.example.com
ldap_search_base = dc=example,dc=com
ldap_id_use_start_tls = true
ldap_tls_cacert = /etc/openldap/cacerts/example.com-ca.crt

sudo_provider = none
root # chmod 600 /etc/sssd/sssd.conf

Kopiera ditt CA certifikat till filen /etc/openldap/cacerts/example.com-ca.crt, kör sedan kommandot:

root # cacertdir_rehash /etc/openldap/cacerts

Starta sssd:

root # systemctl enable sssd
root #
systemctl start sssd

Enable:a användarinformation via SSSD:

root # authconfig --enablesssd --update

Kontrollera med:

root # getent passwd
root #
getent group

SSH

Inloggning via SSH ska fungera nu, men man måste alltid ange lösenordet. För att kunna logga in via existerande Kerberos ticket, så behövs en host keytab fil. Logga in mot din KDC med admin-konto som har rättighet att skapa Kerberos principals:

root # kadmin -p kadmin/admin

Kör kadmin kommandot:

kadmin: addprinc -randkey host/client.example.com@EXAMPLE.COM

Spara sen nycklarna i filen /etc/krb5.keytab:

kadmin: ktadd -k /etc/krb5.keytab host/client.example.com@EXAMPLE.COM

Logga ut ifrån kadmin. Nu kan du logga in via SSH utan att ange lösenordet om du redan har en giltig Kerberos ticket.