Страница 1 из 1
FreeBSD + pam_radius.so | pam_tacplus.so
Добавлено: 2011-02-22 12:19:21
gbyte
Настраивал ли кто-либо авторизацию в FreeBSD через pam_radius.so или pam_tacplus.so?
Вторую неделю мучаюсь.
man pam_radius, pam_tacplus, radius.conf, tacacs.conf прочитал.
Дядя Гугл инфы по теме практически не дает.
Сейчас положение дел такое:
В качестве TACACS+/RADIUS сервера используется Cisco ACS 5.
pam_radius.so говорит:
Код: Выделить всё
Feb 21 11:19:44 webserv sshd[99280]: Invalid user user1 from 172.1.1.100
Feb 21 11:19:48 webserv sshd[99282]: in openpam_dispatch(): pam_radius.so: no pam_sm_acct_mgmt()
Feb 21 11:19:48 webserv sshd[99280]: fatal: Internal error: PAM auth succeeded when it should have failed
То есть авторизация проходит, проблема начинается на аккаунтинге.
Пробовал pam_tacplus.so - тоже проблемы. Cisco ACS пишует в логе:
Код: Выделить всё
24408 User authentication against Active Directory failed since user has entered the wrong password
При этом пароль я точно ввожу правильно. Или я что-то не так делаю или ACS пароль расшифровать не может.
Кто настраивал, поделитесь конфигами.
Re: FreeBSD + pam_radius.so | pam_tacplus.so
Добавлено: 2011-02-22 12:47:53
Гость
копайте в расширеное логирование
там и увидите ошибку
Re: FreeBSD + pam_radius.so | pam_tacplus.so
Добавлено: 2011-02-22 13:20:50
gbyte
если имеется ввиду директива "debug" на уровне модулей, то она включена.
никакой дополнительной информации не дает.
если не трудно, уточните что имеется ввиду?
Re: FreeBSD + pam_radius.so | pam_tacplus.so
Добавлено: 2011-02-22 13:52:22
Гость
если верить
http://svn.freebsd.org/viewvc/base/stab ... iew=markup
должны присутсвовать такой логинг
Got user:
Got password
Radius opened
он где то есть?
что он показывает там еще?
Re: FreeBSD + pam_radius.so | pam_tacplus.so
Добавлено: 2011-02-22 13:55:46
gbyte
при включенном debug и отключенном no_warn сообщает только:
Код: Выделить всё
Feb 21 11:19:44 webserv sshd[99280]: Invalid user user1 from 172.1.1.100
Feb 21 11:19:48 webserv sshd[99282]: in openpam_dispatch(): pam_radius.so: no pam_sm_acct_mgmt()
Feb 21 11:19:48 webserv sshd[99280]: fatal: Internal error: PAM auth succeeded when it should have failed
Re: FreeBSD + pam_radius.so | pam_tacplus.so
Добавлено: 2011-02-22 14:01:46
gbyte
Конфиги:
Код: Выделить всё
# grep -v '#' sshd
auth sufficient pam_opie.so no_warn no_fake_prompts
auth requisite pam_opieaccess.so no_warn allow_local
auth sufficient pam_radius.so debug try_first_pass template_user=raduser
auth required pam_unix.so try_first_pass
account required pam_nologin.so
account sufficient pam_radius.so template_user=raduser
account required pam_login_access.so
account required pam_unix.so
session required pam_permit.so
password required pam_unix.so try_first_pass
# cat ../radius.conf
#
auth acs FAKEkey 3
#
acct acs FAKEkey 3
Re: FreeBSD + pam_radius.so | pam_tacplus.so
Добавлено: 2011-02-22 14:17:32
Гость
if (type == PAM_SUCCESS) {
if (!sshpam_authctxt->valid ||
(sshpam_authctxt->pw->pw_uid == 0 &&
options.permit_root_login != PERMIT_YES))
fatal("Internal error: PAM auth "
"succeeded when it should have "
"failed");
import_environments(&buffer);
*num = 0;
**echo_on = 0;
ctxt->pam_done = 1;
xfree(msg);
return (0);
}
тоесть из под рута заходить нельзя
Re: FreeBSD + pam_radius.so | pam_tacplus.so
Добавлено: 2011-02-22 14:27:09
Гость
либо нужно разрешить
options.permit_root_login != PERMIT_YES
Re: FreeBSD + pam_radius.so | pam_tacplus.so
Добавлено: 2011-02-22 15:22:39
gbyte
1. естественно захожу не под рутом.
2. допустим что ssh думает что я рут по данным которые ему предосталяет pam_radius.so
3. включил "PerminRootLogin=yes"
4. #/etc/rc.d/sshd restart
5. попробовал перезайти - результат тотже
Re: FreeBSD + pam_radius.so | pam_tacplus.so
Добавлено: 2011-02-22 15:31:31
Гость
ну тогда хз
включайте более подробный дебаг все и sshd тоже
и изучайте
мне откровенно лень разбиратся
но условие там елементарное
повторюсь в коде а не квоте
http://src.gnu-darwin.org/src/crypto/op ... pam.c.html
Код: Выделить всё
case PAM_SUCCESS:
if (**prompts != NULL) {
/* drain any accumulated messages */
debug("PAM: %s", **prompts);
buffer_append(&loginmsg, **prompts,
strlen(**prompts));
xfree(**prompts);
**prompts = NULL;
}
if (type == PAM_SUCCESS) {
if (!sshpam_authctxt->valid ||
(sshpam_authctxt->pw->pw_uid == 0 &&
options.permit_root_login != PERMIT_YES))
fatal("Internal error: PAM auth "
"succeeded when it should have "
"failed");
import_environments(&buffer);
*num = 0;
**echo_on = 0;
ctxt->pam_done = 1;
xfree(msg);
return (0);
}
error("PAM: %s for %s%.100s from %.100s", msg,
sshpam_authctxt->valid ? "" : "illegal user ",
sshpam_authctxt->user,
get_remote_name_or_ip(utmp_len, options.use_dns));
/* FALLTHROUGH *
Re: FreeBSD + pam_radius.so | pam_tacplus.so
Добавлено: 2011-02-22 15:33:37
Гость
повторюсь условие там елементарное
или нелегальный юзер, или uid == 0 и рут
тогда ошибка
Re: FreeBSD + pam_radius.so | pam_tacplus.so
Добавлено: 2011-02-22 16:14:53
gbyte
Я понимаю.
Код тоже прочитал.
Сам нахожусь в тупике.
Может кто-то всетаки имеет практический опыт и готов поделится?
Re: FreeBSD + pam_radius.so | pam_tacplus.so
Добавлено: 2011-02-22 16:18:23
Гость
а кто вам мешает помиеть такой опыт?
берете компилятор gcc
редактор vi
и обычными printf смотрите что же там за значения в условии
и какое именно уловие там срабатывает
далее ищете кто как и когда то условие модифицирует что бы оно корретно отработало
Re: FreeBSD + pam_radius.so | pam_tacplus.so
Добавлено: 2011-02-22 17:32:28
gbyte
Уважаемый, Гость!
Я прекрасно понимаю что можно и ОС самостоятельно написать, затем перечитав все RFC написать под нее собственный сетевой стек и тд и тп.
Можно и одежду шить самостоятельно, пищу выращивать/добывать и тд.
Но если так делать, времени ни на жизнь ни на работу не останется.
Поэтому предпочитаю использовать готовые решения.
Настраиваю по МАНам, но возникли проблемы.
А на форум обратился в надежде что кто-то имел опыт и более удачив/умен чем я и знает где подкрутить...
Если будут еще конструктивные предложения, буду рад.
Re: FreeBSD + pam_radius.so | pam_tacplus.so
Добавлено: 2011-02-22 17:41:38
Гость
да я все понимаю
но практика показывает
что даже плотник должен уметь разбиратся в конструировании самолётов и андронных колаидеров