Cisco GSS Administration Guide (Software Version 3.1(1))
Managing GSS User Accounts Through a TACACS+ Server
Downloads: This chapterpdf (PDF - 499.0KB) The complete bookPDF (PDF - 4.91MB) | Feedback

Managing GSS User Accounts Through a TACACS+ Server

Table Of Contents

Managing GSS User Accounts Through a TACACS+ Server

TACACS+ Overview

TACACS+ Configuration Quick Start

Configuring a TACACS+ Server for Use with the GSS

Configuring Authentication Settings on the TACACS+ Server

Configuring Authorization Settings on the TACACS+ Server

Configuring Primary GSSM GUI Privilege Level Authorization from the TACACS+ Server

Enabling Custom User GUI Views When Authenticating a User from the TACACS+ Server

Configuring Accounting Settings on the TACACS+ Server

Identifying the TACACS+ Server Host on the GSS

Disabling TACACS+ Server Keepalives on the GSS

Specifying the TACACS+ Server Timeout on the GSS

Specifying TACACS+ Authentication of the GSS

Specifying TACACS+ Authorization of the GSS

Specifying TACACS+ Accounting on the GSS

Inserting Header Information Into an Authentication Request

Showing TACACS+ Statistics on the GSS

Clearing TACACS+ Statistics on the GSS

Disabling TACACS+ on a GSS


Managing GSS User Accounts Through a TACACS+ Server


This chapter describes how to configure the GSS, primary GSSM, or standby GSSM as a client of a Terminal Access Controller Access Control System Plus (TACACS+) server for separate authentication, authorization, and accounting (AAA) services. Configuring the GSS as a client of a TACACS+ server provides a higher level of security by allowing you to control who can access a GSS device, control which CLI commands are available for particular users, and to use the TACACS+ server to record the specific CLI commands and GUI pages accessed by a GSS user.

This chapter contains the following major sections:

TACACS+ Overview

TACACS+ Configuration Quick Start

Configuring a TACACS+ Server for Use with the GSS

Identifying the TACACS+ Server Host on the GSS

Disabling TACACS+ Server Keepalives on the GSS

Specifying the TACACS+ Server Timeout on the GSS

Specifying TACACS+ Authentication of the GSS

Specifying TACACS+ Authorization of the GSS

Specifying TACACS+ Accounting on the GSS

Inserting Header Information Into an Authentication Request

Showing TACACS+ Statistics on the GSS

Clearing TACACS+ Statistics on the GSS

Disabling TACACS+ on a GSS

TACACS+ Overview

The TACACS+ protocol is a security application that provides centralized validation of users who are attempting to gain access to the GSS. TACACS+ services are maintained in a relational database on a TACACS+ security daemon running on a UNIX or Windows NT/Windows 2000 server.

TACACS+ provides for separate authentication, authorization, and accounting (AAA) facilities between a GSS and the TACACS+ server. TACACS+ allows for multiple access control servers (the TACACS+ security daemon) to provide the AAA services. The Cisco Secure Access Control Server (ACS) is an example of an AAA access control server.

TACACS+ uses TCP as the transport protocol for reliable delivery. Optionally, you can configure the GSS to encrypt all traffic transmitted between the GSS device and the TACACS+ server in the form of a shared secret.

When a user attempts to access a GSS device that is operating as a TACACS+ client, the GSS forwards the user authentication request to the TACACS+ server (containing the username and password). The TACACS+ server returns either a success or failure response depending on the information in the server's database.

Figure 4-1 shows a client GSS and a TACACS+ server configuration.

Figure 4-1 Simplified Example of Traffic Flow Between a GSS Client and a TACACS+ Server

The TACACS+ server provides the following AAA independent services to the GSS operating as a TACACS+ client:

Authentication—Identifies users attempting to access a GSS. Authentication frequently involves verifying a username with an assigned password. GSS users are authenticated against the TACACS+ server when remotely accessing a GSS through the console, Telnet, Secure Shell (SSH), FTP, or the primary GSSM GUI interfaces.

To successfully log in to a GSS from an SSH session, you must be configured on both the GSS and the TACACS+ server. To successfully log in from a Telnet or FTP session, you need only be configured on the TACACS+ server. In either case, if your remote login authentication attempt is denied, you are prohibited from accessing the GSS.

Authorization—Controls which GSS CLI commands a user can execute on a GSS or on a GSSM (primary or standby), providing per-command control and filtering. Authorization is performed after a user receives authentication by the TACACS+ server and begins to use the GSS. You also can assign a privilege level to a user accessing the primary GSSM GUI.

