Безопасность : Сервер управления безопасного доступа Cisco для Unix

Командная авторизация и уровни привилегий для Cisco Secure UNIX

20 октября 2016 - Машинный перевод
Другие версии: PDF-версия:pdf | Английский (22 августа 2015) | Отзыв


Содержание


Введение

Этот документ дает информацию о том, как использовать аутентификацию, авторизацию и учет (AAA) для централизованной оболочки и управления командами.

Предварительные условия

Требования

Для этого документа отсутствуют особые требования.

Используемые компоненты

Сведения, содержащиеся в данном документе, касаются следующих версий программного обеспечения и оборудования:

  • Cisco Выпуски ПО IOS� 12.0 (5) T и позже

  • Cisco Secure для UNIX 2.3 (6)

Сведения, представленные в этом документе, были получены от устройств, работающих в специальной лабораторной среде. Все устройства, описанные в этом документе, были запущены с чистой (стандартной) конфигурацией. В рабочей сети необходимо изучить потенциальное воздействие всех команд до их использования.

Условные обозначения

Более подробную информацию о применяемых в документе обозначениях см. в описании условных обозначений, используемых в технической документации Cisco.

Типовой поток AAA

  Cisco IOS (клиент AAA) Cisco Secure (AAA-сервер)

/image/gif/paws/4104/8.gif

aaa authentication login default
     group tacacs+ local
user=fred {password=des}
aaa authorization exec default
     group tacacs+ local
сервисная оболочка {набор priv-level=x}
privilege exec level x command (См. примечания ниже.)  
aaa authorization commands # default   \
     group tacacs none
aaa authorization config-commands
service=shell {cmd по умолчанию = (разрешает/запрещает), запрещают cmd=x cmd=y {}}
enable secretaaa authentication enable default   \
     group tacacs+ enable
привилегия = des "********" 15

Уровни привилегий

По умолчанию на маршрутизаторе имеются три уровня команд:

  • уровень привилегий 0 — Включает запрещение, включите, выйдите, помогите, и команды выхода из системы

  • уровень привилегий 1 — Включает все команды пользовательского уровня в приглашение router>

  • уровень привилегий 15 — Включает все команды разрешать-уровня в приглашение router>

Вы можете команды move вокруг между уровнями привилегий с этой командой:

privilege exec level priv-lvl command

Аутентификация порта консоли

Авторизация порта консоли не была добавлена как функция до реализации идентификатора ошибки Cisco CSCdi82030 (только зарегистрированные клиенты). Авторизация порта консоли прочь по умолчанию для уменьшения вероятности того, чтобы случайно быть блокированным из маршрутизатора. Если у пользователя есть физический доступ к маршрутизатору через консоль, авторизация порта консоли не является чрезвычайно эффективной. Однако для образов, в котором идентификаторе ошибки Cisco внедрен CSCdi82030, можно включить авторизацию порта консоли под line con 0 с aaa authorization console команды hidden.

Профиль пользователя Cisco Secure

Эти выходные данные показывают типовой профиль пользователя.

# ./ViewProfile -p 9900 -u fred
User Profile Information
user = fred{
profile_id = 189 
profile_cycle = 1 
password = clear "********" 
privilege = clear "********" 15 
service=shell {
cmd=show {
permit "users"
} 
} 
 
}

Настройка маршрутизатора

Partial router configuration:

aaa new-model
aaa authentication login default group tacacs+ local
aaa authentication enable default group tacacs+ none
aaa authorization exec default group tacacs+ none
aaa authorization commands 1 default group tacacs+ none
tacacs-server host 172.18.124.113
tacacs-server key cisco

Образец выходных данных

Обратите внимание на то, что некоторые выходные данные обернуты на две линии из-за пространственных факторов.

Сеанс AAA - захват пользователя

telnet 10.32.1.64
Trying 10.32.1.64...
Connected to 10.32.1.64.
Escape character is '^]'.


User Access Verification

Username: fred
Password: 

vpn-2503>show users
    Line       User       Host(s)              Idle       Location
   0 con 0                idle                 00:00:51   
*  2 vty 0     fred       idle                 00:00:00 rtp-cherry.cisco.com

  Interface      User        Mode                     Idle     Peer Address

vpn-2503>enable
Password: 
vpn-2503#

Сеанс AAA - отладка Cisco IOS

vpn-2503#show debug
General OS:
  TACACS access control debugging is on
  AAA Authentication debugging is on
  AAA Authorization debugging is on
