Integrera Linux mot AD Linuxadministration II 1DV421
Linux + AD =? Samba Winbind Kerberos Autentisiering via Kerberos Auth i Apache
Historia Olikheter Begära användar- och gruppinformation från Windows-användare Autentisiera Windows-användare Lösenordshantering av Windows-användare
Samba och Winbind Integrerar UNIX/Linux med Windows AD Unified Logons RPC, PAM, NSS
Winbind Winbind ger oss tre olika funktioner Autentisiering Identitetsuppslag Databas med ID-mappningar till användare
Vilka ska använda Winbind? Användare och företag med en existerande Microsoftbaserad infrastruktur Föenklar administrationen Även ett bra alternativ för centraliserad administration i ett Linux-nätverk för Samba-baserade domäner
Hur fungerar Winbind? Klient/server Linux-dator med Winbind Domänkontrollant
Name Service Switch Finns numera i de flesta UNIX och UNIX-liknande system. Hostnamn, mailalias, användarinformation, grupper etc. från olika källor Konfigureras i /etc/nsswitch.conf passwd: files winbind
PAM Pluggable Authentication Module Ger ett abstrakt system för autentisiering i UNIX/Linux Ger möjligheten att ange olika autentisieringsystem för olika program utan att kompilera om programvaran Winbind använder PAM
Konfigurera PAM /etc/pam.d Kontrollfiler för alla tjänster som kräver autentisiering
Konfigurera PAM Exempel module-type control-flag module-path args auth required pam_env.so auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 500 quiet auth sufficient pam_krb5.so use_first_pass auth sufficient pam_winbind.so use_first_pass auth required pam_deny.so
UID och GID RID (Relative Identifier) under Windows är inte kompatibla med UID och GID Winbind ges ett visst antal lokala UID och GID som RID kan mappas mot Detta ställer man in i smb.conf
Konfigurera CentOS Se till att Samba och Winbind är installerat system-config-auth alt. authconfig-tui
Problem med att gå med i AD? Tidsskillnader ntp ntpdate ntpdate adserver.labb.se
Gå med i AD system-config-auth är CentOS-specifikt Allt detta går självklart att göra på andra Linux/UNIXversioner net ads join -U administrator Lista användare i AD:t wbinfo -u
Kerberos-inställningar [logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] default_realm = LABB.SE dns_lookup_realm = true dns_lookup_kdc = true ticket_lifetime = 24h forwardable = yes [realms] LABB.SE = { kdc = adserver.labb.se admin_server = adserver.labb.se kdc = adserver.labb.se } [domain_realm] labb.se = LABB.SE.labb.se = LABB.SE [appdefaults] pam = { debug = false ticket_lifetime = 36000 renew_lifetime = 36000 forwardable = true krb4_convert = false }
Samba-inställningar workgroup = LABB password server = adserver.labb.se realm = LABB.SE security = ads idmap uid = 16777216-33554431 idmap gid = 16777216-33554431 template shell = /bin/bash winbind use default domain = yes winbind offline logon = false winbind separator = \
/etc/nsswitch.conf passwd: shadow: group: files winbind files winbind files winbind
PAM /etc/pam.d/ #%PAM-1.0 # This file is auto-generated. # User changes will be destroyed the next time authconfig is run. auth required pam_env.so auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 500 quiet auth sufficient pam_krb5.so use_first_pass auth sufficient pam_winbind.so use_first_pass auth required pam_deny.so account required pam_unix.so broken_shadow account sufficient pam_succeed_if.so uid < 500 quiet account [default=bad success=ok user_unknown=ignore] pam_krb5.so account [default=bad success=ok user_unknown=ignore] pam_winbind.so account required pam_permit.so password requisite pam_cracklib.so try_first_pass retry=3 password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok password sufficient pam_krb5.so use_authtok password sufficient pam_winbind.so use_authtok password required pam_deny.so session optional pam_keyinit.so revoke session required pam_limits.so session optional pam_mkhomedir.so session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so session optional pam_krb5.so
Samba-utdelningar Utdelningar från en Linuxserver som kör Samba kan använda AD-användare och AD-grupper Sätts som vanligt i smb.conf Datorn måste vara med i domänen precis som en klient
Samba-utdelningar Exempel på Samba-utdelning [testutdelning] comment = Testutdelning path = /var/testutdelning browseable = yes guest ok = no read only = no #Användare och grupper som får komma åt utdelningen valid users = @LABB\labbgrupp LABB\joergen writable = yes create mask = 0665 directory mask = 0775
Demo
Apache + AD Autentisiering via Kerberos Auth i Apache
Förberedelser Apache, mod_kerb_auth Samba konfigurerat som medlem i AD (det vi gick genom förut) Kerberos fungerande kinit administrator@labb.se klist
Service Principal Name Webbservern måste ha rättigheter att utföra HTTPauth mot AD Detta lägger man till med följande kommando net ads keytab create -U administrator net ads keytab add HTTP -U administrator
Apache-konfiguration Standard-conf finns bortkommenterad i /etc/httpd/conf.d/ auth_kerb.conf <Location /hemligt> AuthName "Restricted Access" AuthType Kerberos Krb5Keytab /etc/krb5.keytab KrbAuthRealms $REALM KrbMethodNegotiate On KrbMethodK5Passwd On require valid-user </Location>
Demo