Jump to content

Recommended Posts

Posted

FreeBSD tacacs 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2
tac_plus-F4.0.4.19

CPU: Intel(R) Xeon(R) CPU           E5345  @ 2.33GHz (2333.43-MHz K8-class CPU)

load averages: 0.07, 0.05, 0.01

Mem: 639M Active, 2108M Inact, 1030M Wired, 2300K Cache, 828M Buf, 4140M Free
Swap: 2048M Total, 520K Used, 2047M Free

 

Пользователь жалуется на медленное выполнении команд на оборудовании Juniper MX.

Например, команда show |compare отрабатывает ~15 секунд.

 

Пользователь должен иметь доступ как в оперативный режим, так и в конфигурационный, но команды которые ему доступны должны быть строго ограничены.

На данный момент правило для пользователя выглядит так:

 

group = 111 { default service = deny login = file /etc/tac_passwd enable = file /etc/tac_passwd
       service = junos-exec {
           local-user-name = tacacs
           allow-commands = "(^set .*$)|(^ping .*$)|(^traceroute .*$)|(^show .*$)|(^quit$)|(^.noop-command$)|(^delete interfaces .*$)|(^delete routing-instan
ces .*$)|(^delete bridge-domains vlan .*$)|(^commit .*$)|(^rollback .*$)|(^configure$)|(^telnet .*$)"
           allow-configuration = "(^set .*$)|(^ping .*$)|(^traceroute .*$)|(^show .*$)|(^quit$)|(^.noop-command$)|(delete)|(^commit .*$)|(^rollback .*$)|(^co
nfigure$)|(^telnet .*$)"
           deny-commands = "(^file .*$)|(^help .*$)|(^request .*$)|(^op .*$)|(^restart .*$)|(^ssh .*$)|(^start .*$)|(^test .*$)"
           deny-configuration = "(^annotate .*$)|(^copy .*$)|(^extension .*$)|(^help .*$)|(^insert .*$)|(^load .*$)|(^rename .*$)|(^replace .*$)|(^run .*$)|(
^save .*$)|(^status .*$)|(^wildcard .*$)"
           }
           acl = 111
}

 

Экспериментируя выяснил если прописать следующие настройки, то команда, например, show |compare выполняется менее секунды:

 

        service = junos-exec {
           local-user-name = tacacs
           allow-commands = ".*"
           allow-configuration = ".*"
           }
           acl = 111

 

Решил значит я ограничить количество regexp – запретить все и разрешить только отдельные команды:

 

        service = junos-exec {
           local-user-name = tacacs
           allow-commands = "^configure$|^help .*|^ping .*|^quit$|^set .*|^show .*|^telnet .*|^traceroute .*"
           allow-configuration = "^exit .*|^help .*|^set .*|^show .*|^rollback .*"
           deny-commands = ".*"
           deny-configuration = ".*"
           }
           acl = 111

 

Но тут меня ждало разочарование. Есть такая команда как show configuration в оперативном режиме, которая должна быть доступна пользователю. Но которая ему не доступна даже при условии наличия ^show .* в allow-commands. Она становится доступна лишь в том случае если идет конкретное перечисление команд в deny-configuration, то есть указание не запрета всего, а запрета отдельных команд без указания команды show configuration.

 

Подскажите как выйти из ситуации, чтобы команды при выполнении не "тормозили"?

Posted

А если пользователь прописан без tacacs+ (локально на жунипере с нужными allow) - тоже тормозит ?

Posted

А если пользователь прописан без tacacs+ (локально на жунипере с нужными allow) - тоже тормозит ?

Нет не тормозит. Но прописывать локально для меня не выход. Так как сетевого оборудования достаточно много и я попросту за него не отвечаю. В моем распоряжении лишь такакс.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.