Вопрос: Примеры настройки аутентификации при доступе к коммутатору с использованием серверов Radius и Tacacs+

Ответ: 

Рассмотрим процесс работы ААА на примере RADIUS-сервера на основе пакета freeradius (рассмотрим минимальные настройки).

В простейшей конфигурации после установки пакета freeradius вносим следующие изменения в конфигурационные файлы:

1.  Вraddb/clients.conf (для коммутатора):

client 192.168.0.1 {
secret = testing
shortname = switch
}


2.  В конфигурационный файл /etc/raddb/dictionary добавляем следующую строчку:

$INCLUDE    /etc/raddb/dictionary.dlink

3. Соответственно, создаем файл /etc/raddb/dictionary.dlink со следующим содержимым:

VENDOR dlink 171

BEGIN-VENDOR    dlink

ATTRIBUTE       dlink-Privelege-Level    1    integer

END-VENDOR      dlink

4.  В raddb/users добавляются следующие строки. Так как на некоторых коммутаторах существует четыре уровня прав доступа, создадим соответственно четырех пользователей user, puser, oper, admin, operator_dlink и enable. operator_dlink используется в DES-3526 для команды "enable operator", enable необходим для получения прав администратора при выполнении команды enable admin (во всех перечисленных сериях коммутаторов). Для серии DGS-3100 для получения администраторских прав необходимо также создать пользователя $enab15$:

user Cleartext-Password := "user_password"
dlink-Privelege-Level = 3
 
puser Cleartext-Password := "puser_password"
dlink-Privelege-Level = 6
 
oper Cleartext-Password := "oper_password"
dlink-Privelege-Level = 4
 
admin Cleartext-Password := "admin_password"
dlink-Privelege-Level = 5
 
enable Cleartext-Password := "enable_password"
dlink-Privelege-Level = 5
 
operator_dlink Cleartext-Password := "operator_dlink_password"
dlink-Privelege-Level = 4
 
$enab15$ Cleartext-Password := "test123"
Cisco-AVPair := "shellriv-lvl=15"

Пользователь user при успешной авторизации получит права user, puser — power_user, oper — operator, admin будет сразу авторизован с правами администратора (такая возможность имеется не на всех сериях коммутаторов).

P.S. На тех коммутаторах, где существует два уровня прав, пользователи user, puser и oper будут авторизованы с правами user. На тех коммутаторах, где существует три уровня прав, пользователи user и puser будут авторизованы с правами user, а  пользователь oper с правами operator.

Сразу авторизоваться с правами администратора на данный момент можно на следующих сериях коммутаторов:
DES-3000 Series (F/W: 4.30.B12 и выше), DES-3526 (проверено на прошивках 6.00.B57 и 6.10.B24),

DES-3528 (проверено на прошивке 2.63.B035), DES-3028 (проверено на прошивке 2.80.B10), DES-3200 Series (проверено на прошивке 1.52.B004), DGS-3120 Series (проверено на прошивке 2.00.B011), DES-3828,

DGS-3400 Series, DGS-3600 Series.

Далее приведем примеры настроек на коммутаторах различных серий. В них RADIUS  авторизация будет производиться при подключении к коммутатору по Telnet.

# DES-3000 Series (F/W: 4.30.B12 ивыше), DES-3526, DES-3828 (для получения прав# администратора использовать команду «enable admin»)
create authen server_host 192.168.0.221 protocol radius port 1812 key "testing" timeout 5 retransmit 2
config authen server_group radius delete server_host 192.168.0.221 protocol radius
config authen server_group radius add server_host 192.168.0.221 protocol radius
config authen_login default method local
create authen_login method_list_name rad_ext
config authen_login method_list_name rad_ext method radius
config authen_enable default method local_enable
create authen_enable method_list_name rad_ext_ena
config authen_enable method_list_name rad_ext_ena method radius
config authen application console login default
config authen application console enable default
config authen application telnet login method_list_name rad_ext
config authen application telnet enable method_list_name rad_ext_ena
config authen application ssh login default
config authen application ssh enable default
config authen application http login default
config authen application http enable default
config authen parameter response_timeout 0
config authen parameter attempt 3
config authen enable_admin all state enable
enable authen_policy