Accounting—Records the specific CLI commands and GUI pages accessed by a GSS user. Accounting enables system administrators to monitor the activities of GSS users, which is beneficial for administrating multi-user GSS devices. The information is contained in an accounting record that is sent to the TACACS+ server. Each record includes the username, the CLI command executed or the primary GSSM GUI page accessed, the primary GSSM GUI page action performed, and the time that the action was performed. You can import the log files from the TACACS+ server into a spreadsheet application.

You can define a maximum of three TACACS+ servers for use with a GSS. The GSS periodically queries the first configured TACACS+ server with a TCP keepalive to ensure network connectivity and TACACS+ application operation. If the GSS determines that the TACACS+ server is down, the GSS attempts to connect to the next server in the list of configured TACACS+ servers as the backup server. If a second (or third) TACACS+ server is available for use, the GSS selects that server as the active TACACS+ server.

The GSS uses TCP keepalives as the default to monitor connectivity with the active TACACS+ server. As a secondary measure, if the TCP keepalives fail, or if you disable the use of keepalives, you can specify a global TACACS+ timeout period to designate how long the GSS waits for a response to a connection attempt from a TACACS+ server. The timeout value applies to all defined TACACS+ servers.

If the GSS cannot contact any of the three specified TACACS+ servers, the GSS checks for the local authentication setting and falls back to performing local user authentication through either the console port or a Telnet connection. Local authentication is always enabled on the console port and Telnet connection to avoid lockout. Local authentication is an option for an FTP, GUI, or SSH connection.

TACACS+ Configuration Quick Start

Table 4-1 provides a quick overview of the steps required to configure TACACS+ server operation on a GSS. Each step includes the CLI command required to complete the task. For a complete description of each feature and all the options associated with the CLI command, see the sections following the table.

Table 4-1 TACACS+ Configuration Quick Start 

Task and Command Example

1. Configure the authentication, authorization, and accounting service settings on the TACACS+ server, such as the Cisco Secure Access Control Server (ACS).

2. Enable global configuration mode on the GSS device.

gssm1.example.com# config
gssm1.example.com(config)# 

3. Define the TACACS+ server that contains the TACACS+ authentication, authorization, and accounting databases. You can define a maximum of three servers for the GSS. Specify the IP address or hostname for the server. By default, the TCP port is 49. You can optionally define a different port number and, if required, a TACACS+ server encryption key.

gssm1.example.com(config)# tacacs-server host 192.168.1.102 port 9988 key SECRET-456

4. (Optional) Define a global TACACS+ timeout period for the configured TACACS+ servers.

gssm1.example.com(config)# tacacs-server timeout 60

5. Enable TACACS+ authentication for a specific GSS access method.

gssm1.example.com(config)# aaa authentication ssh 

6. Enable the TACACS+ authorization service to permit or restrict user access to specific GSS CLI commands, as defined by the TACACS+ server.

gssm1.example.com(config)# aaa authorization commands

7. Enable the TACACS+ accounting service to monitor the use of specific CLI commands and GUI pages by each GSS user.

gssm1.example.com(config)# aaa accounting commands

Configuring a TACACS+ Server for Use with the GSS

This section describes how to set up a TACACS+ server, such as the Cisco Secure Access Control Server (ACS). It is intended as a guide to help ensure proper communication with a TACACS+ server and a GSS operating as a TACACS+ client. For details on configuring the Cisco Secure ACS, or another TACACS+ server, see the documentation provided with the software.

This section contains the following topics:

Configuring Authentication Settings on the TACACS+ Server

Configuring Authorization Settings on the TACACS+ Server

Configuring Accounting Settings on the TACACS+ Server


Note For the GSS to properly perform user authentication using a TACACS+ server, the username and password must be identical on both the GSS CLI and the TACACS+ server.


Configuring Authentication Settings on the TACACS+ Server

To configure the authentication settings on Cisco Secure ACS, perform the following steps:

1. Proceed to the Network Configuration section of the Cisco Secure ACS HTML interface, the Add AAA Client page (see Figure 4-2).

Figure 4-2 Add AAA Client Page of Cisco Secure ACS

2. Configure the following selections:

AAA Client Hostname—Enter the name that you want assigned to the GSS.

AAA Client IP Address—Enter the IP address of the GSS Ethernet interface that will be used for communicating with the TACACS+ server.

