CentOS 6.4: autentizace přes AD

On

CentOS 6.4: autentizace přes AD
« kdy: 25. 05. 2013, 11:14:30 »
Ahoj,

nějak se mi nedaří zprovoznit autentizaci přes LDAP.
Nevím, jestli je rozdíl mezi "standartním" LDAP, např na linuxu nebo LDAP přes Active Directory.

Zde je krásný návod:
http://www.idevelopment.info/data/LDAP/LDAP_Resources/OPENLDAP_Configure_System_to_Authenticate_Using_OpenLDAP_CentOS5.shtml#authconfig%20-%20%28CLI%29


...ale /var/log/secure při autentizaci píše "Invalid user" ...přitom v AD tento user samozřejmě je.
Byla by rada co je špatně?

V návodu, jak je test v podobě "ldapsearch", tak vše proběhne v pořádku. Z LDAP se spojí a vypíše všechny uživatele...nefunguje to ale na úrovni SSH.
« Poslední změna: 25. 05. 2013, 22:50:08 od Petr Krčmář »


macpac

Re:CentOS 6.4 - SSH: Autentizace přes Active Directory (LDAP)
« Odpověď #1 kdy: 25. 05. 2013, 13:18:01 »
zkus u uzivatele v AD upravit uid, zrejme bude mit prazdnou hodnotu.
uzivatel->vlastnosti->editor atributu->uid
zadej tam stejne prihlasovaci jmeno uzivatele daneho uzivatele at v tom neni gulas ;)

On

Re:CentOS 6.4 - SSH: Autentizace přes Active Directory (LDAP)
« Odpověď #2 kdy: 25. 05. 2013, 14:25:08 »
V pondělí, jak budu v práci, tak se mrknu ..moc se mi ale nelíbí úprava čehokoliv v AD :)
Doufal jsem, že v AD nebude třeba nic měnit. Webové aplikace, které využívají LDAP, např moodle a jiné, ty nepotřebují u uživatelů v AD nic měnit.
Tak nějak jsem doufal, že by to mohlo být i u ssh. Ale mrknu tam..

díky za navedení

macpac

Re:CentOS 6.4 - SSH: Autentizace přes Active Directory (LDAP)
« Odpověď #3 kdy: 25. 05. 2013, 15:36:32 »
V AD nic nemenis, jen pridas hodnotu :)
Ja na tuto polozku prisel pri overovani uzivatelu z ajaxexploreru, kde se mi to ne a ne overit, az pak mne na netu nakopli s hodnotou uid pro unix systemy ;)

On..

Re:CentOS 6.4: autentizace přes AD
« Odpověď #4 kdy: 27. 05. 2013, 14:40:49 »
Tak je pravda, že hodnota uid nebyla nastavena, nastavil jsem tedy...Pořád se mu ale moc nechce..zde je debugovací výpis první úrovně z logu.

