TACACS+ Configurator
1. Overview
TACACS+_NG integrates with LDAP through several connected components. The core service tac_plus-ng handles AAA requests from network devices and listens on TCP port 49. It relies on the MAVIS framework which mediates between TACACS+ and external identity sources via the MAVIS LDAP module (mavis_tacplus_ldap.pl), which binds to the AD/LDAP server and validates credentials.
2. Prerequisites
Item | Details |
|---|---|
k0s cluster | Running, |
Helm | Installed, |
Existing release |
|
Release package |
|
Disk space | At least 1 GB free in |
3. Deployment Steps
Step 1 — Copy the release package to the customer VM
Obtain tacacs-ng-release.tar from OPSWAT (via secure file share, USB, or any available transfer method) and place it at /home/nac/ on the customer VM.
If you have SCP access to the VM:
The release package contains: tacacs-nglatest.tar (Docker image), tacplus-ng.cfg (config template), and addtacacsng.sh (deploy script).
Step 2 — Extract the release package
On the customer VM:
Step 3 — Edit the config file for the customer environment
Open /home/nac/tacacs/etc/tac_plus-ng.cfg and update the following values to match the customer's AD/LDAP environment:
Field | Description |
|---|---|
| Customer AD/LDAP server IP and port, e.g. |
| Base DN, e.g. |
| Bind account, e.g. |
| Bind account password |
| Shared secret — must match what is configured on the network device |
⚠️ Do not skip this step. Running the script before editing the config will deploy tacacs-ng with placeholder LDAP values that will not authenticate any users.
The full default tac_plus-ng.cfg template:
Step 4 — Run the deployment script
The script performs these actions automatically:
Action | Details |
|---|---|
Verify prerequisites | helm, k0s, chart path |
Import image |
|
Patch values.yaml | Inserts |
Create host dirs |
|
Detect host IP | Via |
| Upgrades the existing release to add tacacs-ng |
Verify pod | Waits up to 120 s for the pod to be Ready |
Deployment logs are written to: /etc/nac-appliance/onboarding/logs/tacacs-ng.log
Step 5 — Verify the deployment
Expected pod output:
4. Configure Network Devices
4.1 Palo-Alto
Device > Server Profiles > TACACS+ → Add new profile:
Field | Value |
|---|---|
Profile Name | NAC-TACACS |
Server IP |
|
Port | 49 |
Shared Secret | must match |
Timeout | 10s |
Then: Device > Setup > Management > Authentication Settings → select the profile.
Role mapping: Device > Admin Roles → priv-lvl=15 = superuser, priv-lvl=1 = read-only.
4.2 Fortigate
System > Authentication > TACACS+ Servers → Create New:
Field | Value |
|---|---|
Name | NAC-TACACS |
Server IP |
|
Port | 49 |
Key | must match |
Authentication type | PAP |
Then: System > Administrators → create/edit admin → Authentication: TACACS+ → select profile.
4.3 Cisco
5. AD Group Setup
AD Group | TACACS+ Profile | Privilege Level | Permissions |
|---|---|---|---|
| admins | 15 | Full access — enable + config mode on all devices |
| operators | 1 | Show commands only — config commands denied |
6. Rollback
7. Device Onboarding Templates (Customer Devices)
This section provides TACACS+ configuration templates for all network device families identified for onboarding. Replace <TACACS_SERVER_IP> with the NAC Appliance host IP and <SHARED_SECRET> with the key value in tac_plus-ng.cfg.
Supported Device Summary
Vendor | Devices | Firmware | TACACS+ Support |
|---|---|---|---|
Arista | 7538, 7050SX3-48C8C, 7050SX3-48YC8C, 720DT-24S-M-S-2, 7280CR3-32D4, 7280SR3E-40YC6-M, 7508N | 4.34.3M | ✅ Full |
Juniper | EX-4100, MX10003, MX204, MX240, MX-304, QFX10002, QFX10008, QFX5120, SRX5400, SRX5800, PTX-10001, SRX1500, SRX380-POE-AC | 22.4R3-S6.5 | ✅ Full |
Palo Alto | PA-5430, PA-5450 | 11.1.13 | ✅ Full |
Fortinet | FG-901G, FG-7081F | 7.4.9 | ✅ Full |
F5 BIG-IP | r10600, r5600, r5800 | 17.5.1.4 | ✅ Full (VSA required) |
Trellix NSM | Sensor 9600, NSM Manager | 11.1.x | ❌ No TACACS+ — use LDAP/AD |
7.1 Arista EOS (4.34.3M)
Applies to all Arista models listed above. Run these commands in global config mode.
Arista EOS maps priv-lvl=15 to full privilege and priv-lvl=1 to restricted mode natively — no additional role configuration required when tac_plus-ng.cfg sets priv-lvl correctly.
7.2 Juniper Junos (22.4R3-S6.5)
Applies to all Juniper models listed above (EX, MX, QFX, SRX, PTX series).
Junos note: The remote user class acts as the default. For NetworkAdmins, configure tac_plus-ng.cfg to return service=junos-exec { local-user-name = TACACS-ADMIN } as a per-device authorization attribute, which overrides the default class at login time.
7.3 Palo Alto PAN-OS (11.1.13)
Applies to PA-5430 and PA-5450.
CLI (set commands):
GUI path: Device > Server Profiles > TACACS+ → create profile → Device > Authentication Profile → link profile → Device > Setup > Management > Authentication Settings → select profile.
Admin Role mapping:
priv-lvl from TACACS+ | PAN-OS Role |
|---|---|
15 | Superuser (full access) |
1 | Device Reader (read-only) |
7.4 Fortinet FortiOS (7.4.9)
Applies to FG-901G and FG-7081F.
For read-only users, create a separate wildcard admin entry pointing to TACACS-READ-ONLY profile and map it to a different TACACS+ group (NetworkOperator).
7.5 F5 BIG-IP TMOS (17.5.1.4)
Applies to r10600, r5600, r5800 (configured at the BIG-IP tenant/TMOS level, not the rSeries chassis).
TMSH commands:
F5 VSA requirement: F5 uses the F5-LTM-User-Info-1 Vendor Specific Attribute for role assignment. Add a device-specific host block in tac_plus-ng.cfg for F5 management IPs, returning this VSA in the authorization response:
>
host f5-devices {> address = <F5-management-subnet>/24> key = "<SHARED_SECRET>"> service = ppp {> protocol = ip {> F5-LTM-User-Info-1 = admin> }> }> }
F5 Devices in scope:
Model | Hostname | Firmware |
|---|---|---|
r10600 | DC2-B78-L4LB01, DC2-A88-L4LB02 | 17.5.1.4 |
r5600 | DC2-B81-SSL-VPNGW01, DC2-A91-SSL-VPNGW02 | 17.5.1.4 |
r5600 | DC2-B79-LB-WAF01, DC2-A89-LB-WAF02 | 17.5.1.4 |
r5800 | DC2-B80-ADOS01, DC2-A90-ADOS02 | 17.5.1.4 |
7.6 Trellix Network Security (NSM + Sensors)
Applies to: Sensor DC2-IPS02-A90 (v11.1.5.139), Manager DC2-NSM01-B80 (v11.1.7.136.2)
❌ Trellix Network Security Platform does not support TACACS+. Administrative authentication on Trellix NSM supports:> > - Local user accounts (built-in)> - LDAP / Active Directory integration> - RADIUS (select versions only)
>
Recommended approach: Configure Trellix NSM to authenticate via Active Directory / LDAP directly — the same AD that backs TACACS+ for all other devices. This achieves unified identity management without requiring TACACS+ support from Trellix.