Key—Enter the shared secret that the GSS and Cisco Secure ACS use to authenticate transactions. For correct operation, you must specify the identical shared secret on both the Cisco Secure ACS and the GSS. The key is case-sensitive.

Authenticate Using—Choose TACACS+ (Cisco IOS).


Note The TACACS+ (Cisco IOS) drop-down item is the general title for the Cisco TACACS+ authentication function. The TACACS+ (Cisco IOS) selection activates the TACACS+ option when using Cisco Systems access servers, routers, and firewalls that support the TACACS+ authentication protocol. This includes support with a GSS device as well.


Configuring Authorization Settings on the TACACS+ Server

You can use the TACACS+ server to limit user access to a subset of CLI commands on a GSS device. For the Cisco Secure ACS, define the CLI command sets for user groups, and then assign users to those groups. You can also determine a user's primary GSSM GUI privilege level when configuring user command authorization settings.


Note For the Cisco Secure ACS, you may also define command privileges for individual users instead of an entire group. The setup process is the same for users or for groups.


To define CLI command privileges for the GSS from the Cisco Secure ACS, perform the following steps:

1. Access the Group Setup section of the Cisco Secure ACS interface, then access the Group Setup page. Select the group for which you want to configure TACACS+ settings, then click Edit Settings. The Edit page appears.

2. Scroll to the Shell Command Authorization Set section of the Group Setup page (see Figure 4-3).

Figure 4-3 Shell Command Authorization Set Section of Group Setup Page

3. Click the Per Group Command Authorization check box.

4. For unlimited GSS command access, under Unmatched Cisco IOS Commands, click the Permit option. Leave the command field blank.

5. Set access restrictions on specific GSS CLI commands as follows:

a. Check the Command check box.

b. Click the Deny option.

c. Type the command name in the Command text box, along with any required arguments to the command that you want to permit or deny.

The specified commands are denied for the group depending on the setting of the Unmatched Cisco IOS Commands parameters.

6. Configure arguments for a specified CLI command by entering strings in the Arguments text box as follows:

deny <arg1 ... argN> 
permit <arg1 ... argN> 

Arguments are case sensitive and must match the text exactly that the GSS sends to the Cisco Secure ACS. For each argument of the Cisco IOS command, specify whether the argument is to be permitted or denied. These should be entered in the format permit argument or deny argument.

The GSS device may submit arguments in a format different from what a user types at a GSS CLI prompt. To create effective device CLI command sets, see the Cisco Global Site Selector Command Reference for proper CLI command syntax.

7. Choose Deny to permit only those arguments listed, under Unlimited Arguments. Choose Permit to allow users to issue all arguments not specifically listed.

8. Repeat Steps 5 through 7 for each CLI command that you want to restrict. Configure multiple commands by clicking the Submit button after each command. A new command configuration section appears for subsequent commands.

The following are examples of permitting and denying CLI commands:

To deny all CLI commands except the show users CLI command (see Figure 4-4), do the following:

a. Click the Deny option under Per Group Command Authorization.

b. Enter show in the Command text box.

c. Enter permit user in the Arguments text box.

d. Click the Deny option under Unlisted arguments.

Figure 4-4 Command Privileges Example—Deny All CLI Commands Except Specified Command

To permit all CLI commands except for the gss tech-report command (see Figure 4-5), do the following:

a. Click the Permit option under Per Group Command Authorization.

b. Enter gss in the Command text box.

c. Enter deny tech-report in the Arguments text box.

d. Click the Permit option under Unlisted arguments.

Figure 4-5 Command Privileges Example—Permit All CLI Commands Except Specified Command

This section contains the following topics:

Configuring Primary GSSM GUI Privilege Level Authorization from the TACACS+ Server

Enabling Custom User GUI Views When Authenticating a User from the TACACS+ Server

Configuring Primary GSSM GUI Privilege Level Authorization from the TACACS+ Server

You can configure the Cisco Secure ACS TACACS+ server to define the privilege level (role) of a user when accessing the primary GSSM GUI. The primary GSSM GUI learns the user's associated privilege level when communicating with the TACACS+ server. This capability provides the TACACS+ administrator with the flexibility to dynamically change a user's privilege level without requiring that the user terminate a GUI session and log back in to the primary GSSM.

Users are assigned privileges based on whether they are using the GUI or the GLI on the primary GSSM as follows:

For users who are using the GUI, the privilege configured on the TACACS+ server takes preference over any privilege configured on the GSS.

