В предыдущей статье я рассмотрел о том, как установить связь между tacacs+ и cisco устройством и сделать аутентификацию на cisco используя внешний сервер. Сегодня я расскажу немного о группах пользователей и списках доступа.
Основным документом по конфигурированию нашего tacacs является информация, которая нам доступна в : man tac_plus.conf
Одной из множества возможностей сервера tacacs является — ограничение доступа к серверу используя списки доступа. Например мы можем ограничить доступ по IP адресу. Да, это конечно можно сделать и через тот же ipfw, но и здесь нам это не помешает. Рассмотрим пример:
acl = aclcisco {
permit = ^10\.0\.0\.1
deny = .*
}
Разберем эту конструкцию.
Сначала мы задали имя нашему ACL — aclcisco.
Затем мы указали правило: permit (разрешить), и указали IP адрес кому разрешено. Ну а далее, правилом deny всем остальным запретили.
IP адреса задаются с помощью регулярных выражений, формат которых вы можете посмотреть в POSIX 1003.2
Если мы сейчас добавим эту конструкцию в tac_plus.conf и перезапустим наш сервис, то ничего не изменится. ACL нужно еще куда-то применить.
Давайте применим к какой-то группе, в которую будут входить некоторые пользователи.
Вот как раз сейчас мы и разберемся, как создать группу, и привязать к ней пользователя, и ACL.
Создадим группу и сразу «привяжем» к ней наш простой список доступа aclcisco.
group = ciscogroup {
acl = aclcisco
}
Думаю пояснения здесь излишни, интуитивно все понятно.
Теперь сделаем пользователя и «привяжем» его в группе.
user = cisco {
member = ciscogroup
login = cleartext sasha
}
Таким образом, у нас есть пользователь cisco, который принадлежит группе ciscogroup, и в эту группы подключен список доступа aclcisco.
Кстати, ACL можно применить непосредственно к пользователю, не прибегаю к группам (в простых случаях они нам не нужны). Делается это точно также как и в группах, только в секции пользователя.
user = cisco
{
acl = aclcisco
login = cleartext ciscopwd
}
Каждому пользователю можно задать свой enable пароль. Достаточно в секцию пользователя прописать одно правило:
user = cisco
{
acl = aclcisco
login = cleartext ciscopwd
enable = cleartext ciscopwdenable
}
Никто не запрещает сделать пароль зашифрованным в DES (это я рассматривал в прошлой статье.)