вторник, 6 мая 2008 г.

LDAP vs Kerberos

Часто, когда люди узнают, что я использую Kerberos они говорят, что у них чистый LDAP (pam_ldap) и все прекрасно работает, папки монтируются, сервер проверяется на истинность сертификатами. Но главное, что у них не работает это SSO - Single Sign On. То есть пароль придется вводить на доступ к каждой службе отдельно, отдельно на прокси, отдельно на почту. И это мой главный аргумент за использование Kerberos. О том, что в случае использования Kerberos, пароли по сети не передаются в любом виде, я и вовсе молчу. К хорошей сети сложно подключить машину, которой там быть не должно - EAP существует достаточно давно, а потому украсть передаваемый трафик это очень сложная задача.

Тут можно привести еще один аргумент - в среде Kerberos сервер также не получает ваш пароль, и подстановка фальшивого сервера практически невозможна. Ну а если некто и взломает сервер, то пароль он все равно получить не сможет и все что ему достанется это информация на этом самом сервере.

Для меня выбор Kerberos очевиден еще и потому, что установив дружеские отношения с доменом Active Directory, я фактически решил проблему взаимодействия Linux и Windows сред.

15 комментариев:

Анонимный комментирует...

Можно ссылочку на внятное описание и хауту той схемы, которую ты используешь? (Внятное - в смысле не "делай так и будет щастье", а "нам надо решить задачи А, Б и Ц; для решения А надо сделать то-то, для Б - то-то..."

Анонимный комментирует...

А я бы даже от авторского "делай так и будет щастье" не отказался.

Deepwalker комментирует...

Самый часто попадающийся труд:
http://www.bayour.com/LDAPv3-HOWTO.html
Но он не идеален. Также есть еще http://www.securitylab.ru/analytics/264318.php, но мне не нравится.
Фактически эти труды довольно таки бесполезны, так как настройка клиентской машины там обходится стороной все таки. Надо же настраивать pam_ccreds, nss-updatedb, поддержку билета для libnss-ldap/ldapd и тд., иначе это все будет работать плохо и мозг администратора будет подвергаться постоянной атаке.
Авторское описание скоро будет. К конференции, ссылка на которую вверху, надо будет делать презентацию и доклад как раз об используемой мной схеме, ну так не пропадать же им : ) Этот блог, в общем то, посвящен этой теме в основном.

Кай комментирует...

Вот вот, кто бы по этому церберу написал хаутушку на русском, для чайников, всем бы наступило полное счастье.

А то с наскоку сложновато выстроить цельную работающую систему.

Анонимный комментирует...

керберос он по-определению не для чайников. =\

Deepwalker комментирует...

По моему личному мнению, ничего сложного он не содержит. Главное знать как примерно это работает и подводные камни - обратное разрешение имен, время, правильная версия ключа в keytab. В остальном Kerberos работает четко и особых сложностей с ним нет.
Ну по правде говоря, некоторые сервисы при настройке немного сложноватыми бывают, но в общем Kerberos достаточно доступен для понимания.
Раз уж интерес к теме проснулся, то опишу, как и обещал, общую схему с конкретными настройками. Заодно может кто то поправит к лучшему : )

Главное, это то, что в русскоязычном сегменте интернета по Kerberos ну очень мало информации. Хотелось бы собрать работающих с этим в сообщество, чтобы восполнить пробел.

Анонимный комментирует...

>По моему личному мнению, ничего сложного он не содержит.
Так-то оно так, но он требует понимания того, как это работает и держание в голове схемы выстраиваемой системы.

Кстати а ты случаем не в Москве живешь? А то можно было бы на uneex.cs.msu.su семинар на тему устроить. Если есть желание, конечно.

Deepwalker комментирует...

Посмотрел, очень интересно у вас там, но только я в Томске.
Жаль вот, одно время у нас тоже были семинары на такие темы, а сейчас временно затихло все. Но там http://binstream.net/ все организовывал, а он сейчас по всей видимости жутко занят.

Кай комментирует...

> керберос он по-определению не для чайников. =\

Согласен, но ведь люди не рождаются с пониманием цербера. Технология сложная, но научится её использовать можно и уже много где нужно. Но как заметил товарищ - мало вводной литературы на русском, лично для меня это преграда. Я очень долго буду разбираться с англоязычной документацией, что бы понять базу.

Unknown комментирует...

> потому, что установив дружеские отношения с доменом Active Directory, я фактически решил проблему взаимодействия Linux и Windows сред

а можно вопрос? дружеские отношения устанавливали между АД и доменом на основе самбы?

Deepwalker комментирует...

Между AD и сферой kerberos.

Unknown комментирует...

можно поподробнее или сылки какие-нибудь, как сделать доверительные отношения между АД и сферой кербероса?
спасибо

Deepwalker комментирует...

http://technet.microsoft.com/en-us/library/bb742433.aspx

http://www.google.ru/#hl=ru&newwindow=1&q=windows+2000+kerberos+cross+realm

Николай комментирует...

SSO на Kerberos + LDAP, поддерживающее NFS, ssh, apache и т.п. вообще возможно?

Сам SSO где происходит, при авторизации пользователя в системе, т.е. прямо в приглашении gnome или shell?

P.S.: прошу прощения за глупые вопросы, еще не все понял с SSO под *nix.

Deepwalker комментирует...

Конечно возможно. Токен будет получен при логине где угодно - все одно все работают через pam.