For users who are using the CLI, the privilege configured on the GSS takes preference over the privilege configured on the TACACS+ server. If a user is not configured locally, then the user is assigned the user privilege by default (regardless of the privilege configured on the TACACS+ server).

If you configure the TACACS+ server to allow all commands, the user is automatically set to administrator and has all associated privileges. See the "Privilege Levels for Using the Primary GSSM GUI" section in Chapter 3, Creating and Managing User Accounts for more information.


Note Primary GSSM GUI privileges assigned to a user from the TACACS+ server override the user privilege level defined from the primary GSSM GUI GSSM User Administration details page.


To specify a user privilege-level for accessing the primary GSSM GUI from the Cisco Secure ACS, perform the following steps:

1. If this is your first time enabling per-user CLI command authorization, access the Interface Configuration section of the Cisco Secure ACS interface and configure the following selections:

a. Access the TACACS+ (IOS) page. Click the Shell (exec) checkbox under both the User and Group columns (see Figure 4-6).

Figure 4-6 Interface Configuration Page—TACACS+ (IOS) Page

b. Access the Advanced Options page. Check the Per-user TACACS+/RADIUS Attributes checkbox (see Figure 4-7).

Figure 4-7 Interface Configuration Page—Advanced Options Page

2. Access the User Setup section of the Cisco Secure ACS interface and choose the name of a user to which you want to assign a primary GSSM GUI privilege level. The Edit page appears.

3. Scroll to the Shell Command Authorization Set section of the User Setup page.

4. Check the Per User Command Authorization checkbox.

5. Check the Command check box and type GuiEnable in the Command text box (see Figure 4-8).

Figure 4-8 Assigning Operator-Level Privileges to a User from Cisco Secure ACS

6. Assign operator user-level privileges from the TACACS+ server by entering the following string in the Arguments text box (see Figure 4-8):

deny administrator

The deny administrator string forces a user to have operator-level privileges when using the primary GSSM GUI.

7. Assign observer user-level privileges from the TACACS+ server by entering the following strings in the Arguments text box:

deny administrator
deny operator

These two strings force a user to have observer-level privileges when using the primary GSSM GUI.

8. Click the Permit option for Unlisted arguments.

Enabling Custom User GUI Views When Authenticating a User from the TACACS+ Server

For a user with an assigned operator or observer role, a TACACS+ server does not directly support control over additional primary GSSM GUI application-specific functions such as user views. The GSS administrator can define a set of custom views that limit the data (configuration data and statistics) available on a primary GSSM GUI page. Each custom user view can include selections from the following properties:

Answers

Shared keepalives

Locations

Owners

When you assign a custom view to a user account, the user can see only the configured data and statistics associated with that view.

See the "Custom User View Overview" section in Chapter 3, Creating and Managing User Accounts, for background on custom user views in the primary GSSM GUI.

If you want to assign a view to an authenticated user, configure a custom GUI view for the user on the primary GSSM GUI. Be sure to use the exact login name when creating the primary GSSM GUI user account. During the user authentication process, the GSS makes a correlation with the user name to determine if there is an associated user view configured on the primary GSSM GUI for that user. The custom user view is activated when the user accesses the primary GSSM GUI.


Note A password will also be required when creating a user account on the primary GSSM GUI. However, the GUI-specific password is not used during user authentication from a TACACS+ server. When you configure TACACS+ authentication on the GSS from the CLI, if you choose not to select the local fallback option for the aaa authentication gui CLI command (see the "Configuring Authentication Settings on the TACACS+ Server" section), ensure that you set the user account GUI-specific password to a random setting. Setting the password to a random setting helps to maintain the security of the primary GSSM GUI in the event that TACACS+ authentication fails for a GUI connection.


Configuring Accounting Settings on the TACACS+ Server

To configure the accounting service for the Cisco Secure ACS, perform the following steps:

1. In the System Configuration section of the Cisco Secure ACS interface, the Logging Configuration page, click CSV TACACS+ Accounting. The Edit page appears (see Figure 4-9).

Figure 4-9 CSV TACACS+ Accounting File Logging Page of Cisco Secure ACS

2. Click the Log to CSV TACACS+ Accounting report check box.

3. Under Select Columns To Log, in the Attributes column, click the attribute that you want to log. Click -> to move the attribute into the Logged Attributes column. Click Up or Down to move the column for this attribute to the desired position in the log. Repeat until all the desired attributes are in the desired positions in the Logged Attributes column.

