LINUX.ORG.RU

Вход с произвольным паролем

 , , ,


0

2

Всем привет!

Внезапно и совершенно случайно выяснил, что на ноутбуке, на котором я экспериментирую с Gentoo, под учётной записью root можно войти с ЛЮБЫМ паролем. Более того - был момент, когда можно было войти с любым паролем под моей доменной учётной записью.

Честно говоря, я в лёгком ауте и мозг не может обработать возникшее исключение. В связи с чем вопрос - куда копать-то?! Конфигурация PAM менялась только в цепочке system-auth - были добавлены pam_winbind и pam_krb5.

★★

Последнее исправление: Cyril (всего исправлений: 2)

pam и виноват, он сказал что ОК, вот тебя и пустили

sdio ★★★★★
()
Ответ на: комментарий от Cyril

Ага. Но вот куда?! Смотрю на system-auth, криминала не вижу.

ИМХО проще всего будет посмотреть diff между оригинальными искоробочными конфигами и твоими конфигами.

P.S. etckeeper рулит.

Deleted
()
Ответ на: комментарий от anonymous

Чуть позже. Машина не в сети на данный момент.

Cyril ★★
() автор топика
Ответ на: комментарий от Deleted

Ага, рулит. И он даже там есть. Ж;-) Diff посмотрю, конечно, ради очистки совести - но проблема в том, что я не знаю, в какой момент система начала себя так вести. Возможно, так было изначально - но раньше я не ошибался и не вводил пароль доменного пользователя при попытке входа под root'ом.

Cyril ★★
() автор топика
Ответ на: комментарий от riki

Ну выложу, выложу. Ж;-) Говорю же - машина не в сети, и дёргать я её сейчас не хочу, так как успел начать обновление Firefox и Thunderbird (из локального кэша, если что). Времени потраченного жалко.

Cyril ★★
() автор топика
Ответ на: комментарий от Cyril

Ждём, не вопрос. Как раз задался целью найти незаметную уязвимость в аутентификации.
Не торопись, главное - не забудь.

riki ★★★★
()
Ответ на: комментарий от riki

Уже не забыл... Ж:-\ Пришёл домой и обнаружил, что отсутствие сети, которое я списал на глюк, ни фига глюком не является. Gentoo не видит сетевую карту. Ладно, думаю, не первый раз при обновлении что-то ломается - сейчас с LiveCD поправим. И чтобы вы думали? Тот самый LiveCD, с которого ставилась система, тоже не видит сетевую карту! При этом Windows 8 в dual boot на этой же машине прекрасно всё видит. При этом списать проблемы на то, что Windows 8 что-то там накосячила, не получится - утром карта была видна под Gentoo, и Windows запускалась только после обнаружения невидимости сетевой (пропавшей в середине сеанса) ни системой на диске, ни LiveCD.

Не мой день сегодня... Ж:-\ Спишу system-auth на флэшку и выложу. Хотя теперь не уверен, что это имеет смысл - ковыряться всё равно нельзя, пока сеть не починю.

Cyril ★★
() автор топика
Последнее исправление: Cyril (всего исправлений: 1)
Ответ на: комментарий от Cyril
auth		sufficient	pam_unix.so try_first_pass broken_shadow likeauth nullok 
auth		optional	pam_permit.so
#auth		sufficient	pam_ldap.so use_first_pass
auth		sufficient	pam_winbind.so cached_login use_first_pass 
auth		sufficient	pam_krb5.so use_first_pass
auth		required	pam_env.so

account		sufficient	pam_unix.so broken_shadow
account		sufficient	pam_localuser.so
account		[default=bad success=ok user_unknown=ignore]	pam_winbind.so cached_login
#account	sufficient	pam_ldap.so
account		required	pam_permit.so

password	required	pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3 
password	sufficient	pam_unix.so use_authtok nullok sha512 shadow 
password	optional	pam_permit.so
#password	sufficient	pam_winbind.so 
password	sufficient	pam_krb5.so
#password	sufficient	pam_ldap.so
password	required	pam_deny.so

session		required	pam_limits.so
session		optional	pam_permit.so
session		optional	pam_mkhomedir.so
session		required	pam_env.so
session		required	pam_unix.so
Cyril ★★
() автор топика
Последнее исправление: Cyril (всего исправлений: 1)
Ответ на: комментарий от Cyril

Ну так это. Похоже, кто-то из pam_winbind.so и pam_krb5.so разрешает вход. pam_unix.so помечен только как sufficient, а не как required, поэтому верный пароль пользователя не обязателен, если разрешил один из оставшихся модулей с sufficient.

anonymous
()
Ответ на: комментарий от anonymous

Про pam_unix - верное замечание, не увидел сам. Pam_winbind и pam_krb5, скорее всего, ни при чём - они не могут разрешить вход для root с произвольным паролем в домене (нет такого пользователя и нет возможности задать пользователя с пустым паролем - штатной, по крайней мере); они могут пропустить его дальше, так как тоже помечены sufficient. Если они ведут себя иначе - это очень странно. С другой стороны, при текущем раскладе получается, что все методы аутентификации, кроме бесполезного в данном случае pam_env, либо просто достаточны, либо вообще опциональны. И получается, что реально пользователя пропускает pam_env.

Несколько секунд думал, что проблема в комбинации pam_unix как sufficient и pam_permit - но потом вспомнил, что pam_permit уже убирал из цепочки, и безрезультатно.

Поменяю pam_unix на required и посмотрю, что изменится. Полагаю, что это практически решение проблемы.

Cyril ★★
() автор топика
Ответ на: комментарий от Cyril

Pam_winbind и pam_krb5, скорее всего, ни при чём - они не могут разрешить вход для root с произвольным паролем в домене (нет такого пользователя и нет возможности задать пользователя с пустым паролем - штатной, по крайней мере); они могут пропустить его дальше, так как тоже помечены sufficient.

Ага, точно. Зря я на них бочку качу. Надо перечитывать маны иногда.

Поменяю pam_unix на required и посмотрю, что изменится. Полагаю, что это практически решение проблемы.

Тогда перестанут работать другие способы аутентификации. У меня есть лучшее решение. Попробуйте добавить pam_deny в конце auth-стека.

anonymous
()
Ответ на: комментарий от anonymous

Тогда перестанут работать другие способы аутентификации.

Логично. Сейчас проверил рабочую конфигурацию с другой машины - там именно так, pam_unix как sufficient и pam_deny как required.

Cyril ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.