*Пояснения:
IP
адрес управляющего интерфейса коммутатора должен соответствовать записи в  raddb/clients.conf

create authen server_host 192.168.0.221 protocol radius port 1812 key "testing" timeout 5 retransmit 2
Создаем на коммутаторе запись о Radius-сервере, ключ должен совпадать с записью в  raddb/clients.conf

create authen_login method_list_name rad_ext
config authen_login method_list_name rad_ext method radius
Создаем метод авторизации rad_ext, в котором предпочитаемым будет RADIUS.

create authen_enable method_list_name rad_ext_ena
config authen_enable method_list_name rad_ext_ena method radius
Создаем метод авторизации rad_ext_ena для получения прав администратора, в котором предпочитаемым будет RADIUS.

config authen application console login default
config authen application console enable default
config authen application telnet login method_list_name rad_ext
config authen application telnet enable method_list_name rad_ext_ena
config authen application ssh login default
config authen application ssh enable default
config authen application http login default
config authen application http enable default
В качестве примера применяем созданные нами методы авторизации для Telnet (в том числе для получения прав администратора). Для авторизации при доступе к коммутатору по консоли, SSH и HTTP оставляем параметры по умолчанию.

config authen parameter attempt 3
Задаем максимальное количество попыток авторизации

config authen enable_admin all state enable
Разрешаем повышение прав до admin для всех типов аутентификации

enable authen_policy
Глобально разрешаем использование политик аутентификации

Приведем аналогичные примеры и для других серий:
# DES-1228/ME, DES-3028, DES-3528, DES-3200 Series, DGS-3120 Series, DGS-3200 Series, DGS-3400 Series,

# DGS-3600 Series (для получения прав администратора использовать команду «enable admin»)
create authen server_host 192.168.0.221 protocol radius port 1812 key "testing" timeout 5 retransmit 2
config authen server_group radius delete server_host 192.168.0.221 protocol radius
config authen server_group radius add server_host 192.168.0.221 protocol radius
config authen_login default method local
create authen_login method_list_name rad_ext
config authen_login method_list_name rad_ext method radius
config authen_enable default method local_enable
create authen_enable method_list_name rad_ext_ena
config authen_enable method_list_name rad_ext_ena method radius
config authen application console login default
config authen application console enable default
config authen application telnet login method_list_name rad_ext
config authen application telnet enable method_list_name rad_ext_ena
config authen application ssh login default
config authen application ssh enable default
config authen application http login default
config authen application http enable default
config authen parameter response_timeout 0
config authen parameter attempt 3
enable authen_policy

# DGS-3100 Series ( для получения правадминистратора local_enable admin)
create authen_login method_list_name rad_ext
config authen_login method_list_name rad_ext method radius
create authen_enable method_list_name rad_ext_ena
config authen_enable method_list_name rad_ext_ena method radius
config authen application telnet login rad_ext
config authen application telnet enable rad_ext_ena
create authen server_host 192.168.0.221 protocol radius port 1812 key testing timeout 5 priority first
 

Рассмотрим процесс работы ААА на примере TACACS+ сервера на основе пакета tac_plus (рассмотрим минимальные настройки):
Простейший конфигурационный файл tac_plus выглядит следующим образом:


host = 192.168.0.1 {

key = "testing"

}

accounting file = /var/log/tac.log

group = users {

 enable = cleartext enable_users

 service = exec {

  priv-lvl = 3

 }

}

group = pusers {

 enable = cleartext enable_pusers

 service = exec {

  priv-lvl = 6

 }

}

group = opers {

 enable = cleartext enable_opers

 service = exec {

  priv-lvl = 4

 }

}

group = admins {

 enable = cleartext enable_admins

 service = exec {

  priv-lvl = 5

 }

}

user = user {

 member = users

 login = cleartext user

}

