Linux Squid WIN AD autentifikacija – deo2 konfiguracija

Neki početni pojmovi :
workgroup (Samba) – NetBIOS ime domena, ovde MOJA.RADNA.GRUPA
realm (Kerberos) – nije isto što i workgroup, ovde je MOJ.UNUTRAŠNJI.DOMEN
Evo kako dobiti ove podatke :
Type “net config workstation” on the command line of the Windows AD Server to get the workgroup, password server and AD realm.
Logon Domain = workgroup
FQDN = password server
FQDN – Computer Name = realm

Grafički prikaz :
samba+winbind+ldap+nss

Startna postavka : CentOS 6U5
Neophodno je kroz mrežu i firewall-ove propustiti sve potrebne portove!!!
TCP : 135, 139, 389, 445, 464, 636, 5353
UDP : 53, 88, 137,138, 389, 464, 5353
Link za Samba portove.

Podešavanje komunikacije između WIN AD i Linux servera
Na WIN serveru (10.10.10.19, addnswin.mojwin.domen, dcwin.mojwin.domen) :
Prvo je neophodno podesiti da Linux server može da čita AD DNS zapis, kao i da se WIN AD i Linux međusobno pinguju po imenu i IP adresi. To znači i DNS i reverzni DNS zapis na AD DNS-u :
# host -a 10.10.10.95 10.10.10.19
….
95.10.10.10.in-addr.arpa. 3600 IN PTR proxy-2013.moj.unutrašnji.domen.
Odnosno :
# host -a proxy-2013.moj.unutrašnji.domen 10.10.10.19
…..
proxy-2013.moj.unutrašnji.domen. 3600 IN A 10.10.10.95
Na Linux serveru (10.10.10.95) :
Takođe je AD DNS potrebno staviti na prvo mesto Linux /etc/resolv.conf liste :
nameserver 10.10.10.19
U /etc/hosts je potrebno uneti IP i FQDN za WIN AD DC (Domain Controller) :
10.10.10.19 dcwin.moj.unutrašnji.domen
10.10.10.19 addnswin.moj.unutrašnji.domen
To se proverava ovako :
# ping addnswin.moj.unutrašnji.domen
…..
64 bytes from addnswin.mojwin.domen (10.10.10.19): icmp_seq=1 ttl=127 time=0.660 ms
Takođe OBAVEZNO uneti IP adresu AD/DC servera (kod mene je ista mašina u pitanju) u /etc/resolv.conf fajl na PRVOM mestu :
domain moj.unutrašnji.domen
search moj.unutrašnji.domen
nameserver 10.10.10.19
nameserver xyz
…..
Takođe namestiti da je hostname Linux servera : proxy-2013.moj.unutrašnji.domen

Dalja instalacija na Linux serveru
Šta je sve od paketa potrebno imati na Linux serveru : Samba (u okviru koje je i Winbind), Kerberos (paket krb5*), LDAP, SSSD

Potrebno je da Linux postane član WIN domena, jer će onda, korišćenjem WINBIND-a i NSS-a naloge i grupe sa WIN DC videti kao sopstvene.
Instalirati Samba+Winbind
Proveriti da li je instaliran PAM (ako postoji folder /etc/pam.d, onda jeste), ali i pam-devel
Zaustaviti procese : smbd, nmbd, winbindd

Konfigurisati glavni NSS konf fajl /etc/nsswitch.conf :
…..
passwd: files winbind
shadow: files winbind
group: files winbind
…..
hosts: files dns winbind

Konfiguracija za SSSD u /etc/sssd/sssd.conf :
[sssd]
config_file_version = 2
services = nss, pam
domains = MOJ.UNUTRAŠNJI.DOMEN

[nss]
nss_filter_groups = root
nss_filter_users = root
nss_entry_cache_timeout = 30
nss_enum_cache_timeout = 30
[domain/MOJ.UNUTRAŠNJI.DOMEN]

id_provider = ad
ad_server = adwin.moj.unutrašnji.domen
ad_domain = moj.unutrašnji.domen
#Ovo samo isključuje opciju traženja naloga po svim serverima AD drveta
ldap_disable_referrals = true

Konfiguracija kerberosa :
Šta sve treba da je instalirano : krb5-libs/workstation i pam_krb5.
Konfiguracioni fajl je /etc/krb5.conf :
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
default_realm = MOJ.UNUTRAŠNJI.DOMEN
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true

[realms]
MOJ.UNUTRAŠNJI.DOMEN = {
kdc = addnswin.moj.unutrašnji.domen
admin_server = addnswin.moj.unutrašnji.domen
}

[domain_realm]
.moj.unutrašnji.domen = MOJ.UNUTRAŠNJI.DOMEN
moj.unutrašnji.domen = MOJ.UNUTRAŠNJI.DOMEN

Napomena : Daaaaa, ono što je velikim slovima i MORA da bude velikim slovima…..

