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

LDAP vs Kerberos

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    ОтветитьУдалить
  12. http://technet.microsoft.com/en-us/library/bb742433.aspx

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

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

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

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

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

    ОтветитьУдалить