4. Click Submit when you finish moving the attributes into the Logged Attributes.

Identifying the TACACS+ Server Host on the GSS

The TACACS+ server contains the TACACS+ authentication, authorization, and accounting relational databases. You can designate a maximum of three servers on the GSS. However, the GSS uses only one server at a time. For recommended guidelines on setting up a TACACS+ server (the Cisco Secure ACS in this example), see the "Configuring a TACACS+ Server for Use with the GSS" section.

Use the tacacs-server host command to set up a list of preferred TACACS+ security daemons for use with the GSS. The TACACS+ software searches for the server hosts in the order that you specify through the tacacs-server host command.

The GSS periodically queries all configured TACACS+ servers with a TCP keepalive to ensure network connectivity and TACACS+ application operation. If the GSS determines that the first TACACS server is down, the GSS attempts to connect to the next server in the list of configured TACACS+ servers as the backup server. If a second (or third) TACACS+ server is available for use, the GSS selects that server as the active TACACS+ server.


Note The GSS uses TCP keepalives as the default to monitor connectivity with the active TACACS+ server. As a secondary measure, if the TCP keepalives fail, or if you disable the use of keepalives, you can use the tacacs-server timeout command to define a global TACACS+ timeout period that the GSS uses to wait for a response to a connection attempt from a TACACS+ server. The timeout value applies to all defined TACACS+ servers. See the "Specifying the TACACS+ Server Timeout on the GSS" section for details


Use the tacacs-server host command to specify the names of the IP host or hosts maintaining the TACACS+ server. You must provide the IP address or hostname for the server. By default, the GSS uses TCP port 49 to communicate with the TACACS+ server. You can optionally change the TCP port number to a different port number. To maintain security between the GSS and the TACACS+ server, you can also specify an encryption key.

When operating the GSS as a client with a TACACS+ server, the GSS may restrict user access to all CLI commands. This behavior can occur when you specify an encryption key on the GSS using the tacacs-server host command but do not specify the same encryption key on the TACACS+ server. In this case, the CLI command restriction takes place immediately on the GSS once you enter the aaa authorization commands command (see the "Specifying TACACS+ Authorization of the GSS" section).

You should first enter the tacacs-server host command on the GSS and then specify the same encryption key on the TACACS+ server before you enter the aaa authorization commands CLI command on the GSS. If the GSS fails to authorize all CLI commands and you are unable to change the encryption key on the TACACS+ server, power cycle the GSS. Because the CLI commands entered prior to the power cycle were not saved in the GSS startup-configuration file, you can regain access to the GSS CLI and redo the TACACS+ configuration.

The syntax for this global configuration command is as follows:

tacacs-server host ip_or_host [port port] [key encryption_key]

The arguments and keywords for this global configuration command are as follows:

ip_or_host—IP address or hostname of the TACACS+ server that you want to access. Enter an IP address in dotted-decimal notation (for example, 192.168.11.1) or a mnemonic hostname (for example, myhost.mydomain.com).

port port—(Optional) TCP port of the TACACS+ server. The default port is 49. You can enter a port number from 1 to 65535.

key encryption_key—(Optional) Shared secret between the GSS and the TACACS+ server. If you want to encrypt TACACS+ packet transactions between the GSS and the TACACS+ server, define an encryption key. If you do not define an encryption key, the GSS transmits packets to the TACACS+ server in clear text. The range for the encryption key is 1 to 100 alphanumeric characters.

For example, to configure three TACACS+ servers as 192.168.1.100:8877, 192.168.1.101:49 (using the default TCP port), and 192.168.1.102:9988 with different shared secrets, enter:

gss1.example.com(config)# tacacs-server host 192.168.1.100 port 8877 key SECRET-123
gss1.example.com(config)# tacacs-server host 192.168.1.101 key SECRET-456
gss1.example.com(config)# tacacs-server host 192.168.1.102 port 9988 key SECRET-789

Once configured, the IP address and port of a TACACS+ server cannot easily be changed. To change the IP address and port of a TACACS+ server, you must first delete the configured TACACS+ server, reenter the TACACS+ server with a new IP address and, if necessary, specify a new port number. Use the no form of the tacacs-server-host command to delete an existing TACACS+ server from the running configuration.

For example, to delete the TACACS+ server at IP address 192.168.1.101 with default TCP port 49 from the running configuration, enter:

gss1.example.com(config)# no tacacs-server host 192.168.1.101 

or

gss1.example.com(config)# no tacacs-server host 192.168.1.101 port 49

If you defined an encryption key, it is not necessary to include that key to delete the TACACS+ server.

If you specified a TCP port other than default port number 49 when configuring the TACACS+ server, you must also include the TCP port to delete the TACACS+ server. For example, if you specified port 8877 for the TACACS+ server at IP address 192.168.1.101, enter:

gss1.example.com(config)# no tacacs-server host 192.168.1.101 port 8877

You can change or remove the encryption key without deleting the TACACS+ server. For example, to remove the key SECRET-123 without removing the TACACS+ server, enter:

gss1.example.com(config)# no tacacs-server host 192.168.1.101 key SECRET-123

If you specified a TCP port other than default port 49, specify the following to remove the key SECRET-123 without removing the server:

gss1.example.com(config)# no tacacs-server host 192.168.1.101 port 8877 key SECRET-123

Disabling TACACS+ Server Keepalives on the GSS

By default, the GSS enables the automatic use of TCP keepalives to periodically query all online TACACS+ servers with a TCP keepalive to ensure network connectivity and TACACS+ application operation. If the GSS determines that the first TACACS server is down (offline), the GSS then attempts to connect to the next server in the list of configured TACACS+ servers as the backup server. If a second (or third) TACACS+ server is available for use, the GSS selects that server as the active TACACS+ server.

To disable the use of TCP keepalives with the active TACACS+ server, use the no form of the tacacs-server keepalive-enable command. The syntax for this global configuration command is as follows:

no tacacs-server keepalive-enable

If you disable TCP keepalives, the GSS will continue to use the TACACS+ timeout period (that you specified in the tacacs-server timeout command) to wait for a response to a connection attempt from a nonoperational TACACS+ server before switching to the next server in the list of configured TACACS+ servers. See the "Specifying the TACACS+ Server Timeout on the GSS" section for details on defining a global TACACS+ timeout period.

To disable the use of TCP keepalives with the active TACACS+ server, enter:

gss1.example.com(config)# no tacacs-server keepalive-enable

To reenable the use of TCP keepalives with the active TACACS+ server, enter:

gss1.example.com(config)# tacacs-server keepalive-enable

Specifying the TACACS+ Server Timeout on the GSS

As a secondary measure, if the TCP keepalives fail, or if you disable the use of keepalives, you can use the tacacs-server timeout command to define a global TACACS+ timeout period, in seconds, that specifies how long the GSS waits for a response to a connection attempt from a TACACS+ server. The timeout value applies to all defined TACACS+ servers. The default timeout period is 5 seconds.

To specify the timeout period, use the tacacs-server timeout command. The syntax for this global configuration command is as follows:

tacacs-server timeout seconds

The seconds argument is a value from 1 to 255 seconds. The GSS dynamically applies the modified timeout period and the new value takes effect automatically on the next TACACS+ connection.

For example, to set the timeout period to 60 seconds, enter:

gss1.example.com(config)# tacacs-server timeout 60

To reset the timeout period to the default of 5 seconds, enter:

gss1.example.com(config)# no tacacs-server timeout 60

Specifying TACACS+ Authentication of the GSS

After you identify a TACACS+ server, you can enable the TACACS+ authentication service on the GSS by using the aaa authentication command to enable TACACS+ authentication. By default, the GSS falls back to local authentication with either the console port or a Telnet connection if the GSS cannot remotely contact a TACACS+ server. Optionally, you can specify local authentication if TACACS+ authentication fails for an FTP, GUI, or SSH connection.


Note You must enable remote access on the GSS device (SSH, Telnet, or FTP) before you enable TACACS+ authentication for the specific GSS access method. See the Cisco Global Site Selector Getting Started Guide for details.


The syntax for this global configuration command is as follows:

aaa authentication {ftp | gui | login | ssh} [local]

The keywords for this global configuration command are as follows:

ftp—Enables the TACACS+ authentication service for a File Transfer Protocol (FTP) remote access connection.

gui—Enables the TACACS+ authentication service for a primary GSSM GUI connection.

login—Enables the TACACS+ authentication service for the login service, using either a direct connection to the GSS console port or through a Telnet remote access connection.

ssh—Enables the TACACS+ authentication service for a Secure Shell (SSH) remote access connection.

local—(Optional) Used when you want the GSS to fall back to local authentication if TACACS+ authentication fails for an FTP, GUI, or SSH connection. The local option is always enabled for the login (console port or Telnet) access method.