Kód: [Vybrat]
May 27 14:18:27 localhost sshd[1022]: debug1: Forked child 5566.
May 27 14:18:27 localhost sshd[5566]: Set /proc/self/oom_score_adj to 0
May 27 14:18:27 localhost sshd[5566]: debug1: rexec start in 5 out 5 newsock 5 pipe 7 sock 8
May 27 14:18:27 localhost sshd[5566]: debug1: inetd sockets after dupping: 3, 3
May 27 14:18:27 localhost sshd[5566]: Connection from xxx.xxx.xxx.xxx port 51286
May 27 14:18:27 localhost sshd[5566]: debug1: Client protocol version 2.0; client software version OpenSSH_6.1p1 Debian-4
May 27 14:18:27 localhost sshd[5566]: debug1: match: OpenSSH_6.1p1 Debian-4 pat OpenSSH*
May 27 14:18:27 localhost sshd[5566]: debug1: Enabling compatibility mode for protocol 2.0
May 27 14:18:27 localhost sshd[5566]: debug1: Local version string SSH-2.0-OpenSSH_5.3
May 27 14:18:27 localhost sshd[5567]: debug1: permanently_set_uid: 74/74
May 27 14:18:27 localhost sshd[5567]: debug1: list_hostkey_types: ssh-rsa,ssh-dss
May 27 14:18:27 localhost sshd[5567]: debug1: SSH2_MSG_KEXINIT sent
May 27 14:18:27 localhost sshd[5567]: debug1: SSH2_MSG_KEXINIT received
May 27 14:18:27 localhost sshd[5567]: debug1: kex: client->server aes128-ctr hmac-md5 none
May 27 14:18:27 localhost sshd[5567]: debug1: kex: server->client aes128-ctr hmac-md5 none
May 27 14:18:27 localhost sshd[5567]: debug1: SSH2_MSG_KEX_DH_GEX_REQUEST received
May 27 14:18:27 localhost sshd[5567]: debug1: SSH2_MSG_KEX_DH_GEX_GROUP sent
May 27 14:18:27 localhost sshd[5567]: debug1: expecting SSH2_MSG_KEX_DH_GEX_INIT
May 27 14:18:27 localhost sshd[5567]: debug1: SSH2_MSG_KEX_DH_GEX_REPLY sent
May 27 14:18:27 localhost sshd[5567]: debug1: SSH2_MSG_NEWKEYS sent
May 27 14:18:27 localhost sshd[5567]: debug1: expecting SSH2_MSG_NEWKEYS
May 27 14:18:27 localhost sshd[5567]: debug1: SSH2_MSG_NEWKEYS received
May 27 14:18:27 localhost sshd[5567]: debug1: KEX done
May 27 14:18:27 localhost sshd[5567]: debug1: userauth-request for user lliu service ssh-connection method none
May 27 14:18:27 localhost sshd[5567]: debug1: attempt 0 failures 0
May 27 14:18:27 localhost sshd[5566]: Address xxx.xxx.xxx.xxx maps to notebook.cz, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
May 27 14:18:27 localhost sshd[5566]: Invalid user lliu from xxx.xxx.xxx.xxx
May 27 14:18:27 localhost sshd[5567]: input_userauth_request: invalid user lliu
[b]May 27 14:18:27 localhost sshd[5566]: debug1: PAM: initializing for "lliu"
May 27 14:18:27 localhost sshd[5566]: debug1: PAM: setting PAM_RHOST to "xxx.xxx.xxx.xxx"
May 27 14:18:27 localhost sshd[5566]: debug1: PAM: setting PAM_TTY to "ssh"[/b]
May 27 14:18:28 localhost sshd[5567]: debug1: userauth-request for user lliu service ssh-connection method publickey
May 27 14:18:28 localhost sshd[5567]: debug1: attempt 1 failures 0
May 27 14:18:28 localhost sshd[5567]: debug1: userauth-request for user lliu service ssh-connection method publickey
May 27 14:18:28 localhost sshd[5567]: debug1: attempt 2 failures 1
May 27 14:18:28 localhost sshd[5567]: debug1: userauth-request for user lliu service ssh-connection method publickey
May 27 14:18:28 localhost sshd[5567]: debug1: attempt 3 failures 2
May 27 14:18:28 localhost sshd[5567]: debug1: userauth-request for user lliu service ssh-connection method publickey
May 27 14:18:28 localhost sshd[5567]: debug1: attempt 4 failures 3
May 27 14:18:41 localhost sshd[5567]: debug1: userauth-request for user lliu service ssh-connection method password
May 27 14:18:41 localhost sshd[5567]: debug1: attempt 5 failures 4
May 27 14:18:41 localhost sshd[5566]: pam_unix(sshd:auth): check pass; user unknown
May 27 14:18:41 localhost sshd[5566]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=xxx.xxx.xxx.xxx
May 27 14:18:41 localhost sshd[5566]: pam_succeed_if(sshd:auth): error retrieving information about user lliu
May 27 14:18:43 localhost sshd[5566]: debug1: PAM: password authentication failed for an illegal user: User not known to the underlying authentication module
May 27 14:18:43 localhost sshd[5566]: Failed password for invalid user lliu from xxx.xxx.xxx.xxx port 51286 ssh2
May 27 14:18:46 localhost sshd[5567]: Connection closed by xxx.xxx.xxx.xxx
May 27 14:18:46 localhost sshd[5567]: debug1: do_cleanup
May 27 14:18:46 localhost sshd[5566]: debug1: do_cleanup
May 27 14:18:46 localhost sshd[5566]: debug1: PAM: cleanup


Nějak mi nepřijde, že by s AD vůbec komunikoval...tcpdump taky mlčí.


Re:CentOS 6.4: autentizace přes AD
« Odpověď #5 kdy: 06. 06. 2013, 16:22:11 »
Ahoj, když sem kdysi něco podnného dělal, tak tomu LDAP  dotazu vadily speciální znaky - háčky, čárky, podtžítka. Zkus v AD vytvořit primitivního uživate, například: uzivatel a heslo heslo, dej tomu uživateli práva domain admina a otestuj to s ním, pokud to pojede, budeš vědět, kde je chyba.

Re:CentOS 6.4: autentizace přes AD
« Odpověď #6 kdy: 06. 06. 2013, 16:30:23 »
Pročítal sem si teď ten log a nedává to moc hlavu ani patu, pokud to máš v interní síti, tak by do toho snad firewall neměl zasahovat, pokud tedy není jednech z těch serverů GW, v tom případě bych si vypln na chvilku všechna pravidla pro interní provoz. IUvidíš, co se stane.