vpn-2503#terminal monitor
vpn-2503#

!--- In this capture, AAA authentication first tries the TACACS+
!--- server (and goes to local authentication only if the server is down),
!--- as configured in aaa authentication login default group tacacs+ local.

*Mar 15 18:21:25: AAA: parse name=tty3 idb type=-1 tty=-1
*Mar 15 18:21:25: AAA: name=tty3 flags=0x11 type=5 shelf=0 slot=0 adapter=0
   port=3 channel=0
*Mar 15 18:21:25: AAA/MEMORY: create_user (0x524528) user='' ruser='' port='tty3'
   rem_addr='172.18.124.113' authen_type=ASCII service=LOGIN priv=1
*Mar 15 18:21:25: AAA/AUTHEN/START (4191717920): port='tty3' list=''
   action=LOGIN service=LOGIN
*Mar 15 18:21:25: AAA/AUTHEN/START (4191717920): using "default" list
*Mar 15 18:21:25: AAA/AUTHEN/START (4191717920): Method=tacacs+ (tacacs+)

!--- Test TACACS+ for user authentication.

*Mar 15 18:21:25: TAC+: send AUTHEN/START packet ver=192 id=4191717920
*Mar 15 18:21:25: TAC+: Using default tacacs server-group "tacacs+" list.
*Mar 15 18:21:25: TAC+: Opening TCP/IP to 172.18.124.113/49 timeout=5
*Mar 15 18:21:25: TAC+: Opened TCP/IP handle 0x5475C8 to 172.18.124.113/49
*Mar 15 18:21:25: TAC+: 172.18.124.113 (4191717920) AUTHEN/START/LOGIN/ASCII queued
*Mar 15 18:21:25: TAC+: (4191717920) AUTHEN/START/LOGIN/ASCII processed
*Mar 15 18:21:25: TAC+: ver=192 id=4191717920 received AUTHEN status = GETUSER
*Mar 15 18:21:25: AAA/AUTHEN (4191717920): status = GETUSER
*Mar 15 18:21:27: AAA/AUTHEN/CONT (4191717920): continue_login (user='(undef)')
*Mar 15 18:21:27: AAA/AUTHEN (4191717920): status = GETUSER
*Mar 15 18:21:27: AAA/AUTHEN (4191717920): Method=tacacs+ (tacacs+)
*Mar 15 18:21:27: TAC+: send AUTHEN/CONT packet id=4191717920
*Mar 15 18:21:27: TAC+: 172.18.124.113 (4191717920) AUTHEN/CONT queued
*Mar 15 18:21:27: TAC+: (4191717920) AUTHEN/CONT processed
*Mar 15 18:21:27: TAC+: ver=192 id=4191717920 received AUTHEN status = GETPASS
*Mar 15 18:21:27: AAA/AUTHEN (4191717920): status = GETPASS
*Mar 15 18:21:29: AAA/AUTHEN/CONT (4191717920): continue_login (user='fred')
*Mar 15 18:21:29: AAA/AUTHEN (4191717920): status = GETPASS
*Mar 15 18:21:29: AAA/AUTHEN (4191717920): Method=tacacs+ (tacacs+)
*Mar 15 18:21:29: TAC+: send AUTHEN/CONT packet id=4191717920
*Mar 15 18:21:29: TAC+: 172.18.124.113 (4191717920) AUTHEN/CONT queued
*Mar 15 18:21:29: TAC+: (4191717920) AUTHEN/CONT processed
*Mar 15 18:21:29: TAC+: ver=192 id=4191717920 received AUTHEN status = PASS
*Mar 15 18:21:29: AAA/AUTHEN (4191717920): status = PASS

!--- TACACS+ passes user authentication. There is a check
!--- to see if shell access is permitted for this user, as configured in
!--- aaa authorization exec default group tacacs+ local.