For example, to enable TACACS+ authentication for an SSH remote access connection that can revert back to local authentication, enter:

gss1.example.com(config)# aaa authentication ssh local

Use the no form of the aaa authentication command to disable the TACACS+ authentication function. For example, to disable TACACS+ authentication for an SSH remote access connection, enter:

gss1.example.com(config)# no aaa authentication ssh 

Specifying TACACS+ Authorization of the GSS

TACACS+ authorization enables you to set parameters that restrict user access to specific GSS CLI commands, as defined by the TACACS+ server. Use the aaa authorization commands command to enable the TACACS+ authorization service to limit a user's access to specific GSS CLI commands. The aaa authorization commands command applies to the user-level and privileged-level EXEC mode commands issued on the GSS. The command authorizes all attempts to enter user-level and privileged-level EXEC mode commands, including global configuration and interface configuration commands.

When operating the GSS as a client with a TACACS+ server, the GSS may restrict user access to all CLI commands. For example, this restriction may occur if you specify an encryption key on the GSS by using the tacacs-server host command (see the "Identifying the TACACS+ Server Host on the GSS" section), but do not specify the same encryption key on the TACACS+ server. In this case, the CLI command restriction takes place immediately on the GSS once you enter the aaa authorization commands command.

You must first enter the tacacs-server host command on the GSS and then specify the same encryption key on the TACACS+ server before you enter the aaa authorization commands CLI command on the GSS. If the GSS fails authorization on all CLI commands and you are unable to change the encryption key on the TACACS+ server, power cycle the GSS. Because the CLI commands entered prior to the power cycle were not saved in the GSS startup-configuration file, you can regain access to the GSS CLI and redo the TACACS+ configuration.

To enable TACACS+ authorization for the GSS CLI commands, enter:

gss1.example.com(config)# aaa authorization commands

Use the no form of this command to disable the TACACS+ CLI command authorization function. For example, enter:

gss1.example.com(config)# no aaa authorization commands 

For details about limiting user access to GSS CLI commands from the TACACS+ server, see the "Configuring Authorization Settings on the TACACS+ Server" section.

Specifying TACACS+ Accounting on the GSS

TACACS+ accounting enables you to monitor GSS CLI commands or primary GSSM GUI pages and user actions executed in the GSS. The information is contained in an accounting record and is transmitted from the GSS to the TACACS+ server. Each record can include a number of fields such as the user name, the executed CLI command, the accessed primary GSSM GUI page and the performed action, and the time of execution. The Cisco Secure ACS records its logs in comma-separated value (CSV) text files. You can import CSV log files into many popular spreadsheet applications. If required, you can generate the CSV-exported spreadsheet as an HTML table using a number of CSV-to-HTML applications.

You must enable logging for accounting reports on the TACACS+ server and that you select the attributes that you want to log. For general guidelines on the recommended setup of a TACACS+ server for accounting (the Cisco Secure ACS in this example), see the "Configuring Accounting Settings on the TACACS+ Server" section.

Use the aaa accounting command to enable the TACACS+ accounting service. The syntax for this global configuration command is as follows:

aaa accounting {commands | gui}

The keywords for this command are as follows:

commands—Enables the TACACS+ accounting service for monitoring the use of GSS CLI commands. The commands option applies to the user-level and privileged-level EXEC mode commands that a user issues. Command accounting generates accounting records for all user-level and privileged-level EXEC mode commands, including global configuration and interface configuration commands.

gui—Enables the TACACS+ accounting service to monitor access to the primary GSSM GUI pages and the actions performed on those pages.

To enable TACACS+ accounting for the GSS CLI, enter:

gss1.example.com(config)# aaa accounting commands

Use the no form of the aaa accounting command to disable the TACACS+ accounting function. To disable TACACS+ accounting for the GSS CLI, enter:

gss1.example.com(config)# no aaa accounting commands 

Inserting Header Information Into an Authentication Request

You can instruct the GSS to insert either the client hostname or the client source IP address into the remote address header when the GSS makes an authentication request to a TACACS+ server. To insert this header information, use the tacacs-server callerid-info-type command. The syntax for this global configuration command is as follows:

tacacs-server callerid-info-type {hostname | ipaddress}

The keywords for this command are as follows:

hostname—Instructs the GSS to insert the client hostname in the rem_addr field of the TACACS+ authentication packet which gets displayed in the CallerId field on the access control server (ACS). This is the default setting.