Re:CentOS 6.4: autentizace přes AD
« Odpověď #7 kdy: 06. 06. 2013, 21:44:18 »
Hoj,
v praci jsem resil Squida s autorizovanym pristupem, pres LDAP, kerberos, samba jsem se nakonec po doporuceni rozhodl a rozchodil autorizaci pres radius. Ldapem helprem v shellu jsem si taky browsnul do LDAP v ADcku, ale je pravda, ze jsem mu tam daval vetev, ve kterem byl uzivatel (ja). A pak jsem se dozvedel kdesi, ze problem muze bejt v tom, ze hledani neni ve vnorenych "skupinach" atd. Takze jsem se pustil do radius squid helpru a skvele to bezi :).
Jo pro info - jako radius pouzivame Cisco Access Server, ktery uz stejne je kvuli par vecem. Jinak pry i jedna z roli AD muze byt radius server, nejak se to jmenuje, uz jsem to kupodivu zapomnel :).
Neradim, nenutim, jen se delim o zkusenosti, treba se nekomu jinymu casem hodej. Me osobne nekdy staci jen nakopnuti spravnym smerem :)
Toz zatim
Josef Karliak alias chose

chsajarsa

Re:CentOS 6.4: autentizace přes AD
« Odpověď #8 kdy: 07. 06. 2013, 09:15:59 »
Imho ja bych to ted resil jinak. Pokud se jedna o vetsi pocit serveru, tak bych synchronizoval AD s IPA. Pokud se jedna o mensi pocet, tak bych i tak pouzil trochu jinou cestu nez je uvedena v navodu pro centos 5. Realizoval by jsem to takto: https://access.redhat.com/site/solutions/43646 s pouzitim sssd.

Re:CentOS 6.4: autentizace přes AD
« Odpověď #9 kdy: 07. 06. 2013, 10:11:40 »
Nevím, jestli je rozdíl mezi "standartním" LDAP, např na linuxu nebo LDAP přes Active Directory.

Rozdíly tu jsou.

Hlavně při založení uživatele v AD se automaticky nenastaví atributy nutných/vhodných pro *nix přihlášení. Ve schématu AD je to nazváno jako uid, uidNumber, gidNumber, unixHomeDirectory. Je dobré si do AD doinstalovat službu "Správa identit pro systém UNIX", případně i "Server pro službu NIS", které pomohou tyto atributy pohodlněji nastavovat (ale nutné to není, dá se to editovat ručně).

Dále je potřeba zajistit mapování těchto atributů do NSS. Nevím, jak v CentOS, v debianu je to v konfiguráku /etc/nslcd.conf. (Tady se dá mimochodem nastavit, že se jako login vezme atribut sAMAccountName místo uid)

Každopádně
Kód: [Vybrat]
getent passwd musí vyhodit i jména uživatelů z AD, jinak je něco špatně v nastavení NSS+ldap.



Samotnou autentizaci řeší PAM, dá se použít ověření proti LDAP serveru nebo Kerberos (obojí standardně AD nabízí).  Tady si nejsem jistý, zda je vše OK (aspoň z logu není patrné, že by se pam_ldap zapojil do hry). Zkontroloval bych nastavení /etc/pam.d

Re:CentOS 6.4: autentizace přes AD
« Odpověď #10 kdy: 07. 06. 2013, 11:35:27 »
Mám vytvořený program, který se stará o tvorbu uživatelů v doméně, program sice ještě není takový, jaký bych chtěl, ale pokud ho vyhotovím, tak bych se o něj mohl podělit, kdyby někdo chtěl, to je proto, jak David napsal, že se to dá editovat ručně (nechtělo se mi to dělat pro tisíc uživatelů, na to sem byl moc zdechlý :D, jediná "nevýhoda" daného programu je, že je udělán ve Visual Studiu, ale AD je součást Windows, tak no big deal). Jde totiž o to, že programy, které toto obsahují (takzvaná správa identit), sou strašně drahé, a já sem potřeboval jen určité funkce (tvorba domain users a groups, složek ideálně v DFSR a exchange mailboxů, ale na ty mailboxy volám externí program, který se válí někde na netu).

Re:CentOS 6.4: autentizace přes AD
« Odpověď #11 kdy: 07. 06. 2013, 11:48:14 »
aspoň z logu není patrné, že by se pam_ldap zapojil do hry
Taky ho tam nevidim. Tipoval bych, ze pam_ldap v konfiguraci pam vubec neni, nebo je tam pam_unix jako require a zaroven neni nainstalovany nss_ldap a spravne nastaveny nsswitch.conf.