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

ItemDetails
k0s clusterRunning, k0s kubectl get nodes returns Ready
HelmInstalled, helm version works
Existing releasenac-appliance deployed in namespace cloudnac
Release packagetacacs-ng-release.zip obtained from OPSWAT and copied to the VM
Disk spaceAt least 1 GB free in /home/nac/

3. Deployment Steps

Step 1 — Copy the release package to the customer VM

Obtain tacacs-ng-release.zip 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:

Bash
Copy

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:

Bash
Copy

Step 3 — Edit the config file for the customer environment

Open /home/nac/tacacs-ng/config/tac_plus-ng.cfg and update the following values to match the customer's AD/LDAP environment:

FieldDescription
LDAP_HOSTSCustomer AD/LDAP server IP and port, e.g. 192.168.1.10:389
LDAP_BASEBase DN, e.g. dc=company,dc=local
LDAP_USERBind account, e.g. Administrator@company.local
LDAP_PASSWDBind account password
key (in host world block)Shared secret — must match what is configured on the network device
Bash
Copy

⚠️ 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:

Bash
Copy

Step 4 — Run the deployment script

Bash
Copy

The script performs these actions automatically:

ActionDetails
Verify prerequisiteshelm, k0s, chart path
Import imagek0s ctr image import tacacs-ng_latest.tar
Patch values.yamlInserts tacacsNg: block using sed (idempotent)
Create host dirs/home/nac/tacacs-ng/config and /home/nac/log/tacacs-ng
Detect host IPVia ip route / ip addr
helm upgradeUpgrades the existing release to add tacacs-ng
Verify podWaits 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

Bash
Copy

Expected pod output:

Copy

4. Configure Network Devices

4.1 Palo-Alto

Device > Server Profiles > TACACS+ → Add new profile:

FieldValue
Profile NameNAC-TACACS
Server IP<customer-vm-ip>
Port49
Shared Secretmust match key in tac_plus-ng.cfg
Timeout10s

Then: Device > Setup > Management > Authentication Settings → select the profile.

Role mapping: Device > Admin Rolespriv-lvl=15 = superuser, priv-lvl=1 = read-only.

4.2 Fortigate

System > Authentication > TACACS+ Servers → Create New:

FieldValue
NameNAC-TACACS
Server IP<customer-vm-ip>
Port49
Keymust match key in tac_plus-ng.cfg
Authentication typePAP

Then: System > Administrators → create/edit admin → Authentication: TACACS+ → select profile.

4.3 Cisco

Copy

5. AD Group Setup

AD GroupTACACS+ ProfilePrivilege LevelPermissions
NetworkAdminsadmins15Full access — enable + config mode on all devices
NetworkOperatoroperators1Show commands only — config commands denied

6. Rollback

Bash
Copy

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

VendorDevicesFirmwareTACACS+ Support
Arista7538, 7050SX3-48C8C, 7050SX3-48YC8C, 720DT-24S-M-S-2, 7280CR3-32D4, 7280SR3E-40YC6-M, 7508N4.34.3M✅ Full
JuniperEX-4100, MX10003, MX204, MX240, MX-304, QFX10002, QFX10008, QFX5120, SRX5400, SRX5800, PTX-10001, SRX1500, SRX380-POE-AC22.4R3-S6.5✅ Full
Palo AltoPA-5430, PA-545011.1.13✅ Full
FortinetFG-901G, FG-7081F7.4.9✅ Full
F5 BIG-IPr10600, r5600, r580017.5.1.4✅ Full (VSA required)
Trellix NSMSensor 9600, NSM Manager11.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.

Copy

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).

Copy

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):

Copy

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
15Superuser (full access)
1Device Reader (read-only)

7.4 Fortinet FortiOS (7.4.9)

Applies to FG-901G and FG-7081F.

Copy

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:

Copy

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:

ModelHostnameFirmware
r10600DC2-B78-L4LB01, DC2-A88-L4LB0217.5.1.4
r5600DC2-B81-SSL-VPNGW01, DC2-A91-SSL-VPNGW0217.5.1.4
r5600DC2-B79-LB-WAF01, DC2-A89-LB-WAF0217.5.1.4
r5800DC2-B80-ADOS01, DC2-A90-ADOS0217.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.

VariableType to search · ESC to discard
GlossaryType to search · ESC to discard
InsertType to search · ESC to discard
No matches