alibek Posted September 23, 2016 Posted September 23, 2016 Использую этот сервер: http://www.pro-bono-publico.de/projects/tac_plus.html Есть странность, которую я никак не пойму. Есть такая конфигурация: acl = office { nac = 10.1.144.3 } group = monitor { acl = office message = "Login as @monitor (status and audit), username %%u\n" default service = deny enable = permit service = shell { default command = deny default attribute = deny set priv-lvl = 1 set orign-priority = 1 cmd = show { permit .* } cmd = search { permit .* } cmd = test { permit .* } cmd = ping { permit .* } cmd = enable { permit .* } } } user = check { login = clear "password" member = monitor@access } Не могу выполнить вход под логином check. В логах такое: 2016-09-23 14:56:33 +0300 10.1.13.127 check tty1 shell login denied by ACL Но я выполняю вход из 10.1.144.3. И если ACL выключить, перезапустить сервис и попытаться войти повторно, то вход под логином check выполняется и в логах вот что: 2016-09-23 14:48:54 +0300 10.1.13.127 check tty1 10.1.144.3 start task_id=47 zonelist=UTC service=shell priv-lvl=1 Вставить ник Quote
FATHER_FBI Posted September 23, 2016 Posted September 23, 2016 Покажите полный конфиг Вставить ник Quote
alibek Posted September 23, 2016 Author Posted September 23, 2016 #!/usr/local/sbin/tac_plus syslog default = deny id = spawnd { listen = { port = 49 } spawn = { instances min = 1 instances max = 4 } } id = tac_plus { debug = ACL PACKET AUTHEN AUTHOR authentication log = /store/mgmt/logs/tacacs-access.log authorization log = /store/mgmt/logs/tacacs-author.log accounting log = /store/mgmt/logs/tacacs-account.log host = world { key = "no-access" address = 0.0.0.0/0 } host = access { key = secret address = 10.1.10.0/24 address = 10.1.11.0/24 address = 10.1.12.0/24 address = 10.1.13.0/24 address = 10.1.14.0/24 # single-connection may-close = yes prompt = "\n(access level)\n\n" welcome banner = "\nUnauthorized access is prohibited.\n Host %%r, client %%c (logged)\n" motd banner = "Welcome, %%u. Date is %F, clock is %T (%Z %:z)\n" } acl = special { # nac = 10.1.0.0/16 } acl = special { port = tty0 } acl = backbone { # nac = 10.1.0.0/16 } acl = office { # nac = 10.1.144.3 } acl = local { port = tty0 } group = admin { acl = special message = "Login as @admin (full access), username %%u\n" default service = permit service = shell { default command = permit default attribute = permit set priv-lvl = 15 } } group = service { acl = special message = "Login as @service (service and maintenance), username %%u\n" default service = permit service = shell { default command = permit default attribute = permit set priv-lvl = 15 } } group = support { acl = office message = "Login as @support (support and port control), username %%u\n" default service = permit service = shell { default command = permit default attribute = permit set priv-lvl = 15 } } group = monitor { acl = office message = "Login as @monitor (status and audit), username %%u\n" default service = deny enable = permit service = shell { default command = deny default attribute = deny message permit = "Permitted '%c %a'" message deny = "Denied '%c %a'" set priv-lvl = 1 set orign-priority = 1 cmd = show { permit .* } cmd = search { permit .* } cmd = test { permit .* } cmd = ping { permit .* } cmd = enable { permit .* } set autocmd = "show version" } } user = admin { login = clear "pwd" member = admin@access } user = oper { login = clear "pwd" member = service@access } user = check { login = clear "pwd" member = monitor@access } user = user1 { login = clear "pwd" member = support@access } } В ходе экспериментов обнаружилось, что ACL, в которых используется nac или port, работают неадекватно. То работают, то не работают, чаще не работают, закономерности никакой нет. Вставить ник Quote
FATHER_FBI Posted September 23, 2016 Posted September 23, 2016 В ходе экспериментов обнаружилось, что ACL, в которых используется nac или port, работают неадекватно. Глючит случайно не ACL? acl = special { port = tty0 } Вставить ник Quote
alibek Posted September 23, 2016 Author Posted September 23, 2016 Нет, его я пробовал убирать. Вставить ник Quote
YuryD Posted September 25, 2016 Posted September 25, 2016 Не уверен, но с тас+ скакал по граблям из-за несинхронности времени на нас и такаксе, там типа члючи шифрования уезжали от несинхрона. Но это было давно.... Смутно помню, что если нас отставал во времени и впадал в 1970г, то тас+ не авторизовывал вообще никого, на диалапе еще дело было... Вставить ник Quote
alibek Posted September 25, 2016 Author Posted September 25, 2016 Часы я проверял, они синхронизированы. Там что-то другое. Включил дебаг и в дебаге он явно писал, что NAC != 10.1.144.3. А вот почему - непонятно, в дебаге полученное значение NAC я не нашел. Вставить ник Quote
FATHER_FBI Posted September 25, 2016 Posted September 25, 2016 Часы тут не причем, проверено на tacacs+/tac_mavis/radius 2 и radius 3 Если я правильно понял, под NAC подразумевается IP рабочей станции? Вставить ник Quote
vurd Posted September 26, 2016 Posted September 26, 2016 Этот ацл не должен ли случайнл указывать на ип адрес удаленного устройства, а не на клиента? Вставить ник Quote
alibek Posted September 26, 2016 Author Posted September 26, 2016 Удаленное устройство это NAS, по нему ACL срабатывают успешно. А вот по NAC то работают, то не работают. Вставить ник Quote
FATHER_FBI Posted September 26, 2016 Posted September 26, 2016 Удаленное устройство это NAS, по нему ACL срабатывают успешно. А вот по NAC то работают, то не работают. Скорей всего проблема может быть в том что свич не в верном формате передает ip address компьютера, который на него подключается или не передает вовсе. P.S. Имеет ли вообще смысл ограничивать входы с определенных IP адресов? Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.