ipaddress—Instructs the GSS to insert the client source IP address in the rem_addr field of the TACACS+ authentication packet which gets displayed in the CallerId field on the ACS.


Note When you use the hostname keyword and the GSS cannot resolve the client source IP address to the client hostname, the GSS inserts the client source IP address.


The no form of the tacacs-server callerid-info-type command is not permitted.

For example, to instruct the GSS to insert the client source IP address into the remote address header, enter:

gss1.example.com(config)# tacacs-server callerid-info-type ipaddress

Use the show tacacs, show running-config, and show startup-config commands to display the tacacs-server callerid-info-type command setting.

Showing TACACS+ Statistics on the GSS

You can display a summary of the TACACS configuration on your GSS device by using the use the show tacacs command.

For example, to display the current TACACS+ configuration, enter:

gss1.example.com# show tacacs
Current tacacs server configuration
tacacs-server timeout 5
tacacs-server callerId-info-type hostname
tacacs-server keepalive-enable 
tacacs-server host 1192.168.1.100 port 49
aaa authentication ftp

Use the show statistics tacacs command to display the current TACACS+ statistics. Each server is identified by the IP address and port. There is a PASS, FAIL, and ERROR counter for each authentication, authorization, and accounting service. The show statistics tacacs command also indicates whether the TCP keepalive is ONLINE or OFFLINE.


Note If you disable the TCP keepalive function, the show statistics tacacs command output always displays the TCP keepalive as ONLINE.


For example, to display the current TACACS+ statistics for the GSS, enter:

gss1.example.com# show statistics tacacs 
	Server 192.168.1.100:49   ONLINE
					PASS   FAIL   ERROR
	Authentication  321    4      0
	Authorization   782    48     0
	Accounting      535    0      0

	Server 192.168.1.101:49   ONLINE
				    PASS   FAIL   ERROR
	Authentication  17     1      0
	Authorization   39     3      0
	Accounting      12     0      0

Table 4-2 describes the fields in the show statistics tacacs command output.

Table 4-2 Field Descriptions for show statistics tacacs Command 

Field
Description

Server

IP address or hostname, along with the TCP port, of the active TACACS+ server. This field also indicates whether the TCP keepalive is ONLINE or OFFLINE.

Pass

Counter that increments when a "pass" condition occurs for the specific service. For example, if a user successfully performs an authentication with a GSS, the GSS increments the Authentication Pass counter. If the GSS permits a user to access a specific CLI command through authorization, the GSS increments the Authorization Pass counter.

Fail

Counter that increments when a deny condition occurs as the result of an authentication, authorization, or accounting service.

Error

Counter that increments as the result of a communications failure with the TACACS+ server, a TACACS+ protocol error, or an internal error that prevented the session from completing.


Clearing TACACS+ Statistics on the GSS

You can clear the current TACACS+ statistics by using clear statistics tacacs command. Clearing the statistics for a GSS erases all TACACS+ activity and performance records for that device.

For example, enter:

gss1.example.com# clear statistics tacacs
Are you sure? (yes/no) yes

Disabling TACACS+ on a GSS

As a GSS administrator, if you accidentally lock yourself out of a GSS device and are unable to receive TACACS+ user authentication or authorization to access that device, you can disable the TACACS+ function on that GSS from the CLI. You must have physical access to the GSS device to perform this procedure.

To disable TACACS+ on a GSS device, perform the following steps:

1. Attach an ASCII terminal to the console port on the GSS device. See the Cisco Global Site Selector Hardware Installation Guide for instructions on connecting a console cable to your Cisco Global Site Selector series hardware.

2. Press the power control button on the GSS to power cycle the device and perform a restart. As the GSS reboots, the output appears on the console terminal.

3. After the BIOS boots and the LILO boot: prompt appears, type the following to disable TACACS+ for the GSS device:

LILO: <Tab>
GSS-1.31
LILO:GSS-1.31 DISABLETACACS=1

During the boot process, the following appears:

Mounting other Filesystems:  [  OK  ]
*** Disabling TACACS Authentication and Authorization
Building Properties

You should now be able to locally access the GSS device and reconfigure the TACACS+ authentication and authorization functions for the GSS device.

4. Save your configuration changes to memory.

gssm1.example.com# copy running-config startup-config

If you fail to save your configuration changes, the GSS device reverts to its previous settings (including the previous TACACS+ configuration) upon a reboot.