user = puser {

 member = pusers

 login = cleartext puser

}

user = oper {

 member = opers

 login = cleartext oper

}

user = admin {

 member = admins

 login = cleartext admin

}

user = $enab15$ {

default service = permit

login = cleartext test123

}

Созданы группы users, pusers, opers, admins, каждой из которых можно задать свой пароль для повышения уровня прав. Также созданы пользователи user, puser, oper, admin и $enab15$ . Последний используется для получения прав администратора на DGS-3100 Series.
Учетная запись для коммутатора задается в секции host.

Пользователь user при успешной авторизации получит права user, puser — power_user, oper — operator, admin будет сразу авторизован с правами администратора (такая возможность имеется не на всех сериях коммутаторов).

P.S. На тех коммутаторах, где существует два уровня прав, пользователи user, puser и oper будут авторизованы с правами user. На тех коммутаторах, где существует три уровня прав, пользователи user и puser будут авторизованы с правами user, а  пользователь oper с правами operator.


Сразу авторизоваться с правами администратора на данный момент можно на следующих сериях коммутаторов: DES-3028 (проверено на прошивке 2.80.B10), DES-3200 Series (проверено на прошивке 1.52.B004), DGS-3120 (проверено на прошивке 2.00.B011),


Конфигурация коммутаторов для TACACS+ авторизации при telnet доступе:


# DGS-3100 Series (для получения прав администратора local_enable admin)
create authen_login method_list_name tac_plus
config authen_login method_list_name tac_plus method tacacs+
create authen_enable method_list_name tac_plus_ena
config authen_enable method_list_name tac_plus_ena method tacacs+
config authen application telnet login tac_plus
config authen application telnet enable tac_plus_ena
create authen server_host 192.168.0.221 protocol tacacs+ port 49 key testing timeout 5 priority first

# DES-1228/ME, DES-3028, DES-3528, DES-3200 Series, DGS-3120 Series, DGS-3200 Series, DGS-3400 Series,

# DGS-3600 Series (для получения прав администратора enable admin)
create authen server_host 192.168.0.221 protocol tacacs+ port 49 key "testing" timeout 5 retransmit 2
config authen server_group tacacs+ delete server_host 192.168.0.221 protocol tacacs+
config authen server_group tacacs+ add server_host 192.168.0.221 protocol tacacs+
config authen_login default method local
create authen_login method_list_name tac_plus
config authen_login method_list_name tac_plus method tacacs+
config authen_enable default method local_enable
create authen_enable method_list_name tac_plus_ena
config authen_enable method_list_name tac_plus_ena method tacacs+
config authen application console login default
config authen application console enable default
config authen application telnet login method_list_name tac_plus
config authen application telnet enable method_list_name tac_plus_ena
config authen application ssh login default
config authen application ssh enable default
config authen application http login default
config authen application http enable default
config authen parameter response_timeout 30
config authen parameter attempt 3
enable authen_policy
# DES-3000 Series (F/W: 4.30.B12 и выше), DES-3526, DES-3828 (для получения прав
# администратораe nable admin)
create authen server_host 192.168.0.221 protocol tacacs+ port 49 key "testing" timeout 5 retransmit 2
config authen server_group tacacs+ delete server_host 192.168.0.221 protocol tacacs+
config authen server_group tacacs+ add server_host 192.168.0.221 protocol tacacs+
config authen_login default method local
create authen_login method_list_name tac_plus
config authen_login method_list_name tac_plus method tacacs+
config authen_enable default method local_enable
create authen_enable method_list_name tac_plus_ena
config authen_enable method_list_name tac_plus_ena method tacacs+
config authen application console login default
config authen application console enable default
config authen application telnet login method_list_name tac_plus
config authen application telnet enable method_list_name tac_plus_ena
config authen application ssh login default
config authen application ssh enable default
config authen application http login default
config authen application http enable default
config authen parameter response_timeout 0
config authen parameter attempt 3
config authen enable_admin all state enable
enable authen_policy