*Mar 15 18:21:29: TAC+: Closing TCP/IP 0x5475C8 connection to 172.18.124.113/49
*Mar 15 18:21:29: tty3 AAA/AUTHOR/EXEC (3409614729): Port='tty3' list='' service=EXEC
*Mar 15 18:21:29: AAA/AUTHOR/EXEC: tty3 (3409614729) user='fred'
*Mar 15 18:21:29: tty3 AAA/AUTHOR/EXEC (3409614729): send AV service=shell
*Mar 15 18:21:29: tty3 AAA/AUTHOR/EXEC (3409614729): send AV cmd*
*Mar 15 18:21:29: tty3 AAA/AUTHOR/EXEC (3409614729): found list "default"
*Mar 15 18:21:29: tty3 AAA/AUTHOR/EXEC (3409614729): Method=tacacs+ (tacacs+)
*Mar 15 18:21:29: AAA/AUTHOR/TAC+: (3409614729): user=fred
*Mar 15 18:21:29: AAA/AUTHOR/TAC+: (3409614729): send AV service=shell
*Mar 15 18:21:29: AAA/AUTHOR/TAC+: (3409614729): send AV cmd*
*Mar 15 18:21:29: TAC+: using previously set server 172.18.124.113 from group tacacs+
*Mar 15 18:21:29: TAC+: Opening TCP/IP to 172.18.124.113/49 timeout=5
*Mar 15 18:21:29: TAC+: Opened TCP/IP handle 0x547A10 to 172.18.124.113/49
*Mar 15 18:21:29: TAC+: Opened 172.18.124.113 index=1
*Mar 15 18:21:29: TAC+: 172.18.124.113 (3409614729) AUTHOR/START queued
*Mar 15 18:21:29: TAC+: (3409614729) AUTHOR/START processed
*Mar 15 18:21:29: TAC+: (3409614729): received author response status = PASS_ADD
*Mar 15 18:21:29: TAC+: Closing TCP/IP 0x547A10 connection to 172.18.124.113/49
*Mar 15 18:21:29: AAA/AUTHOR (3409614729): Post authorization status = PASS_ADD
*Mar 15 18:21:29: AAA/AUTHOR/EXEC: Authorization successful
*Mar 15 18:21:32: tty3 AAA/AUTHOR/CMD (4185871454): Port='tty3' list='' service=CMD

!--- TACACS+ passes exec authorization and wants to perform the 
!--- show users command, as configured in
!--- aaa authorization commands 1 default group tacacs+ none.

*Mar 15 18:21:32: AAA/AUTHOR/CMD: tty3 (4185871454) user='fred'
*Mar 15 18:21:32: tty3 AAA/AUTHOR/CMD (4185871454): send AV service=shell
*Mar 15 18:21:32: tty3 AAA/AUTHOR/CMD (4185871454): send AV cmd=show
*Mar 15 18:21:32: tty3 AAA/AUTHOR/CMD (4185871454): send AV cmd-arg=users
*Mar 15 18:21:32: tty3 AAA/AUTHOR/CMD (4185871454): send AV cmd-arg=
*Mar 15 18:21:32: tty3 AAA/AUTHOR/CMD (4185871454): found list "default"
*Mar 15 18:21:32: tty3 AAA/AUTHOR/CMD (4185871454): Method=tacacs+ (tacacs+)
*Mar 15 18:21:32: AAA/AUTHOR/TAC+: (4185871454): user=fred
*Mar 15 18:21:32: AAA/AUTHOR/TAC+: (4185871454): send AV service=shell
*Mar 15 18:21:32: AAA/AUTHOR/TAC+: (4185871454): send AV cmd=show
*Mar 15 18:21:32: AAA/AUTHOR/TAC+: (4185871454): send AV cmd-arg=users
*Mar 15 18:21:32: AAA/AUTHOR/TAC+: (4185871454): send AV cmd-arg=
*Mar 15 18:21:32: TAC+: using previously set server 172.18.124.113 from group tacacs+
*Mar 15 18:21:32: TAC+: Opening TCP/IP to 172.18.124.113/49 timeout=5
*Mar 15 18:21:32: TAC+: Opened TCP/IP handle 0x54F26C to 172.18.124.113/49
*Mar 15 18:21:32: TAC+: Opened 172.18.124.113 index=1
*Mar 15 18:21:32: TAC+: 172.18.124.113 (4185871454) AUTHOR/START queued
*Mar 15 18:21:33: TAC+: (4185871454) AUTHOR/START processed
*Mar 15 18:21:33: TAC+: (4185871454): received author response status = PASS_ADD
*Mar 15 18:21:33: TAC+: Closing TCP/IP 0x54F26C connection to 172.18.124.113/49
*Mar 15 18:21:33: AAA/AUTHOR (4185871454): Post authorization status = PASS_ADD

!--- TACACS+ passes command authorization and wants to 
!--- get into enable mode, as configured in
!--- aaa authentication enable default group tacacs+ enable.

