Autentisering via LDAP och Kerberos i FreeBSD 10: Difference between revisions

From Peters wiki
Jump to navigation Jump to search
mNo edit summary
Line 1: Line 1:
Denna guide är under utveckling.
__NOTOC__
 
Denna guide visar hur man sätter upp autentisering via LDAP/Kerberos i FreeBSD 10. 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.
Denna guide visar hur man sätter upp en FreeBSD 10 maskin att autentisera användare via Kerberos och hämta användarinformation från LDAP.
__TOC__


== Kerberos ==
== Kerberos ==
Line 14: Line 14:
[realms]
[realms]
     EXAMPLE.COM = {
     EXAMPLE.COM = {
         kdc = kdc.example.com
         kdc = ns.example.com
         admin_server = kdc.example.com
         admin_server = ns.example.com
         default_domain = example.com
         default_domain = example.com
     }
     }
Line 50: Line 50:
uid nslcd
uid nslcd
gid nslcd
gid nslcd
uri ldap://ldap.example.com/
uri ldap://ns.example.com/
base dc=example,dc=com
base dc=example,dc=com
ssl start_tls
ssl start_tls

Revision as of 14:12, 25 October 2015

Denna guide visar hur man sätter upp autentisering via LDAP/Kerberos i FreeBSD 10. 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 # portmaster security/pam_krb5

Välj att länka mot Heimdal Kerberos. Editera /etc/krb5.conf:

[libdefaults]
    default_realm = EXAMPLE.COM

[realms]
    EXAMPLE.COM = {
        kdc = ns.example.com
        admin_server = ns.example.com
        default_domain = example.com
    }

[domain_realm]
    .example.com = EXAMPLE.COM
    example.com = EXAMPLE.COM

Skapa en Kerberos principal för host/<host>.example.com och kopiera nycklarna till /etc/krb5.keytab.

Editera /etc/pam.d/sshd och lägg till 3 st Kerberos rader:

# auth
auth		sufficient	pam_opie.so		no_warn no_fake_prompts
auth		requisite	pam_opieaccess.so	no_warn allow_local
auth		sufficient	/usr/local/lib/security/pam_krb5.so	try_first_pass minimum_uid=5000
...
# account
account		required	pam_nologin.so
account		required	/usr/local/lib/security/pam_krb5.so	minimum_uid=5000
...
# password
password	sufficient	/usr/local/lib/security/pam_krb5.so	try_first_pass minimum_uid=5000
password	required	pam_unix.so		no_warn try_first_pass

LDAP

Installera net/nss-pam-ldapd utan pam_ldap stödet. Vi ska ju inte autentisera mot LDAP:

root # portmaster net/nss-pam-ldapd

Editera /usr/local/etc/nslcd.conf:

uid nslcd
gid nslcd
uri ldap://ns.example.com/
base dc=example,dc=com
ssl start_tls
tls_cacertfile /etc/ssl/cert.pem

Editera /etc/nsswitch.conf:

group: files ldap
passwd: files ldap

Radera länken /etc/ssl/cert.pem och ersätt med ditt egna CA certifikat.

Editera /etc/rc.conf:

nscd=_enable="YES"
nslcd_enable="YES"

Starta nscd och nslcd:

root # service nscd start
root #
service nslcd start

Verifiera med kommandona:

root # getent passwd
root #
getent group

SSH

Editera filen /etc/ssh/sshd_config och lägg till följande:

KerberosAuthentication yes

Starta om sshd med kommandot:

root # service sshd restart