Страница 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
Гость
да я все понимаю
но практика показывает
что даже плотник должен уметь разбиратся в конструировании самолётов и андронных колаидеров