*Mar 15 18:21:34: AAA/MEMORY: dup_user (0x523E58) user='fred' ruser=''
   port='tty3' rem_addr='172.18.124.113' authen_type=ASCII service=ENABLE
   priv=15 source='AAA dup enable'
*Mar 15 18:21:34: AAA/AUTHEN/START (125091438): port='tty3' list=''
   action=LOGIN service=ENABLE
*Mar 15 18:21:34: AAA/AUTHEN/START (125091438): using "default" list
*Mar 15 18:21:34: AAA/AUTHEN/START (125091438): Method=tacacs+ (tacacs+)
*Mar 15 18:21:34: TAC+: send AUTHEN/START packet ver=192 id=125091438
*Mar 15 18:21:34: TAC+: Opening TCP/IP to 172.18.124.113/49 timeout=5
*Mar 15 18:21:34: TAC+: Opened TCP/IP handle 0x54D080 to 172.18.124.113/49
*Mar 15 18:21:34: TAC+: Opened 172.18.124.113 index=1
*Mar 15 18:21:34: TAC+: 172.18.124.113 (125091438) AUTHEN/START/LOGIN/ASCII queued
*Mar 15 18:21:34: TAC+: (125091438) AUTHEN/START/LOGIN/ASCII processed
*Mar 15 18:21:34: TAC+: ver=192 id=125091438 received AUTHEN status = GETPASS
*Mar 15 18:21:34: AAA/AUTHEN (125091438): status = GETPASS
*Mar 15 18:21:37: AAA/AUTHEN/CONT (125091438): continue_login (user='fred')
*Mar 15 18:21:37: AAA/AUTHEN (125091438): status = GETPASS
*Mar 15 18:21:37: AAA/AUTHEN (125091438): Method=tacacs+ (tacacs+)
*Mar 15 18:21:37: TAC+: send AUTHEN/CONT packet id=125091438
*Mar 15 18:21:37: TAC+: 172.18.124.113 (125091438) AUTHEN/CONT queued
*Mar 15 18:21:37: TAC+: (125091438) AUTHEN/CONT processed
*Mar 15 18:21:37: TAC+: ver=192 id=125091438 received AUTHEN status = PASS
*Mar 15 18:21:37: AAA/AUTHEN (125091438): status = PASS
*Mar 15 18:21:37: TAC+: Closing TCP/IP 0x54D080 connection to 172.18.124.113/49
*Mar 15 18:21:37: AAA/MEMORY: free_user (0x523E58) user='fred' ruser='' 
   port='tty3' rem_addr='172.18.124.113' authen_type=ASCII service=ENABLE priv=15

!--- TACACS+ passes enable authentication.

Сеанс AAA - отладка Cisco Secure UNIX

!
--- In this capture, AAA authentication first tries the TACACS+
!--- server (and goes to local authentication only if the server is down),
!--- as configured in aaa authentication login default group tacacs+ local.

Sep  7 07:22:32 rtp-cherry CiscoSecure: DEBUG - AUTHENTICATION
   START request (bace1fbf)
Sep  7 07:22:32 rtp-cherry CiscoSecure: DEBUG - 
Sep  7 07:22:32 rtp-cherry User Access Verification

!--- Test TACACS+ for user authentication:

Sep  7 07:22:32 rtp-cherry CiscoSecure: DEBUG - Username: 
Sep  7 07:22:33 rtp-cherry CiscoSecure: DEBUG - AUTHENTICATION
   CONTINUE request (bace1fbf)
Sep  7 07:22:33 rtp-cherry CiscoSecure: DEBUG - Password: 
Sep  7 07:22:35 rtp-cherry CiscoSecure: DEBUG - AUTHENTICATION
   CONTINUE request (bace1fbf)
Sep  7 07:22:35 rtp-cherry CiscoSecure: DEBUG - Authentication -
   LOGIN successful; [NAS=10.32.1.64, Port=tty2, User=fred, Priv=1]

!--- TACACS+ passes user authentication. There is a check
!--- to see if shell access is permitted for this user, as configured in
!--- aaa authorization exec default group tacacs+ local.

Sep  7 07:22:35 rtp-cherry CiscoSecure: DEBUG - 
Sep  7 07:22:36 rtp-cherry CiscoSecure: DEBUG - AUTHORIZATION request (9ad05c71)
Sep  7 07:22:36 rtp-cherry CiscoSecure: DEBUG - Authorization - Request authorized;
   [NAS = 10.32.1.64, user = fred, port = tty2, input: service=shell cmd* output: ]

