URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID6
Нить номер: 6461
[ Назад ]

Исходное сообщение
"Ограгничение доступа через Tacacs"

Отправлено azon , 01-Ноя-04 14:15 
День добрый!

Есть такая проблема: доступ на несколько маршрутизаторов обеспечивается через tacacs-server. Есть один логин, которому нужно дать доступ только на один маршрутизатор через тот же такакс-сервер. Как это сделать, подскажите кто-нибудь.

Искал в гайде по такаксу, на циско.ком... Там проблема решается либо посторонними средствами, либо переписыванием ACLs на всех цисках.
В данном случае нет возможности использовать ни то, ни другое. Есть только один сервер и куча цисок.
Версия такакса - F4.0.2.alpha

Заранее спасибо.


Содержание

Сообщения в этом обсуждении
"Ограгничение доступа через Tacacs"
Отправлено YuryD , 01-Ноя-04 14:32 
через tacacs-server. Есть один
>логин, которому нужно дать доступ только на один маршрутизатор через тот
>же такакс-сервер. Как это сделать, подскажите кто-нибудь.

Если под доступом имеется ввиду telnet/rsh/ssh на маршутизатор:

А что этому логину не прописать ли autocommand telnet куда_надо ?
autocmd = "telnet foobar"


"Ограгничение доступа через Tacacs"
Отправлено azon , 01-Ноя-04 15:15 

>
> А что этому логину не прописать ли autocommand telnet куда_надо ?
>
> autocmd = "telnet foobar"


пробовал так:
user = login {
        login = des xxxxxxxxx
        member = moscow
        cmd = telnet {
                permit x\.x\.x\.x
        }
}
не цепляет

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


"Ограгничение доступа через Tacacs"
Отправлено YuryD , 01-Ноя-04 15:23 
>что касается autocmd, то там надо указывать ACL, который будет на циске,

Не обязательно, вот пример проброса uucp

user = uu01 {
        member = grp_uupc
        service = exec {
        autocmd = "telnet xxx.xxx.xxx.xxx" noescape=true
        }
        }

по умолчанию все сервисы deny, aaa сделана хитро, но это несущественно,
можете прописать login = des xxxxxxxxx


"Ограгничение доступа через Tacacs"
Отправлено YuryD , 01-Ноя-04 15:26 

Вдогонку - это простой способ загнать юзера в DOS, если он с этой киски
будет пытаться на другие лезть, будучи отправлен на нее же и исчерпает
число коннекций или VTY

"Ограгничение доступа через Tacacs"
Отправлено azon , 01-Ноя-04 15:54 
> по умолчанию все сервисы deny, aaa сделана хитро, но это несущественно,
>
>можете прописать login = des xxxxxxxxx


Дело в том, что autocmd выполняет команду после авторизации на циску. Мне же нужно, что бы этот логин был авторизован только на конкретную циску.
Допустим нужна циска 1.1.1.1
Если LOGIN делает telnet 1.1.1.2, авторизуется, то autocmd пытается запустить telnet 1.1.1.1 с 1.1.1.2, а доступность 1.1.1.1 с других кисок совершенно не обязательна.
Поэтому мне и нужно, чтобы, при вводе логина на запрещенной циске, такакс сразу говорил, что на эту циску данному LOGIN авторизироваться нельзя...

что-то вроде:
Username: LOGIN
% Authentication failed.


"Ограгничение доступа через Tacacs"
Отправлено YuryD , 01-Ноя-04 16:01 
>Поэтому мне и нужно, чтобы, при вводе логина на запрещенной циске, такакс
>сразу говорил, что на эту циску данному LOGIN авторизироваться нельзя...
>
>что-то вроде:
>Username: LOGIN
>% Authentication failed.

Теперь понял, тогда смотри это, хоть на sh хоть на perl и вернуть 2 если тот $nas или 1 если нельзя

CALLING SCRIPTS BEFORE AUTHORIZATION
------------------------------------

You can specify a per-user program to be called before any other
attempt to authorize is made by using a "before" clause e.g.

user = auth1 {
    before authorization "/usr/local/bin/pre_authorize $user $nas "
}


"Ограгничение доступа через Tacacs"
Отправлено azon , 01-Ноя-04 16:04 
>
>user = auth1 {
>    before authorization "/usr/local/bin/pre_authorize $user $nas "
>}


Пасибо большое за ответы!

Никак я не хотел к скрипту приходить, но как показывает практика, без него не обойтись ))

ща че-нить наколдую... ))

еще раз тхенкс