Authorization
This scenario shows how to set up per-command authorization.
Tacacs Method Privileged User
Description
A TACACS+ server configured to deny the show date
command and allow everything else is added to a TACACS+ group, which
is added to an AAA list. This list is assigned to CLI’s command
authorization. Whenever a user attempts to run a command, this is sent
to the server and is only executed when authorized to do so.
Scenario
Step 1: Set the following configuration in DUT0
:
set interfaces ethernet eth0 address 10.215.168.64/24 set system aaa group tacacs tacgroup1 server serv1 set system aaa list list1 method 1 group tacacs tacgroup1 set system aaa server tacacs serv1 address 10.215.168.1 set system aaa server tacacs serv1 encrypted-key U2FsdGVkX1/duXQWrZp+0d9GM7JQIRANbSl2yWaV4SM= set system cli aaa authorization list1 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0' set system login user testadmin authentication encrypted-password '$6$9I45xt9FrnLbA6Su$II4xOeFTYcDtJhgfc6csci0.BLIT0Tt27PDKbzUqFVHw0GtXTNCZ0lYgouFSUYfeovAA3G5G5rlgWEK.QmF9//' set system login user testadmin role admin
Step 2: Ping IP address 10.215.168.1
from DUT0
:
admin@DUT0$ ping 10.215.168.1 count 1 size 56 timeout 1Show output
PING 10.215.168.1 (10.215.168.1) 56(84) bytes of data. 64 bytes from 10.215.168.1: icmp_seq=1 ttl=64 time=1.93 ms --- 10.215.168.1 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 1.931/1.931/1.931/0.000 ms
Step 3: Run command show version
at DUT0
and expect this output:
Show output
OS vendor: Teldat OS name: OSDx OS version: 202503211214.a3e79e6-master-snapshot OS Linux kernel: 6.1.128 OS built by: jenkins@daphne OS build date: Fri Mar 21 12:03:06 UTC 2025 OS installation: physical OS boot mode: user License: VM_BASE Firewall eth-Rate-Permit-Full Hardware vendor: QEMU Hardware model: VM Hardware OEM model: Standard PC (i440FX + PIIX, 1996) Hardware version: pc-i440fx-5.2 Hardware UUID: f7686e6c-6b42-5e91-a0f3-4fb1819a4502 Hardware architecture: amd64 Hardware fwid: iso Hardware base MAC: de:ad:be:ef:6c:00 Hardware cpu: 4 x QEMU Virtual CPU version 2.5+ (4 cores) Last reboot reason: Panic Date: Fri 21 Mar 2025 21:57:53 +00:00 Uptime: 1:27:18 CPU load (1m, 5m, 15m): 0.41 0.32 0.29 CPU usage % (1m): 22.25 Storage usage (kB): 370464/8144384 Memory usage (kB): 380544/1570512 Users logged in: 1 Mode (current/next boot): user/user Hostname: osdx
Step 4: Run command show date
at DUT0
and expect this output:
Show output
CLI Error: Unauthorized
Note
Commands are expanded before being sent to the authorization server
Step 5: Run command sh da
at DUT0
and expect this output:
Show output
CLI Error: Unauthorized
Step 6: Run command show running
at DUT0
and expect this output:
Show output
# Teldat OSDx VM version 202503211214.a3e79e6-master-snapshot # Fri 21 Mar 2025 21:57:54 +00:00 # Warning: Configuration has not been saved set interfaces ethernet eth0 address 10.215.168.64/24 set system aaa group tacacs tacgroup1 server serv1 set system aaa list list1 method 1 group tacacs tacgroup1 set system aaa server tacacs serv1 address 10.215.168.1 set system aaa server tacacs serv1 encrypted-key U2FsdGVkX1/duXQWrZp+0d9GM7JQIRANbSl2yWaV4SM= set system cli aaa authorization list1 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0' set system login user testadmin authentication encrypted-password '$6$9I45xt9FrnLbA6Su$II4xOeFTYcDtJhgfc6csci0.BLIT0Tt27PDKbzUqFVHw0GtXTNCZ0lYgouFSUYfeovAA3G5G5rlgWEK.QmF9//' set system login user testadmin role admin
Tacacs Method Non-Privileged User
Description
In this case, the same scenario is tested but with a non-privileged user called testmonitor
.
Scenario
Step 1: Set the following configuration in DUT0
:
set interfaces ethernet eth0 address 10.215.168.64/24 set system aaa group tacacs tacgroup1 server serv1 set system aaa list list1 method 1 group tacacs tacgroup1 set system aaa server tacacs serv1 address 10.215.168.1 set system aaa server tacacs serv1 encrypted-key U2FsdGVkX1+7G5wUy6LvcS3Bz+0DSwrYtM2/j/950mk= set system cli aaa authorization list1 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0' set system login user testmonitor authentication encrypted-password '$6$9xdLLIgFV31fKQPV$ydYXakqABI156oMqv9KCtqJKApRG3l1s8EIjQq7So0a/caBsAI1azv3WUIGHyFCr0g7/OPfaz.EZ5chCvVAwk.' set system login user testmonitor role monitor
Step 2: Ping IP address 10.215.168.1
from DUT0
:
admin@DUT0$ ping 10.215.168.1 count 1 size 56 timeout 1Show output
PING 10.215.168.1 (10.215.168.1) 56(84) bytes of data. 64 bytes from 10.215.168.1: icmp_seq=1 ttl=64 time=2.28 ms --- 10.215.168.1 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 2.279/2.279/2.279/0.000 ms
Step 3: Run command show version
at DUT0
and expect this output:
Show output
OS vendor: Teldat OS name: OSDx OS version: 202503211214.a3e79e6-master-snapshot OS Linux kernel: 6.1.128 OS built by: jenkins@daphne OS build date: Fri Mar 21 12:03:06 UTC 2025 OS installation: physical OS boot mode: user License: VM_BASE Firewall eth-Rate-Permit-Full Hardware vendor: QEMU Hardware model: VM Hardware OEM model: Standard PC (i440FX + PIIX, 1996) Hardware version: pc-i440fx-5.2 Hardware UUID: f7686e6c-6b42-5e91-a0f3-4fb1819a4502 Hardware architecture: amd64 Hardware fwid: iso Hardware base MAC: de:ad:be:ef:6c:00 Hardware cpu: 4 x QEMU Virtual CPU version 2.5+ (4 cores) Last reboot reason: Panic Date: Fri 21 Mar 2025 21:58:21 +00:00 Uptime: 1:27:45 CPU load (1m, 5m, 15m): 0.32 0.30 0.28 CPU usage % (1m): 19.67 Storage usage (kB): 370468/8144384 Memory usage (kB): 398012/1570512 Users logged in: 1 Mode (current/next boot): user/user Hostname: osdx
Step 4: Run command show date
at DUT0
and expect this output:
Show output
CLI Error: Unauthorized
Step 5: Run command show running
at DUT0
and expect this output:
Show output
CLI Error: Insufficient privileges