!--- TACACS+ passes exec authorization and wants to perform the 
!--- show users command, as configured in
!--- aaa authorization commands 1 default group tacacs+ none.

Sep  7 07:22:38 rtp-cherry CiscoSecure: DEBUG - AUTHORIZATION request (563ba541)
Sep  7 07:22:38 rtp-cherry CiscoSecure: DEBUG - Authorization - Request authorized;
   [NAS = 10.32.1.64, user = fred, port = tty2, input: service=shell cmd=show
   cmd-arg=users cmd-arg= output: ]

!--- TACACS+ passes command authorization and wants to 
!--- get into enable mode, as configured in
!--- aaa authentication enable default group tacacs+ enable.

Sep  7 07:22:40 rtp-cherry CiscoSecure: DEBUG - AUTHENTICATION
   START request (f7e86ad4)
Sep  7 07:22:40 rtp-cherry CiscoSecure: DEBUG - Password: 
Sep  7 07:22:41 rtp-cherry CiscoSecure: DEBUG - AUTHENTICATION
   CONTINUE request (f7e86ad4)
Sep  7 07:22:41 rtp-cherry CiscoSecure: DEBUG - Authentication - ENABLE successful;
   [NAS=10.32.1.64, Port=tty2, User=fred, Priv=15]

!--- TACACS+ passes enable authentication.

Усовершенствованные примеры профиля Cisco Secure

group LANadmins{
 service=shell {
 cmd=interface{
  permit "Ethernet *"
  deny "Serial *"
 }
 cmd=aaa{
  deny ".*"
 }
 cmd=tacacs-server{
  deny ".*"
 }
 default cmd=permit
}
Этот профиль позволяет любому пользователю, который является участником группы "LANadmins", чтобы войти в маршрутизатор и ввести большинство команд. Пользователям не разрешают внести изменения в конфигурацию последовательного интерфейса или внести изменения в config AAA (таким образом, они не могут удалить авторизацию для выполнения команд или отключить Сервер tacacs).
group Boston_Admins{
 service=shell {
  allow "10.28.17.1" ".*" ".*"
  allow bostonswitch ".*" ".*"
  allow "^bostonrtr[0-9]+" ".*" ".*"
  set priv-lvl=15
  default cmd=permit
 }
 service=shell {
  allow "^NYrouter[0-9]+" ".*" ".*"
  set priv-lvl=1
  default cmd=deny
 }
}
Этот профиль дает свои элементы группы, включают привилегии на bostonswitch, bostonrtr1 - bostonrtr9 устройства и 10.28.17.1 устройств. Все команды разрешены для этих устройств. Доступ к устройствам NYrouterX ограничен пользовательским уровнем exec только, и все команды запрещены, если спросили относительно авторизации.
group NY_wan_admins{
 service=shell {
  allow "^NYrouter[0-9]+" ".*" ".*"
  set priv-lvl=15
  default cmd=permit
 }
 service=shell {
  allow "^NYcore$" ".*" ".*"
  default cmd=permit
  cmd=interface{
   permit "Serial 0/[0-9]+"
   permit "Serial 1/[0-9]+"
  }
 }
}
У этой группы есть полный доступ ко всем маршрутизаторам NY, а также полный доступ к центральному маршрутизатору NY на Последовательном 0/x и Последовательных интерфейсах 1/x. Обратите внимание на то, что у пользователей также есть способность отключить AAA на центральном маршрутизаторе.
user bob{
 password = des "********"
 privilege = des "********" 15
 member = NY_wan_admins
}
Этот пользователь является участником группы "NY_wan_admins" и наследовал те привилегии. У этого пользователя также есть пароль для входа, а также заданный enable password.
group LAN_support {
 service=shell {
   default cmd = deny
   cmd = set{      
     deny "port enable 3/10"
     permit "port enable *"
     deny "port disable 3/10"
     permit "port disable *"
     permit "port name *"
     permit "port speed *"
     permit "port duplex *"
     permit "vlan [0-9]+ [0-9]+/[0-9]+"
     deny ".*"
   }
   cmd = show{
     permit ".*"
   }
   cmd = enable{
     permit ".*"
   }
 }
}
Этот профиль разработан для Коммутатора Catalyst. Пользователям разрешают только определенные команды набора. Им не разрешают отключить порт 3/10 (магистральный порт). Пользователям разрешают задать VLAN, на которую назначен порт, но запрещены все другие команды set vlan.


Дополнительные сведения


Document ID: 4104