Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2016-02-25 11:51:18

SamozwańczyKrólBasha
Lemur
Skąd: Wrocław
Zarejestrowany: 2016-02-24

Kerberos SSO i logowanie z wielu domen

Cześć,

to mój pierwszy post tutaj, więc jeśli zrobię coś nie tak.. będę bił się w pierś :) Problem jaki chcę tu opisać będzie nieco złożony (dla mnie na pewno) i nie wiem czy dam radę udzielić wam dostatecznych informacji. A chodzi o właściwie o integrację usługi na na linuksowym serwerze a wintelowskim AD :) Dacie mi może jednak coś co mnie naprowadzi. Jestem już mocno zdesperowany i nawet nie wiem gdzie się zgłosić :)

Cel jaki mi przedstawiono, parafrazując, przedstawia się tak: Zrób tak by wszyscy użytkownicy będący w rożnych domenach w naszej organizacji (i w różnych krajach i różnych LDAP-ach) mogli być automatycznie logowani do naszej aplikacji oraz w razie awarii "autologowania" mogli logować się za pomocą domenowego loginu i hasła.

Opiszę ogólnikowo co zrobiłem a jeśli ktoś poczuję się zainteresowany tym umiarkowanie interesującym tematem, udzielę szczegółowych wyjaśnień. Swoje serwery (Debian 7) podpiąłem do jednej z domen (Win 2008R2). Na serwerach ustawiłem odpowiednio: krb5.conf ( MIT kerberos), sambę, nsswitch.conf, resolv.conf itd. Polecenia klist, net ads, wbinfo zwracają wartości zgodnie z oczekiwaniem.
Dla aplikacji z którą łączyć będą się użytkownicy wygenerowałem na kontrolerze domeny keytaby (umieściłem na moich serwerach debianowych) i ustawiłem spn-y. Miedzy wszystkimi domenami relacje zaufania w dwie strony.

Problem nr 1
W połowie przypadków efekt jest taki ,że faktycznie użytkownicy są autmatycznie logowani do aplikacji z każdej jednej domeny. Ticket kerberosa wydaje się przechodzi cała drogę od użytkownika poprzez kontroler do serwera aplikacji. W drugiej połowie domen natomiast po wpisaniu w przeglądarkę url-a przez użytkownika nic się nie dzieje. Ticket kerberosa nie jest odbierany przez serwer aplikacji. W logach niema nic. Nie jestem też w stanie stwierdzić różnic w konfiguracji pomiędzy kontrolerami na platformie windows natomiast na Linuxach wszystko wydaję się być ok.

Problem nr 2
W przypadku testowym kiedy SSO jest wyłączone i użytkownicy powinni logować się po LDAP-ie poprzez login i hasło, sytuacja przedstawia się tak: W domenie A (do której podpięty jest mój linuxowy serwer aplikacyjny) user loguję się normalnie. Czyli nazwausera hasło. W domenie B user nie może się zalogować tak jak w A. Musi do nazwy użytkownika dodać sufiks domeny czyli np:
nazwausera@domena.de. Co najciekawsze jak wejdę na kontroler odpowiadający np za domena.de i stworze tam usera w tym samym OU co wszyscy to ten użytkownik może logować się bez sufiksu. O.o

Jeśli się wygłupiłem lub problem okaże się banalny to przepraszam. Jestem wciąż początkującym adminem. Jeśli kogoś tu interesuję ten temat to chętnie udzielę bardziej szczegółowe info. Będę wdzięczny za wszelką pomoc

Ostatnio edytowany przez SamozwańczyKrólBasha (2016-02-25 11:54:05)


A teraz wzbudzę w was poczucie niższości. Zresztą uzasadnione :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.007 seconds, 9 queries executed ]

Informacje debugowania

Time (s) Query
0.00009 SET CHARSET latin2
0.00003 SET NAMES latin2
0.00148 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.117.107.78' WHERE u.id=1
0.00109 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.117.107.78', 1732753719)
0.00053 SELECT * FROM punbb_online WHERE logged<1732753419
0.00061 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=28312 AND t.moved_to IS NULL
0.00005 SELECT search_for, replace_with FROM punbb_censoring
0.00075 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=28312 ORDER BY p.id LIMIT 0,25
0.00102 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=28312
Total query time: 0.00565 s