Konfiguracija Winbind Samba dela u /etc/samba/smb.conf :
Šta od Samba elemenata treba instalirati :
# yum -y install samba samba-client samba-common samba-winbind samba-winbind-clients
[global]
winbind enum users = yes
winbind enum groups = yes
#Ovo gore se odnosi na listovanje naloga pod AD-om, i treba da je “no” ako je broj AD naloga veći od 20000
winbind use default domain = yes
winbind refresh tickets = yes
winbind offline logon = false
idmap config * : range = 16777216-33554431
template shell = /sbin/nologin
workgroup = MOJA.RADNA.GRUPA
encrypt passwords = yes
password server = adwin.moj.unutra[nji.domen
bind interfaces only = yes

security = ads
realm = MOJ.UNUTRAŠNJI.DOMEN
log file = /var/log/samba/log.%m
max log size = 50
log level = 10

Proveriti sa “# testparm” sa bilo koje lokacije.
Uraditi i GUI konfiguraciju pozivom na :
# system-config-authentication

Staviti : winbind/MOJ.REALM/ads/MOJ.UNUTRAŠNJI.DOMEN/adwin.moj.unutrašnji.domen/sbin/nologin/join domain, i “create home dir at fgirst login” pod “Advanced options”.

Podešavanje PAM modula :
/etc/pam.d/system-auth-ac
U “auth” delu, na predzadnje mesto dodati :
auth sufficient pam_winbind.so use_first_pass
U “account” deo, predzadnji deo dodati :
account [default=bad success=ok user_unknown=ignore] pam_winbind.so
U “password” deo, predzadnji red dodati :
password sufficient pam_winbind.so use_authtok
/etc/pam.d/password-auth-ac
U “auth” delu, na predzadnje mesto dodati :
auth sufficient pam_winbind.so use_first_pass
U “account” deo, predzadnji deo dodati :
account [default=bad success=ok user_unknown=ignore] pam_winbind.so
U “password” deo, predzadnji red dodati :
password sufficient pam_winbind.so use_authtok
/etc/pam.d/php (ako fajl ne postoji, napraviti ga)
auth sufficient pam_winbind.so
account sufficient pam_winbind.so

Testiranje veze ka domenu, korišćenjem kredencijala naloga sa domena :
# kdestroy
Brišu se bilo kakvi postojeći tiketi za Kerberos
# klist
klist: No credentials cache found (ticket cache FILE:/tmp/krb5cc_0)
# kinit winad.administrator
Password for winad.admin@MOJ.UNUTRAŠNJI.DOMEN:
Stvar je OK, ako se ovde posle unosa lozinke, ne dobije ništa više.
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: winad.admin@MOJ.UNUTRAŠNJI.DOMEN
Valid starting Expires Service principal
07/21/14 14:50:41 07/22/14 00:50:44 krbtgt/MOJ.UNUTRAŠNJI.DOMEN@MOJ.UNUTRAŠNJI.DOMEN
renew until 07/28/14 14:50:41
Dobijanje stavke “Security Identifier” – SID servera domena (svaki host koji se uključi u domen mora imati svoj jedinstveni SID) :
# net rpc getsid -S addcwin.moj.unutrašnji.domen
Storing SID S-1-5-21-1356224425-2522338176-3780886806 for Domain MOJ.REALM in secrets.tdb

Sada treba Linux dodati u WIN domen :
Prvo testirati da li Linux vidi WIN kao Domen Controler :
# net ads lookup dc MOJ.UNUTRAŠNJI.DOMEN
Information for Domain Controller: 10.10.10.19
Response Type: LOGON_SAM_LOGON_RESPONSE_EX
GUID: aa0llbb3-533e-4271-228e-a258c423c4d6
Flags:
Is a PDC: no
Is a GC of the forest: yes
Is an LDAP server: yes
Supports DS: yes
Is running a KDC: yes
Is running time services: yes
Is the closest DC: no
Is writable: yes
Has a hardware clock: no
Is a non-domain NC serviced by LDAP server: no
Is NT6 DC that has some secrets: no
Is NT6 DC that has all secrets: yes
Forest: moj.unutrašnji.domen
Domain: moj.unutrašnji.domen
Domain Controller: DRDC01.moj.unutrašnji.domen
Proveriti vezu :
# net ads testjoin
Join is OK
# net ads testjoin -U moj.dc.admin.nalog
Join is OK
Kako izlistati naloge i grupe :
# net ads user -U moj.dc.admin.nalog
Enter dc.admin.nalog’s password:
Guest
krbtgt
…..
# net ads group -U moj.dc.admin.nalog
Enter moj.dc.admin.nalog’s password:
Network Configuration Operators
Performance Log Users
…..
# wbinfo -D moj.unutrašnji.domen
Name : moj.realm
Alt_Name : moj.unutrašnji.domen
SID : S-1-5-21-1356225025-88888918176-3780576806
Active Directory : No
Native : No
Primary : Yes
…..
Startujemo sve servise pre priključenja domenu :
# service winbind start
# service smb start
# service nmb start
#  service krb5kdc start
Posle ih podesiti da se uključuju posle restarta…..
# net rpc getsid -S addcwin.moj.unutrašnji.domen
# net ads join -U moj.win.admin.nalog -S dcwin.moj.unutrašnji.domen
Enter moj.win.admin.nalog’s password:
Using short domain name — moj.realm
Joined ‘PROXY-2013’ to realm ‘moj.unutrašnji.domen’

Provera koji su sve portovi u upotrebi :
# netstat -tulpn|egrep “samba|smb|nmb|winbind”
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 3526/smbd
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 3526/smbd
tcp 0 0 :::139 :::* LISTEN 3526/smbd
tcp 0 0 :::445 :::* LISTEN 3526/smbd
udp 0 0 10.35.1.255:137 0.0.0.0:* 2167/nmbd
udp 0 0 10.35.1.95:137 0.0.0.0:* 2167/nmbd
udp 0 0 0.0.0.0:137 0.0.0.0:* 2167/nmbd
udp 0 0 10.35.1.255:138 0.0.0.0:* 2167/nmbd
udp 0 0 10.35.1.95:138 0.0.0.0:* 2167/nmbd
udp 0 0 0.0.0.0:138 0.0.0.0:* 2167/nmbd

Dobar link.
Još jedan odličan link.
Odlično RHEL uputstvo : link.