17.11.2014 Views

Cisco AAA Implementation Case Study.pdf

Cisco AAA Implementation Case Study.pdf

Cisco AAA Implementation Case Study.pdf

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong><br />

<strong>Study</strong><br />

Internetworking Solutions Guide<br />

May 2000<br />

Corporate Headquarters<br />

<strong>Cisco</strong> Systems, Inc.<br />

170 West Tasman Drive<br />

San Jose, CA 95134-1706<br />

USA<br />

http://www.cisco.com<br />

Tel: 408 526-4000<br />

800 553-NETS (6387)<br />

Fax: 408 526-4100<br />

Text Part Number: OL-0397-01


THE SPECIFICATIONS AND INFORMATION REGARDING THE PRODUCTS IN THIS MANUAL ARE SUBJECT TO CHANGE WITHOUT<br />

NOTICE. ALL STATEMENTS, INFORMATION, AND RECOMMENDATIONS IN THIS MANUAL ARE BELIEVED TO BE ACCURATE BUT ARE<br />

PRESENTED WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. USERS MUST TAKE FULL RESPONSIBILITY FOR THEIR<br />

APPLICATION OF ANY PRODUCTS.<br />

THE SOFTWARE LICENSE AND LIMITED WARRANTY FOR THE ACCOMPANYING PRODUCT ARE SET FORTH IN THE INFORMATION<br />

PACKET THAT SHIPPED WITH THE PRODUCT AND ARE INCORPORATED HEREIN BY THIS REFERENCE. IF YOU ARE UNABLE TO<br />

LOCATE THE SOFTWARE LICENSE OR LIMITED WARRANTY, CONTACT YOUR CISCO REPRESENTATIVE FOR A COPY.<br />

The <strong>Cisco</strong> implementation of TCP header compression is an adaptation of a program developed by the University of California, Berkeley (UCB) as part of<br />

UCB’s public domain version of the UNIX operating system. All rights reserved. Copyright © 1981, Regents of the University of Ca lifornia.<br />

NOTWITHSTANDING ANY OTHER WARRANTY HEREIN, ALL DOCUMENT FILES AND SOFTWARE OF THESE SUPPLIERS ARE PROVIDED<br />

“AS IS” WITH ALL FAULTS. CISCO AND THE ABOVE-NAMED SUPPLIERS DISCLAIM ALL WARRANTIES, EXPRESSED OR IMPLIED,<br />

INCLUDING, WITHOUT LIMITATION, THOSE OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND<br />

NONINFRINGEMENT OR ARISING FROM A COURSE OF DEALING, USAGE, OR TRADE PRACTICE.<br />

IN NO EVENT SHALL CISCO OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL<br />

DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR<br />

INABILITY TO USE THIS MANUAL, EVEN IF CISCO OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.<br />

Access Registrar, AccessPath, Any to Any, AtmDirector, Browse with Me, CCDA, CCDE, CCDP, CCIE, CCNA, CCNP, CCSI, CD-PAC, the <strong>Cisco</strong> logo,<br />

<strong>Cisco</strong> Certified Internetwork Expert logo, <strong>Cisco</strong>Link, the <strong>Cisco</strong> Management Connection logo, the <strong>Cisco</strong> NetWorks logo, the <strong>Cisco</strong> Powered Network logo,<br />

<strong>Cisco</strong> Systems Capital, the <strong>Cisco</strong> Systems Capital logo, <strong>Cisco</strong> Systems Networking Academy, the <strong>Cisco</strong> Systems Networking Academy logo, the <strong>Cisco</strong><br />

Technologies logo, ConnectWay, Fast Step, FireRunner, Follow Me Browsing, FormShare, GigaStack, IGX, Intelligence in the Optical Core, Internet<br />

Quotient, IP/VC, Kernel Proxy, MGX, Natural Network Viewer, NetSonar, Network Registrar, the Networkers logo, Packet, PIX,PointandClick<br />

Internetworking, Policy Builder, Precept, RateMUX, ScriptShare, Secure Script, ServiceWay, Shop with Me, SlideCast, SMARTnet, SVX, The Cell,<br />

TrafficDirector, TransPath, ViewRunner, Virtual Loop Carrier System, Virtual Voice Line, VlanDirector, Voice LAN, Wavelength Router, Workgroup<br />

Director, and Workgroup Stack are trademarks; Changing the Way We Work, Live, Play, and Learn, Empowering the Internet Generation, The Internet<br />

Economy, and The New Internet Economy are service marks; and Aironet, ASIST, BPX, Catalyst, <strong>Cisco</strong>, <strong>Cisco</strong> IOS, the <strong>Cisco</strong> IOS logo, <strong>Cisco</strong> Systems,<br />

the <strong>Cisco</strong> Systems logo, the <strong>Cisco</strong> Systems <strong>Cisco</strong> Press logo, Enterprise/Solver, EtherChannel, EtherSwitch, FastHub, FastLink, FastPAD, FastSwitch,<br />

GeoTel, IOS, IP/TV, IPX, LightStream, LightSwitch, MICA, NetRanger, Post-Routing, Pre-Routing, Registrar, StrataView Plus, Stratm, TeleRouter, and<br />

VCO are registered trademarks of <strong>Cisco</strong> Systems, Inc. or its affiliates in the U.S. and certain other countries. All other tradem arks mentioned in this<br />

document are the property of their respective owners. The use of the word partner does not imply a partnership relationship betw een <strong>Cisco</strong> and any of its<br />

resellers. (0004R)<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

Copyright © 2000, <strong>Cisco</strong> Systems, Inc.<br />

All rights reserved.


CONTENTS<br />

Preface xi<br />

Purpose xi<br />

Audience xi<br />

Scope xi<br />

Related Documentation and Sites xii<br />

Software Used in This <strong>Case</strong> <strong>Study</strong> xii<br />

Hardware Used in This <strong>Case</strong> <strong>Study</strong> xii<br />

Document Conventions xiii<br />

Command Syntax Conventions xiii<br />

<strong>Cisco</strong> Connection Online xiii<br />

Documentation CD-ROM xiv<br />

Providing Documentation Feedback xiv<br />

Acknowledgements xv<br />

CHAPTER 1 <strong>Cisco</strong> <strong>AAA</strong> <strong>Case</strong> <strong>Study</strong> Overview 1-1<br />

1.1 <strong>AAA</strong> Technology Summary 1-1<br />

1.1.1 <strong>AAA</strong> RFC References 1-2<br />

1.2 TACACS+ Overview 1-2<br />

1.3 RADIUS Overview 1-3<br />

1.4 Comparison of TACACS+ and RADIUS 1-4<br />

1.4.1 UDP and TC P1-4<br />

1.4.2 Packet Encryption 1-4<br />

1.4.3 Authentication and Authorization 1-5<br />

1.4.4 Multiprotocol Support 1-5<br />

1.4.5 Router Management 1-5<br />

1.4.6 Interoperability 1-6<br />

1.4.7 Attribute-Value Pairs (AVPs )1-6<br />

1.5 Differences in Implementing Local and Server <strong>AAA</strong> 1-6<br />

1.6 Scenario Description 1-8<br />

1.7 Planning Your Network 1-9<br />

1.8 Network Service Definitions 1-10<br />

1.8.1 Authentication Policy 1-10<br />

OL-0397-01<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

iii


Contents<br />

1.8.2 Authorization Polic y1-11<br />

1.8.3 Accounting Polic y1-11<br />

1.9 Security <strong>Implementation</strong> Policy Consideration s1-12<br />

1.10 Network Equipment Selection 1-13<br />

1.11 Task Check Li st1-14<br />

CHAPTER 2 Implementing the Local <strong>AAA</strong> Subsystem 2-1<br />

2.1 Implementing Local Dialup Authentication 2-2<br />

2.2 Implementing Local Dialup Authorization 2-5<br />

2.3 Implementing Local Router Authentication 2-8<br />

2.4 Implementing Local Router Authorization 2-10<br />

2.5 Implementing Local Router Accounting 2-12<br />

CHAPTER 3 Implementing <strong>Cisco</strong> <strong>AAA</strong> Servers 3-1<br />

3.1 Installing <strong>Cisco</strong>Secure for UNIX with Oracle 3-2<br />

3.1.1 Creating Oracle Tablespace 3-2<br />

3.1.2 Verifying the Oracle Database Instance 3-3<br />

3.1.3 Installing <strong>Cisco</strong>Secure for UNIX 3-5<br />

3.1.4 Creating and Verifying Basic Us e r 3-10 P r o f i l e<br />

CHAPTER 4 Implementing the Server-Based <strong>AAA</strong> Subsystem 4-1<br />

4.1 Implementing Server-Based TACACS+ Dialup Authenticatio n4-2<br />

4.2 Implementing Server-Based TACACS+ Dialup Authorizatio n4-4<br />

4.3 Implementing Server-Based RADIUS Dialup Authentication 4-6<br />

4.4 Implementing Server-Based RADIUS Dialup Authorization 4-8<br />

4.5 Implementing Server-Based TACACS+ Router Authenticatio n4-10<br />

4.6 Implementing Server-Based TACACS+ Router Authorizatio n4-13<br />

CHAPTER 5 Implementing Server-Based <strong>AAA</strong> Accountin g 5-1<br />

5.1 Implementing Server-Based TACACS+ Dial Accountin g5-1<br />

5.2 Implementing Server-Based TACACS+ Router Accountin g5-4<br />

5.3 <strong>AAA</strong> Disconnect Cause Code Descriptions 5-6<br />

CHAPTER 6 Diagnosing and Troubleshooting <strong>AAA</strong> Operations 6-1<br />

6.1 Overview of Authentication and Authorization Processes 6-2<br />

6.2 Troubleshooting <strong>AAA</strong> <strong>Implementation</strong> 6-7<br />

iv<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

OL-0397-01


Contents<br />

6.2.1 Troubleshooting Methodology Overview 6-7<br />

6.2.2 <strong>Cisco</strong> IOS Debug Command Summary 6-7<br />

6.3 <strong>AAA</strong> Troubleshooting Basics 6-8<br />

6.3.1 Troubleshooting Dial-Based Local Authentication 6-9<br />

6.3.2 Troubleshooting Dial-Based Server Authentication 6-10<br />

6.3.3 Troubleshooting Dial-Based Local Authorization 6-13<br />

6.3.4 Troubleshooting Dial-Based Server Authorization 6-15<br />

6.3.5 Troubleshooting Router-Based Local Authentication 6-19<br />

6.3.6 Troubleshooting Router-Based Server Authentication 6-21<br />

6.3.7 Troubleshooting Router-Based Local Authorization 6-24<br />

6.3.8 Troubleshooting Router-Based Server Authorization 6-26<br />

6.4 Troubleshooting Scenarios 6-29<br />

6.4.1 Isolating Incorrect TACACS+ Key in NAS or <strong>AAA</strong> Server (TACACS+ Dial-Based Server<br />

Authentication) 6-29<br />

6.4.2 Isolating Invalid User Password (TACACS+ Dial-Based Server Authentication) 6-30<br />

6.4.3 Isolating Non-Existent User (TACACS+ Dial-Based Server Authentication) 6-31<br />

6.4.4 Isolating Missing PPP Service Definition (TACACS+ Dial-Based Server Authorization ) 6-33<br />

6.4.5 Isolating Defined AVPs not Being Assigned (TACACS+ Dial-Based Server Authorization) 6-34<br />

6.4.6 Isolating Missing Shell Service Definition (TACACS+ Dial-Based Server Authorization) 6-35<br />

6.4.7 Isolating Incorrect PPP Reply Attributes (RADIUS Dial-Based Server Authorization) 6-36<br />

APPENDIX A <strong>AAA</strong> Device Configuration Listing s A-1<br />

A.1 Sample <strong>Cisco</strong> IOS Configuration Listing sA-1<br />

A.1.1 Example Local-Based Router <strong>AAA</strong> Configuration A-2<br />

A.1.2 Example Server-Based TACACS+ NAS Configuration A-5<br />

A.1.3 Example Server-Based RADIUS NAS Configuration A-9<br />

A.2 Router <strong>AAA</strong> Command <strong>Implementation</strong> Descriptions A-13<br />

A.3 NAS <strong>AAA</strong> Command <strong>Implementation</strong> Descriptions A-13<br />

A.4 <strong>Cisco</strong>Secure for UNIX Configuration Listin g A-15 s<br />

A.4.1 CSU.cfg Listing A-16<br />

A.4.2 CSConfig.ini Listing A-19<br />

A.4.3 Oracle User Environment Variable A-23<br />

A.4.4 listener.ora Listing A-24<br />

A.5 <strong>Cisco</strong>Secure Log Files A-25<br />

OL-0397-01<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

v


Contents<br />

APPENDIX B <strong>AAA</strong> Impact on Maintenance Task s B-1<br />

APPENDIX C Server-Based <strong>AAA</strong> Verification Diagnostic Output C1<br />

C.1 Server-Based TACACS+ Dialup Authentication Diagnostics C1<br />

C.2 Server-Based TACACS+ Dialup Authorization Diagnostics C2<br />

C.3 Server-Based RADIUS Dialup Authentication Diagnostics C4<br />

C.4 Server-Based RADIUS Dialup Authorization Diagnostics C5<br />

C.5 Server-Based TACACS+ Router Authentication Diagnostics C7<br />

C.6 Server-Based TACACS+ Router Authorization Diagnostics C9<br />

C.6.1 Test Results for rtr_low Gro u C9p<br />

C.6.2 Test Results for rtr_tech Grou pC14<br />

C.6.3 Test Results for rtr_super Grou pC20<br />

INDEX<br />

vi<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

OL-0397-01


FIGURES<br />

Figure 1-1 <strong>AAA</strong>-Based, Secure Network Access Scenario 1-2<br />

Figure 1-2 Local-Based Access Options 1-7<br />

Figure 1-3 Server-Based Access Options 1-8<br />

Figure 2-1 Local-Based Dial Access Environment 2-2<br />

Figure 2-2 Local-Based Router Environment 2-8<br />

Figure 3-1 <strong>AAA</strong>-Based, Secure Network Access Scenario 3-1<br />

Figure 4-1 Basic <strong>AAA</strong> <strong>Case</strong> <strong>Study</strong> Environment 4-2<br />

Figure 4-2 Server-Based Dial Environment (TACACS+) 4-2<br />

Figure 4-3 Server-Based Dial Environment (RADIUS) 4-6<br />

Figure 4-4 Server-Based VTY Access (Telnet) 4-10<br />

Figure 4-5 TACACS+ Authentication and Authorization Verification Methodology 4-14<br />

Figure 6-1 Basic <strong>AAA</strong> <strong>Case</strong> <strong>Study</strong> Environment 6-2<br />

Figure 6-2 Dial Access Authentication and Authorization Flow Diagram 6-3<br />

Figure 6-3 RADIUS Dial Access Authentication and Authorization Process 6-4<br />

Figure 6-4 TACACS+ Dial Access Authentication and Authorization Session (EXEC Enabled) 6-5<br />

Figure 6-5 TACACS+ Dial Access Authentication and Authorization Session (EXEC Shell Disabled) 6-6<br />

OL-0397-01<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

vii


Figures<br />

viii<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

OL-0397-01


TABLES<br />

Table 1-1 Comparison of RADIUS and TACACS+ 1-4<br />

Table 1-2 Examples of RADIUS AVPs 1-6<br />

Table 1-3 Examples of TACACS+ AVPs 1-6<br />

Table 1-4 General Service Definition Checklist 1-9<br />

Table 1-5 <strong>AAA</strong> Service Definition Checklist 1-10<br />

Table 1-6 <strong>AAA</strong> Security Checklist 1-12<br />

Table 1-7 <strong>AAA</strong> Task Checklist 1-14<br />

Table 4-1 Group Profile Command Summary 4-13<br />

Table 5-1 <strong>AAA</strong> Disconnect Cause Code Listings 5-6<br />

Table 6-1 Single User Failure; Individual Dial-in User Connection Fails 6-9<br />

Table 6-2 Multiple User Failure; All Dial-in Users Unable to Connect to NAS 6-9<br />

Table 6-3 Single User Failure; Individual User Unable to Make Connection (RADIUS and TACACS+) 6-10<br />

Table 6-4 Multiple User Failure; All Dial-in Users Unable to Connect to NAS (RADIUS and TACACS+) 6-12<br />

Table 6-5 User Cannot Start PPP 6-13<br />

Table 6-6 Network Authorization Fails 6-14<br />

Table 6-7 Unable to Access Specific Host or Network Service 6-14<br />

Table 6-8 Multilink Fails 6-14<br />

Table 6-9 Multiple Users Cannot Start PPP (RADIUS and TACACS+) 6-16<br />

Table 6-10 Network Authorization Fails (RADIUS and TACACS+) 6-17<br />

Table 6-11 User or Group Members Unable to Access Specific Host or Network Service (RADIUS and TACACS+) 6-17<br />

Table 6-12 Multilink Fails (TACACS+) 6-18<br />

Table 6-13 Multilink Fails (RADIUS) 6-18<br />

Table 6-14 Session Fails to Disconnect After Expected Idle Timeout (TACACS+) 6-18<br />

Table 6-15 Session Fails to Disconnect After Expected Idle Timeout (RADIUS) 6-18<br />

Table 6-16 No EXEC Shell for TACACS+ 6-19<br />

Table 6-17 No EXEC Shell for RADIUS 6-19<br />

Table 6-18 Cannot Start Concurrent Sessions (TACACS+) 6-19<br />

Table 6-19 Cannot Start Concurrent Sessions (RADIUS) 6-19<br />

Table 6-20 Single User Failure; Individual Dial-in User Connection Fails 6-20<br />

Table 6-21 Multiple User Failure; All Dial-in Users Unable to Connect to Router 6-20<br />

Table 6-22 Users Can Access Router by Using Console or VTY, but Not Both 6-21<br />

OL-0397-01<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

ix


Tables<br />

Table 6-23 Single User Failure; Individual User Unable to Make a Connection 6-22<br />

Table 6-24 Multiple User Failure; All Dial-In Users Unable to Connect to the Router 6-23<br />

Table 6-25 Users Pass Authentication on Console or VTY, but Not Both 6-24<br />

Table 6-26 User Fails Router Command 6-25<br />

Table 6-27 User Disconnected After Entering a Password 6-25<br />

Table 6-28 Users Access Incorrect Privilege Level Commands 6-26<br />

Table 6-29 Router User Receives Error Message Stating “This Line Not Allowed to Run PPP and is Disconnected” 6-26<br />

Table 6-30 User Fails Router Command 6-27<br />

Table 6-31 User Disconnected After Entering Password 6-27<br />

Table 6-32 Users Access Incorrect Privilege Level Commands 6-28<br />

Table 6-33 Router User Receives Error Message Stating “This Line Not Allowed to Run PPP and is Disconnected” 6-28<br />

Table 6-34 Router User Unable to Initiate Shell Session with Router 6-28<br />

Table 6-35 AVPs Not Working on Console Port 6-28<br />

Table A-1 <strong>Cisco</strong> IOS Commands Required to Set <strong>AAA</strong> for a Router A-13<br />

Table A-2 <strong>Cisco</strong> IOS Commands Used to Set <strong>AAA</strong> with PPP for NAS (RADIUS and TACACS+) A-14<br />

x<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

OL-0397-01


Preface<br />

This case study describes various <strong>Cisco</strong>-based security and accounting capabilities for monitoring and<br />

managing access within a large-scale dial environment.<br />

Purpose<br />

This Internetworking Solutions Guide (ISG) case study provides examples intended to be models for<br />

building an effective, <strong>Cisco</strong> <strong>AAA</strong>-based security environment for dial-based and router environments.<br />

In following the procedures and recommendations provided in this document, readers should be able to:<br />

• Understand the working relationship among various <strong>Cisco</strong> <strong>AAA</strong> components, including NASs,<br />

<strong>AAA</strong> servers, and the <strong>AAA</strong> database.<br />

• Configure and verify operation for these <strong>AAA</strong> components.<br />

• Troubleshoot typical problems found in <strong>AAA</strong> environments.<br />

Audience<br />

The audience for this document consists of network engineers supporting large-scale dial networks. The<br />

audience is expected to have a basic understanding of <strong>Cisco</strong> IOS software, and a working knowledge of<br />

both the UNIX operating system and <strong>Cisco</strong>Secure for UNIX user interface.<br />

Scope<br />

This case study provides:<br />

• Complete network device configurations and specific fragments to support implementation task<br />

descriptions.<br />

• Example diagnostic output showing verification of correct configuration.<br />

• Troubleshooting output supporting problem scenarios show problem configurations and other <strong>AAA</strong><br />

environment failures.<br />

• A foundation from which effective <strong>AAA</strong>-based security solutions can be tailored to specific<br />

network requirements.<br />

The information provided here does not include advanced tuning tips—nor does it provide a primer for<br />

the uninitiated novice. In addition, site planning and preparation are beyond the scope of this case study.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

xi


Related Documentation and Sites<br />

Preface<br />

Related Documentation and Sites<br />

The following URLs provide the essentials for preparing to install <strong>Cisco</strong> Secure for UNIX and NT:<br />

• <strong>Cisco</strong>Secure ACS for UNIX<br />

http://www.cisco.com/univercd/cc/td/doc/product/access/acs_soft/cs_unx<br />

• <strong>Cisco</strong>Secure ACS for NT<br />

http://www.cisco.com/univercd/cc/td/doc/product/access/acs_soft/csacs4nt/csnt23<br />

• Oracle database implementation<br />

http://www.cisco.com/univercd/cc/td/doc/product/access/acs_soft/cs_unx/csinstl.htm<br />

Software Used in This <strong>Case</strong> <strong>Study</strong><br />

The features and capabilities described in this case require these software versions:<br />

• <strong>Cisco</strong> IOS 12.0(7)T<br />

• OS Solaris 2.5(1)<br />

• <strong>Cisco</strong>Secure for UNIX 2.3(3)<br />

• Oracle DB Server 7.3(4)<br />

• Oracle DB Client 7.3(4)<br />

• SQL*Plus: Release 3.3.4.0.1<br />

To identify other software versions that might apply, please contact your <strong>Cisco</strong> customer service<br />

representative.<br />

Hardware Used in This <strong>Case</strong> <strong>Study</strong><br />

This case is built on a production environment consisting of a single authentication, authorization, and<br />

accounting (<strong>AAA</strong>) server, an Oracle-based <strong>AAA</strong> database, a <strong>Cisco</strong> network access server (NAS), and a<br />

router. The diagnostic captures and system configurations provided in this case study were derived from<br />

the following systems:<br />

• <strong>Cisco</strong> AS5300 or <strong>Cisco</strong> AS5800 network access server (NAS)<br />

• <strong>Cisco</strong> 7206 VXR router<br />

• Sun Microsystems server (UltraSPARC Enterprise 2 Model)<br />

– Two 200 MHz processors<br />

– One GB RAM<br />

– One internal 4.2 GB disk drive<br />

– CD-ROM drive<br />

The system used as a platform for <strong>Cisco</strong>Secure ACS for UNIX 2.3 must meet with the minimum system<br />

specifications described in the following URL:<br />

http://www.cisco.com/univercd/cc/td/doc/product/access/acs_soft/cs_unx/instl23.htm<br />

xii<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Preface<br />

Document Conventions<br />

Document Conventions<br />

Convention<br />

italic<br />

Description<br />

File names, paths to files, user names, and groups names used in<br />

descriptions. Example: /var/log/csuslog<br />

< > Angle brackets show nonprinting characters, such as passwords.<br />

! An exclamation point at the beginning of a line indicates a comment<br />

line. (Exclamation points are also displayed by the <strong>Cisco</strong> IOS software<br />

for certain processes.)<br />

[ ] Square brackets show default responses to system prompts.<br />

Command Syntax Conventions<br />

Convention<br />

bold<br />

Description<br />

Command or keyword that you must enter. This format is used for<br />

commands, paths to files, and file names when used within an example<br />

illustrating required input.<br />

italic<br />

Argument for which you supply a value.<br />

[x]<br />

Optional keyword or argument that you enter.<br />

{x | y | z} Required keyword or argument that you must enter.<br />

[x {y | z}] Optional keyword or argument that you enter with a required keyword or<br />

argument.<br />

string<br />

Set of characters that you enter. Do not use quotation marks around the<br />

character string, or the string will include the quotation marks.<br />

screen<br />

Information that appears on the screen.<br />

Important line of text in an example.<br />

^ or Ctrl<br />

Control key—for example, ^D means press the Control and the D keys<br />

simultaneously.<br />

< > Nonprinting characters, such as passwords.<br />

! Comment line at the beginning of a line of code.<br />

<strong>Cisco</strong> Connection Online<br />

<strong>Cisco</strong> Connection Online (CCO) is the primary, real-time support channel for <strong>Cisco</strong> Systems.<br />

Maintenance customers and partners can self-register on CCO to obtain additional information and<br />

services.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

xiii


Documentation CD-ROM<br />

Preface<br />

Available 24 hours a day, 7 days a week, CCO provides a wealth of standard and value-added services<br />

to customers and business partners of <strong>Cisco</strong> Systems. CCO services include product information,<br />

product documentation, software updates, release notes, technical tips, the Bug Navigator,<br />

configuration notes, brochures, descriptions of service offerings, and download access to public and<br />

authorized files.<br />

CCO serves a wide variety of users through two interfaces that are updated and enhanced<br />

simultaneously: a character-based version and a multimedia version that resides on the World Wide<br />

Web (WWW). The character-based CCO supports Zmodem, Kermit, Xmodem, FTP, and Internet<br />

e-mail, and it is excellent for quick access to information over lower bandwidths. The WWW version<br />

of CCO provides richly formatted documents with photographs, figures, graphics, and video, as well as<br />

hyperlinks to related information.<br />

You can access CCO in the following ways:<br />

• http://www.cisco.com<br />

• http://www-europe.cisco.com<br />

• http://www-china.cisco.com<br />

• Telnet: cco.cisco.com<br />

• Modem: From North America, 408 526-8070; from Europe, 33 1 64 46 40 82. Use the following<br />

terminal settings: VT100 emulation; databits: 8; parity: none; stop bits: 1; and connection rates up<br />

to 28. 8kbps.<br />

For a copy of the CCO Frequently Asked Questions (FAQ), contact cco-help@cisco.com. For additional<br />

information, contact cco-team@cisco.com.<br />

Note<br />

If you are a network administrator and need personal technical assistance with a <strong>Cisco</strong><br />

product that is under warranty or covered by a maintenance contract, contact the <strong>Cisco</strong><br />

Technical Assistance Center (TAC) at 800 553-2447, 408 526-7209, or tac@cisco.com. To<br />

obtain general information about <strong>Cisco</strong> Systems, <strong>Cisco</strong> products, or upgrades, contact<br />

800 553-6387, 408 526-7208, or cs-rep@cisco.com.<br />

Documentation CD-ROM<br />

<strong>Cisco</strong> documentation and additional literature are available in a CD-ROM package, which ships with<br />

your product. The Documentation CD-ROM, a member of the <strong>Cisco</strong> Connection Family, is updated<br />

monthly; therefore, it might be more current than printed documentation.To order additional copies of<br />

the Documentation CD-ROM, contact your local sales representative or call customer service. The<br />

CD-ROM package is available as a single package or as an annual subscription. You can also access<br />

<strong>Cisco</strong> documentation on theWorld Wide Web at http://www.cisco.com, http://www-china.cisco.com,<br />

or http://www-europe.cisco.com.<br />

Providing Documentation Feedback<br />

If you are reading <strong>Cisco</strong> product documentation on theWorld Wide Web, you can submit comments<br />

electronically. Click Feedback in the toolbar and select Documentation. After you complete the form,<br />

click Submit to send it to <strong>Cisco</strong>.<br />

You can also submit feedback on <strong>Cisco</strong> documentation as follows:<br />

xiv<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Preface<br />

Acknowledgements<br />

• Mail in the <strong>Cisco</strong> Reader Comment Card located at the front of this book<br />

• Send an e-mail to bug-doc@cisco.com<br />

• Send a fax to 40 8527-8089<br />

We appreciate your comments.<br />

Acknowledgements<br />

This ISG case study was created as a collaborative effort. The following team members participated in<br />

the creation of this document: Joellen Amato, Dave Anderson, Robert “Bob” Brown, Alan Dowling,<br />

Dianne Dunlap, Paul Hafeman, Anthony Hall, Kim Lew, Robert Lewis, Dave Leyland, Brian Murphy,<br />

Dang Nguyen, Nilesh Panicker, Anjali Puri, Robert Sargent, David Sims, Tim Stevenson, Kris<br />

Thompson, Craig Tobias, and Syed Atif Ullah.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

xv


Acknowledgements<br />

Preface<br />

xvi<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


CHAPTER<br />

1<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Case</strong> <strong>Study</strong> Overview<br />

This chapter summarizes the technology behind <strong>AAA</strong> security solutions, outlines typical network<br />

definitions and network assumptions adopted for this case study, and lists tasks associated with<br />

implementing, verifying, and troubleshooting the <strong>AAA</strong> environment presented. Specific sections<br />

provided here are:<br />

• 1.1 <strong>AAA</strong> Technology Summary<br />

• 1.2 TACACS+ Overview<br />

• 1.3 RADIUS Overview<br />

• 1.4 Comparison of TACACS+ and RADIUS<br />

• 1.5 Differences in Implementing Local and Server <strong>AAA</strong><br />

• 1.6 Scenario Description<br />

• 1.7 Planning Your Network<br />

• 1.8 Network Service Definitions<br />

• 1.9 Security <strong>Implementation</strong> Policy Considerations<br />

• 1.10 Network Equipment Selection<br />

• 1.11 Task Check List<br />

1.1 <strong>AAA</strong> Technology Summary<br />

Dial access presents a challenge to network managers entrusted with network security. This case study<br />

illustrates essential steps in planning and implementing authentication, authorization, and accounting<br />

(<strong>AAA</strong>) technologies based on <strong>Cisco</strong> product capabilities.<br />

For the purposes of this case study, the following generic definitions apply:<br />

• Authentication: The process of validating the claimed identity of an end user or a device, such as a<br />

host, server, switch, router, and so on.<br />

• Authorization: The act of granting access rights to a user, groups of users, system, or a process.<br />

• Accounting: The methods to establish who, or what, performed a certain action, such as tracking<br />

user connection and logging system users.<br />

Figure 1-1 illustrates a generalized view of a <strong>Cisco</strong>-based <strong>AAA</strong> environment, featuring a network<br />

access server (NAS) and <strong>AAA</strong> server. This basic arrangement forms the foundation for this case study.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

1-1


1.2 TACACS+ Overview<br />

Chapter 1<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Case</strong> <strong>Study</strong> Overview<br />

Figure 1-1<br />

<strong>AAA</strong>-Based, Secure Network Access Scenario<br />

Network element<br />

management server<br />

(NTP, Syslog, SNMP)<br />

Oracle dB server<br />

Analog lines<br />

PSTN<br />

PRI lines<br />

<strong>AAA</strong><br />

server<br />

Clients<br />

Modems<br />

<strong>Cisco</strong> AS5x00<br />

with integrated<br />

modems<br />

IP intranet<br />

DNS<br />

server<br />

Default<br />

gateway<br />

Internet<br />

firewall<br />

Internet<br />

35089<br />

In the context of the <strong>Cisco</strong>-based <strong>AAA</strong> environment addressed here, the key operational elements are<br />

network access servers (NASs), routers, and <strong>Cisco</strong>Secure Access Control Server for UNIX servers<br />

(referred to in this document as <strong>AAA</strong> servers). Depending on the conventions and requirements of your<br />

particular design, you can select a security environment which utilizes Terminal Access Controller<br />

Access Control System Plus (TACACS+) or Remote Authentication Dial-in User Service (RADIUS).<br />

This case study addresses implementation of both environments.<br />

1.1.1 <strong>AAA</strong> RFC References<br />

Requests for Comments (RFCs) play a crucial role in defining the behavior of devices in complex<br />

networking environments. The following RFCs are useful references for TACACS+ and RADIUS:<br />

• TACACS+: http://www.cisco.com/warp/public/459/tac-rfc.1.76.txt<br />

• TACACS: http://www.ietf.org/rfc/rfc1492.txt<br />

• MD5: http://www.ietf.org/rfc/rfc1321.txt<br />

• RADIUS: http://www.ietf.org/rfc/rfc2138.txt<br />

1.2 TACACS+ Overview<br />

Key TACACS+ features:<br />

• TACACS+ separates <strong>AAA</strong> into three distinct functions (Authentication, Authorization and<br />

Accounting).<br />

• TACACS+ supports router command authorization integration with advanced authentication<br />

mechanisms, such as Data Encryption Standard (DES) and One-Time Password (OTP) key.<br />

• TACACS+ supports 16 different privilege levels (0-15).<br />

1-2<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 1<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Case</strong> <strong>Study</strong> Overview<br />

1.3 RADIUS Overview<br />

• TACACS+ permits the control of services, such as Point-to-Point Protocol (PPP), shell, standard<br />

log in, enable, AppleTalk Remote Access (ARA) protocol, Novell Asynchronous Services Interface<br />

(NASI), remote command (RCMD), and firewall proxy.<br />

• TACACS+ permits the blocking of services to a specific port, such as a TTY or VTY interface on<br />

arouter.<br />

The most common services supported by TACACS+ are PPP for IP and router EXEC shell access using<br />

console or VTY ports. EXEC shell allows users to connect to router shells and select services, such as<br />

PPP, Telnet, TN3270, or manage the router itself.<br />

Many TACACS+ servers are available on the market today; however, the <strong>AAA</strong> server is designed<br />

specifically to be scalable and compatible with <strong>Cisco</strong>'s broad line of routers, access servers, and<br />

switches. Hence, this case utilizes the <strong>Cisco</strong> <strong>AAA</strong> server as the TACACS+ server of choice.<br />

When configured correctly, the <strong>AAA</strong> server validates <strong>AAA</strong> and responds to requests from routers and<br />

access servers with a pass or fail signal. The <strong>AAA</strong> server contains an internal database sized to 5000<br />

users; therefore, an external Oracle database is used in our case study for user account attributes and<br />

billing information.<br />

The <strong>AAA</strong> server acts as a proxy server by using TACACS+ to authenticate, authorize, and account for<br />

access to <strong>Cisco</strong> routers and network access servers.<br />

1.3 RADIUS Overview<br />

The RADIUS protocol was developed by Livingston Enterprises, Inc., as an access server authentication<br />

and accounting protocol. The RADIUS specification (RFC 2138) is a proposed standard protocol and<br />

RADIUS accounting standard (RFC 2139) is informational.<br />

Although TACACS+ is considered to be more versatile, RADIUS is the <strong>AAA</strong> protocol of choice for<br />

enterprise ISPs because it uses fewer CPU cycles and is less memory intensive.<br />

Communication between a network access server (NAS) and a RADIUS server is based on the User<br />

Datagram Protocol (UDP). Generally, the RADIUS protocol is considered a connectionless service.<br />

Issues related to server availability, retransmission, and timeouts are handled by the RADIUS-enabled<br />

devices rather than the transmission protocol.<br />

RADIUS is a client/server protocol. The RADIUS client is typically a NAS and the RADIUS server is<br />

usually a daemon process running on a UNIX or Windows NT machine. The client passes user<br />

information to designated RADIUS servers and acts on the response that is returned. RADIUS servers<br />

receive user connection requests, authenticate the user, and then return the configuration information<br />

necessary for the client to deliver services to the user. A RADIUS server can act as a proxy client to<br />

other RADIUS servers or other kinds of authentication servers.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

1-3


1.4 Comparison of TACACS+ and RADIUS<br />

Chapter 1<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Case</strong> <strong>Study</strong> Overview<br />

1.4 Comparison of TACACS+ and RADIUS<br />

Table 1-1 summarizes the differences between RADIUS and TACACS+.<br />

Table 1-1<br />

Comparison of RADIUS andTACACS+<br />

RADIUS<br />

RADIUS uses UDP.<br />

RADIUS encrypts only the password in the<br />

access-request packet; less secure.<br />

RADIUS combines authentication and<br />

authorization.<br />

Industry standard (created by Livingston).<br />

RADIUS does not support ARA access, Net BIOS<br />

Frame Protocol Control protocol, NASI, and X.25<br />

PAD connections.<br />

RADIUS does not allow users to control which<br />

commands can be executed on a router.<br />

TACACS+<br />

TACACS+ uses TCP.<br />

TACACS+ encrypts the entire body of the packet;<br />

more secure.<br />

TACACS+ uses the <strong>AAA</strong> architecture, which<br />

separates authentication, authorization, and<br />

accounting.<br />

<strong>Cisco</strong> Proprietary.<br />

TACACS+ offers multiprotocol support.<br />

TACACS+ provides two ways to control the<br />

authorization of router commands: on a per-user<br />

or per-group basis.<br />

1.4.1 UDP and TCP<br />

RADIUS uses UDP while TACACS+ uses TCP. TCP offers several advantages over UDP. TCP offers a<br />

connection-oriented transport, while UDP offers best effort delivery. RADIUS requires additional<br />

programmable variables, such as retransmit attempts and time-outs to compensate for best-effort<br />

transport, and it lacks the level of built-in support that reliable transport offers:<br />

• Using TCP provides a separate acknowledgment that a request has been received, within<br />

(approximately) a network RTT, regardless of bandwidth. (TCP ACK).<br />

• TCP provides immediate indication of a crashed (or not running) server (RST packets).You can<br />

determine when a server has crashed and come back up if you use long-lived TCP connections.<br />

UDP cannot tell the difference between a server that is out-of-service,slow, or non-existent server.<br />

• By using TCP keepalives, you can detect server crashes out-of-band with actual requests.<br />

Connections to multiple servers can be maintained simultaneously, and you only need to send<br />

messages to the servers that are known to be up and running.<br />

• TCP is more scalable than UDP.<br />

1.4.2 Packet Encryption<br />

RADIUS encrypts only the password in the access-request packet from the client to the server. The<br />

remainder of the packet is in the clear. Other information, such as username, authorized services, and<br />

accounting, can be captured by a third party.<br />

RADIUS can use encrypted passwords by using the UNIX /etc/password file; however, this process is<br />

slow because in involves a linear search of the file.<br />

1-4<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 1<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Case</strong> <strong>Study</strong> Overview<br />

1.4 Comparison of TACACS+ and RADIUS<br />

TACACS+ encrypts the entire body of the packet but leaves a standardTACACS+ header. Within the<br />

header is a field that indicates whether the body is encrypted or not. For debugging purposes, it is useful<br />

to have the body of the packets in the clear. However, normal operation fully encrypts the body of the<br />

packet for more secure communications.<br />

1.4.3 Authentication and Authorization<br />

RADIUS combines authentication and authorization. The access-accept packets sent by the RADIUS<br />

server to the client contain authorization information, making it difficult to decouple authentication and<br />

authorization.<br />

TACACS+ uses the <strong>AAA</strong> architecture, which separates authentication, authorization, and accounting.<br />

This architecture allows separate authentication solutions that can still use TACACS+ for authorization<br />

and accounting. For example, with TACACS+, it is possible to use Kerberos authentication and<br />

TACACS+ authorization and accounting. After a NAS passes authentication on a Kerberos server, it<br />

requests authorization information from a TACACS+ server without having to re-authenticate the NAS<br />

by using the TACACS+ authentication mechanism. The NAS informs the TACACS+ server that it has<br />

successfully passed authentication on a Kerberos server, and the server then provides authorization<br />

information.<br />

During a session, if additional authorization checking is needed, the access server checks with a<br />

TACACS+ server to determine if the user is granted permission to use a particular command. This<br />

provides greater control, compared to RADIUS, over the commands that can be executed on the access<br />

server while decoupling the authorization process from the authentication mechanism.<br />

1.4.4 Multiprotocol Support<br />

RADIUS does not support the following protocols (which are supported byTACACS+):<br />

• AppleTalk Remote Access (ARA) protocol<br />

• Net BIOS Frame Protocol Control protocol<br />

• Novell Asynchronous Services Interface (NASI)<br />

• X.25 PAD connection<br />

1.4.5 Router Management<br />

RADIUS does not allow users to control which commands can be executed on a router and which<br />

cannot; therefore, when compared with TACACS+, RADIUS is not as useful for router management and<br />

is not as flexible for terminal services.<br />

TACACS+ provides two ways to control the authorization of router commands on a per-user or<br />

per-group basis. The first way is to assign privilege levels to commands and have the router verify with<br />

the TACACS+ server whether or not the user is authorized at the specified privilege level. The second<br />

way is to explicitly specify in the TACACS+ server, on a per-user or per-group basis, the commands<br />

that are allowed.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

1-5


1.5 Differences in Implementing Local and Server <strong>AAA</strong><br />

Chapter 1<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Case</strong> <strong>Study</strong> Overview<br />

1.4.6 Interoperability<br />

The RADIUS standard does not guarantee interoperability. Although several vendors implement<br />

RADIUS clients, this does not ensure they are interoperable. There are approximately 45 standard<br />

RADIUS ATTRIBUTES. Using standard ATTRIBUTES improves the likelihood of interoperability.<br />

Using proprietary extensions reduces interoperability.<br />

1.4.7 Attribute-Value Pairs (AVPs)<br />

Throughout this case study, implementation tasks and diagnostic procedures refer to attribute-value<br />

pairs (AVPs). Each AVP consists of a type identifier associated with one or more assignable values.<br />

AVPs specified in user and group profiles define the authentication and authorization characteristics for<br />

their respective users and groups.TACACS+ and RADIUS implement an array ofAVPs, each with<br />

separate type definitions and characteristics. Table 1-2 and Table 1-3 illustrate several typical AVPs.<br />

Table 1-2<br />

Examples of RADIUS AVPs<br />

Attribute<br />

User-Name<br />

Password<br />

CHAP-Password<br />

Client-Id<br />

Login-Host<br />

Login-Service<br />

Login-TCP-Port<br />

Type of Value<br />

String<br />

String<br />

String<br />

IP address<br />

IP address<br />

Integer<br />

Integer<br />

Table 1-3<br />

Examples of TACACS+ AVPs<br />

Attribute<br />

Inacl<br />

Addr-pool<br />

Addr<br />

Idletime<br />

protocol<br />

timeout<br />

Outacl<br />

Type of Value<br />

Integer<br />

String<br />

IP address<br />

Integer<br />

Keyword<br />

Integer<br />

Integer<br />

1.5 Differences in Implementing Local and Server <strong>AAA</strong><br />

<strong>AAA</strong> requirements differ between local-based and server-based environments. Throughout this case<br />

study, procedures and examples refer to scenarios based on this important distinction.<br />

In local-based <strong>AAA</strong> access, users are permitted or denied access based on local <strong>AAA</strong> IOS account<br />

configuration. For the purposes of this case study, local-based <strong>AAA</strong> access features these attributes:<br />

1-6<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 1<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Case</strong> <strong>Study</strong> Overview<br />

1.5 Differences in Implementing Local and Server <strong>AAA</strong><br />

• User accounts are stored in router or NAS configurations.<br />

• AVPs only are supported from EXEC shell terminal access.<br />

• Limited set of AVPs are supported.<br />

• <strong>AAA</strong> negotiation is performed internally by the <strong>Cisco</strong> IOS and is not protocol specific.<br />

Figure 1-2 illustrates three local-based connectivity situations to consider:<br />

• Local-based console access<br />

• Local-based virtual terminal type (VTY) connections<br />

• Local-based dial access<br />

Figure 1-2<br />

Local-Based Access Options<br />

Local-based<br />

console access<br />

IP<br />

Local-based<br />

VTY access (Telnet)<br />

IP<br />

Modem<br />

PSTN<br />

Local-based<br />

dial access<br />

IP<br />

31348<br />

In server-based <strong>AAA</strong> access, users and groups are permitted or denied access based on <strong>AAA</strong><br />

negotiations between s router or NAS and the <strong>AAA</strong> server. See the following attributes of server-based<br />

<strong>AAA</strong> access features:<br />

• User or group profiles and accounting records stored in an internal or external database<br />

• AVPs supported on both standard and EXEC shell-initiated PPP sessions<br />

• Wide array ofAVPs supported, including vendor-specific (non-<strong>Cisco</strong>) AVPs<br />

Figure 1-3 illustrates the three server-based connectivity situations:<br />

• Server-based console access<br />

• Server-based VTY connections<br />

• Server-based dial access<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

1-7


1.6 Scenario Description<br />

Chapter 1<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Case</strong> <strong>Study</strong> Overview<br />

Figure 1-3<br />

Server-Based Access Options<br />

Server-based<br />

console access<br />

IP<br />

<strong>AAA</strong> server<br />

Server-based<br />

VTY access (Telnet)<br />

IP<br />

<strong>AAA</strong> server<br />

Server-based<br />

dial access<br />

Modem<br />

PSTN<br />

IP<br />

<strong>AAA</strong> server<br />

31347<br />

Each connectivity scenario illustrated in Figure 1-2 and Figure 1-3 involves situation-specific<br />

requirements. As a result, each scenario also contains situation-specific implementation and<br />

troubleshooting considerations. The diagnostic chapters that follow present a series of implementation<br />

steps (configuring, verifying, and testing) symptoms, problems, and suggested diagnostic processes that<br />

reflect both these differences and similarities.<br />

1.6 Scenario Description<br />

The baseline network environment for a hypothetical access network scenario is used as a foundation<br />

for assessing the application of various security and management features available from <strong>Cisco</strong>.<br />

Figure 1-1 (presented in “1.1 <strong>AAA</strong> Technology Summary”) illustrates the underlying network<br />

environment and relationship between <strong>AAA</strong> components. The high-level <strong>AAA</strong> objectives:<br />

• Enable secure dialup service to access an intranet and the Internet by using the public switched<br />

telephone network (PSTN).<br />

• Build a manageable, redundant, and secure access strategy that supports large dialup access<br />

implementations.<br />

• Provide versatile means of controlling administrative access to routers.<br />

1-8<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 1<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Case</strong> <strong>Study</strong> Overview<br />

1.7 Planning Your Network<br />

• Account for configuration changes in routers.<br />

1.7 Planning Your Network<br />

A network design engineer meets with each company to complete the following tasks:<br />

• Complete a needs assessment dial questionnaire.<br />

• Create a user-network service definition.<br />

• Recommend a network implementation and operation strategy.<br />

The following tables present two checklists that were completed for this case study.Tabl e1-4 focuses<br />

on general networking issues. Table 1-5 focuses on <strong>AAA</strong> implementation issues. Both checklists apply<br />

to a hypothetical network referred to in this case as Access Network.<br />

Table 1-4<br />

General Service Definition Checklist<br />

General Access Network Checklist Questions<br />

What media do you want to use to provide dialup<br />

service?<br />

How many dial-in users does the new equipment<br />

need to support over the next 3 months, 1 year,<br />

and 5 years?<br />

What kind of remote nodes do you want to<br />

support?<br />

When users connect to modems, what will they be<br />

allowedtodo?<br />

Will you allow users to change their own<br />

passwords? If yes, how?<br />

What kind of dialup operating systems do you<br />

want to support?<br />

Do you want to support remote routers?<br />

Do you want to use an external authentication<br />

database such as Windows NT or Novel NDS?<br />

Do you want to support per user protocol and<br />

attribute definitions?<br />

Do you want to support dial out?<br />

Do you want to support PPP timeouts?<br />

Doyouwanttoworkwithanexistingaccounting<br />

system?<br />

Do you have an existing network element server?<br />

Access Network Policy<br />

Plain old telephone service (POTS) analog<br />

modems<br />

ISDN<br />

3 months: 2000 users<br />

1 Year: 5,000 users<br />

5 Years: 10,000 users<br />

Modems, terminal adapters, ISDN modems<br />

Support EXEC shell sessions (async terminal<br />

service)<br />

Support PPP sessions<br />

Yes<br />

EXEC shell (character-mode session)<br />

Windows, UNIX, Macintosh<br />

Asynch DDR or multiple B-channel access<br />

Yes, Oracle<br />

Yes<br />

No<br />

No<br />

Yes<br />

Yes<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

1-9


1.8 Network Service Definitions<br />

Chapter 1<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Case</strong> <strong>Study</strong> Overview<br />

Table 1-5<br />

<strong>AAA</strong> Service Definition Checklist<br />

Access Network <strong>AAA</strong> Checklist Questions<br />

What <strong>AAA</strong> protocols do you plan to deploy?<br />

Where do you want the users’ passwords to be<br />

stored?<br />

Do you plan to support one-time passwords? If so,<br />

what tool do you plan to use to support this<br />

requirement?<br />

Do you intend to implement database replication?<br />

Do you require support for token caching?<br />

What type of accounts currently exist?<br />

Do you plan to implement an <strong>AAA</strong> server? If so,<br />

on which product?<br />

What database do you plan to use?<br />

Access Network Policy<br />

RADIUS and TACACS+<br />

External Oracle database<br />

No<br />

No<br />

No<br />

UNIX, NT<br />

Yes, <strong>Cisco</strong>Secure for UNIX<br />

External, Oracle<br />

1.8 Network Service Definitions<br />

Based on the checklist information providedin Ta ble1-4 and Ta ble1-5, the following service<br />

definitions (stated as policies) can be asserted for this environment.<br />

Dialup and router shell access <strong>AAA</strong> requirements are characterized in the following sections:<br />

• 1.8.1 Authentication Policy<br />

• 1.8.2 Authorization Policy<br />

• 1.8.3 Accounting Policy<br />

1.8.1 Authentication Policy<br />

Separate the authentication policy into two distinct sections: router administration and dialup PPP.<br />

Policies relating to router administration involve creating support for the following two authentication<br />

elements:<br />

• DES passwords stored in external database<br />

• Local user if connection to <strong>AAA</strong> server is down<br />

Policies relating to dialup PPP involve creating support for the following two authentication elements:<br />

• Password Authentication Protocol (PAP) for dialup PPP authentication<br />

• Challenge Handshake Authentication Protocol (CHAP) for remote ISDN devices<br />

1-10<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 1<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Case</strong> <strong>Study</strong> Overview<br />

1.8 Network Service Definitions<br />

1.8.2 Authorization Policy<br />

Separate the authorization policy into two distinct sections: router administration and dialup PPP.<br />

Policies relating to router administration involve creating support for the following authorization<br />

elements:<br />

• Privilege level 15 command authorization<br />

• Three levels of router administration command control (low, medium, and high)<br />

• Privilege level 15 assigned to local users, which is valid only if an <strong>AAA</strong> server is down<br />

Policies relating to dialup PPP involve creating support for the following authorization elements:<br />

• Apply autocommand ppp negotiate to all groups other than router administrators<br />

• Access control list filtering as required<br />

• AVP support for all dial access devices<br />

1.8.3 Accounting Policy<br />

Accounting records are exported from an Oracle database using SQL queries. Separate the accounting<br />

policy into two distinct sections: router administration and dialup PPP.<br />

Policies relating to router administration involve creating support for the following accounting<br />

elements:<br />

• Failed log in attempts<br />

• Privilege level 15 commands<br />

• Failed command authorization<br />

• Start, stop, and elapsed times of sessions<br />

• Source IP address of routers<br />

Policies relating to dialup PPP involve creating support for the following accounting elements:<br />

• Failed log in attempts<br />

• Start, stop, and elapsed time of sessions<br />

• Disconnect cause codes<br />

• Caller ID if applicable<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

1-11


1.9 Security <strong>Implementation</strong> Policy Considerations<br />

Chapter 1<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Case</strong> <strong>Study</strong> Overview<br />

1.9 Security <strong>Implementation</strong> Policy Considerations<br />

Table 1-6 present checklists summarizing the key security policy elements of this case.<br />

Table 1-6<br />

<strong>AAA</strong> Security Checklist<br />

Access Network <strong>AAA</strong> Checklist Questions<br />

What is the current security policy for passwords?<br />

What services will be denied?<br />

What type of mechanism will exist if <strong>AAA</strong> server<br />

is down?<br />

Are local accounts allowed in routers and NASs?<br />

What accounting information is required?<br />

What type of accounting mechanism will be used?<br />

Who is responsible for reviewing daily logs?<br />

Will users be allowed concurrent sessions?<br />

What type of administrative access will be<br />

assigned to router administrators?<br />

Support for Multilink?<br />

Access Network Policy<br />

PAP for dial-in PPP users<br />

CHAP passwords for dialup routers<br />

DES passwords for router administrators<br />

Concurrent sessions for dial-in users<br />

EXEC shell access for dial-in PPP users<br />

Access to specific hosts within the corporate<br />

intranetwork<br />

Access to specific network services, such as<br />

Telnet, FTP, and rlogin<br />

Local privilege level 15 account<br />

Authentication and authorization disabled on<br />

console port<br />

Yes<br />

Username<br />

Privilege level of clients<br />

Session start and stop times<br />

Elapsed time<br />

Privilege level 15 command usage<br />

Configuration changes<br />

Failed log in attempts<br />

Failed command authorizations<br />

Customer written SQL query to Oracle database<br />

Network managers<br />

Dialup PPP = No<br />

Dialup router = Yes<br />

Router administrator = Yes<br />

Full control assigned to senior router<br />

administrators<br />

Basic control assigned to junior router<br />

administrators<br />

Customized command control for mid-level<br />

router administrators<br />

Yes<br />

1-12<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 1<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Case</strong> <strong>Study</strong> Overview<br />

1.10 Network Equipment Selection<br />

In addition to these considerations, security-related attributes addressed in this case include:<br />

• Per-User Static IP Address Policy—Static IP addresses are assigned to required personnel to access<br />

specific areas within the internetwork.<br />

• Password Authentication and Command Authorization Policy—DES password support is<br />

segregated into two elements: privilege level and command authorization. Within that context, three<br />

levels of privilege are supported in this case: low, medium, and high, with high having full control<br />

assigned. Command authorization at privilege level 15 is enforced. A local user with privilege level<br />

15 is used in the event that the connection to the <strong>AAA</strong> server is down.<br />

1.10 Network Equipment Selection<br />

Figure 1-1 (presented in “1.1 <strong>AAA</strong> Technology Summary”) shows the specific devices used in the<br />

dialup access environment. Based on the requirements detailed in Table 1-4, Table 1-5, and Table 1-6,<br />

the following network entities were selected for this case study:<br />

• Remote clients using modems to access the IP intranet and IP Internet through the public switched<br />

telephone network (PSTN).<br />

• An <strong>AAA</strong> server.<br />

• An password authentication server.<br />

• An external Oracle database server acts as the repository for all user profile information.<br />

• An element management server performs basic dial access system management by using the<br />

network time protocol (NTP), system logs (syslog), and simple network management protocol<br />

(SNMP).<br />

• A remote <strong>AAA</strong> server performs basic user authentication.<br />

• A default gateway forwards packets to the IP intranet and IP Internet.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

1-13


1.11 Task Check List<br />

Chapter 1<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Case</strong> <strong>Study</strong> Overview<br />

1.11 Task Check List<br />

Table 1-7 summarizes <strong>AAA</strong> management implementation and operation activities for the hypothetical<br />

network in this case study. This case focuses on illustrating implementation of specific <strong>AAA</strong>-related<br />

security and management options over an Access Path implementation. Refer to <strong>Cisco</strong> AS5x00 <strong>Case</strong><br />

<strong>Study</strong> for Basic IP Modem Service for specifics regarding commissioning <strong>Cisco</strong> access servers to<br />

support modem services at the following URL:<br />

http://www.cisco.com/univercd/cc/td/doc/cisintwk/intsolns/as5xipmo/index.htm<br />

Table 1-7<br />

<strong>AAA</strong> Task Checklist<br />

Task<br />

Chapter 2, “Implementing the Local <strong>AAA</strong><br />

Subsystem”<br />

Chapter 3, “Implementing <strong>Cisco</strong> <strong>AAA</strong><br />

Servers”<br />

Chapter 4, “Implementing the Server-Based<br />

<strong>AAA</strong> Subsystem”<br />

Topic<br />

2.1 Implementing Local Dialup<br />

Authentication<br />

2.2 Implementing Local Dialup<br />

Authorization<br />

2.3 Implementing Local Router<br />

Authentication<br />

2.4 Implementing Local Router<br />

Authorization<br />

2.5 Implementing Local Router Accounting<br />

3.1 Installing <strong>Cisco</strong>Secure for UNIX with<br />

Oracle<br />

4.1ImplementingServer-BasedTACACS+<br />

Dialup Authentication<br />

4.2ImplementingServer-BasedTACACS+<br />

Dialup Authorization<br />

4.3ImplementingServer-BasedRADIUS<br />

Dialup Authentication<br />

4.4ImplementingServer-BasedRADIUS<br />

Dialup Authorization<br />

4.5ImplementingServer-BasedTACACS+<br />

Router Authentication<br />

4.6ImplementingServer-BasedTACACS+<br />

Router Authorization<br />

1-14<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 1<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Case</strong> <strong>Study</strong> Overview<br />

1.11 Task Check List<br />

Table 1-7<br />

<strong>AAA</strong> Task Checklist<br />

Task<br />

Chapter 5, “Implementing Server-Based <strong>AAA</strong><br />

Accounting”<br />

Chapter 6, “Diagnosing and Troubleshooting<br />

<strong>AAA</strong> Operations”<br />

Topic<br />

5.1ImplementingServer-BasedTACACS+<br />

Dial Accounting<br />

5.2ImplementingServer-BasedTACACS+<br />

Router Accounting<br />

6.1 Overview of Authentication and<br />

Authorization Processes<br />

6.2 Troubleshooting <strong>AAA</strong> <strong>Implementation</strong><br />

• 6.2.1 Troubleshooting Methodology<br />

Overview<br />

• 6.2.2 <strong>Cisco</strong> IOS Debug Command<br />

Summary<br />

6.3 <strong>AAA</strong> Troubleshooting Basics<br />

6.4 Troubleshooting Scenarios<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

1-15


1.11 Task Check List<br />

Chapter 1<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Case</strong> <strong>Study</strong> Overview<br />

1-16<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


CHAPTER<br />

2<br />

Implementing the Local <strong>AAA</strong> Subsystem<br />

This chapter focuses on local <strong>AAA</strong> implementation and describes the following topics:<br />

• 2.1 Implementing Local Dialup Authentication<br />

• 2.2 Implementing Local Dialup Authorization<br />

• 2.3 Implementing Local Router Authentication<br />

• 2.4 Implementing Local Router Authorization<br />

Note<br />

See “1.1 <strong>AAA</strong> Technology Summary,” in Chapter 1 for brief definitions of authentication,<br />

authorization, and accounting as they relate to <strong>AAA</strong> security implementation.<br />

Server-based authentication, authorization, and accounting issues are described in the following<br />

chapters:<br />

• Chapter 3, “Implementing <strong>Cisco</strong> <strong>AAA</strong> Servers”<br />

• Chapter 4, “Implementing the Server-Based <strong>AAA</strong> Subsystem”<br />

• Chapter 5, “Implementing Server-Based <strong>AAA</strong> Accounting”<br />

• Chapter 6, “Diagnosing and Troubleshooting <strong>AAA</strong> Operations”<br />

Caution<br />

The example configuration fragments used throughout this chapter include IP addresses,<br />

passwords, authentication keys, and other variables that are specific to this case study. If<br />

you use these fragments as foundations for you own configurations, be sure that your<br />

specifications apply to your environment.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

2-1


2.1 Implementing Local Dialup Authentication<br />

Chapter 2<br />

Implementing the Local <strong>AAA</strong> Subsystem<br />

2.1 Implementing Local Dialup Authentication<br />

These steps help you to establish local-based dial authentication as illustrated in Figure 2-1:<br />

1. Configure basic dial access.<br />

2. Verify basic dial access.<br />

Figure 2-1<br />

Local-Based Dial Access Environment<br />

Modem<br />

PSTN<br />

Local-based<br />

dial access<br />

IP<br />

35054<br />

Step 1<br />

Configure basic dial access.<br />

Include the following <strong>Cisco</strong> IOS configuration commands in your configuration to construct dial access<br />

local authentication control:<br />

aaa new-model<br />

aaa authentication login default local<br />

aaa authentication ppp default if-needed local<br />

username diallocal password xxxxxx<br />

interface Group-Async1<br />

ip unnumbered Loopback0<br />

no ip directed-broadcast<br />

encapsulation ppp<br />

ip tcp header-compression passive<br />

no logging event link-status<br />

dialer in-band<br />

dialer idle-timeout 900<br />

async mode interactive<br />

no snmp trap link-status<br />

peer default ip address pool default<br />

no fair-queue<br />

no cdp enable<br />

ppp max-bad-auth 3<br />

ppp authentication pap chap<br />

group-range 1 48<br />

line 1 48<br />

exec-timeout 48 0<br />

autoselect during-login<br />

autoselect ppp<br />

absolute-timeout 240<br />

script dialer cisco_default<br />

modem InOut<br />

modem autoconfigure type mica<br />

transport preferred telnet<br />

transport input all<br />

transport output pad telnet rlogin udptn<br />

2-2<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 2<br />

Implementing the Local <strong>AAA</strong> Subsystem<br />

2.1 Implementing Local Dialup Authentication<br />

Note See “A.3 NAS <strong>AAA</strong> Command <strong>Implementation</strong> Descriptions” in Appendix A,<br />

“<strong>AAA</strong> Device Configuration Listings” for notes regarding key <strong>Cisco</strong> IOS <strong>AAA</strong><br />

commands.<br />

Step 2<br />

Verify basic dial access.<br />

a. To verify user access, initiate a login process as follows:<br />

maui-nas-01#login<br />

User Access Verification<br />

Username:diallocal<br />

Password: <br />

b. To determine that local dial access authentication is operating correctly, enter the debug aaa<br />

authentication and debug ppp authentication commands.<br />

The following debug output contains only pertinent information:<br />

maui-nas-01#<br />

Debugs in NAS then initiate dialup:<br />

maui-nas-01#debug aaa authentication<br />

<strong>AAA</strong> Authentication debugging is on<br />

maui-nas-01#debug ppp authentication<br />

PPP authentication debugging is on<br />

maui-nas-01#show debug<br />

General OS:<br />

<strong>AAA</strong> Authentication debugging is on<br />

PPP:<br />

PPP authentication debugging is on<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

2-3


2.1 Implementing Local Dialup Authentication<br />

Chapter 2<br />

Implementing the Local <strong>AAA</strong> Subsystem<br />

The following shell-initiated PPP session example shows the <strong>AAA</strong> debug output that confirms<br />

correct configuration for local authentication:<br />

Note<br />

The method used is LOCAL.<br />

113123: Feb 4 10:11:19.305 CST: <strong>AAA</strong>/MEMORY: create_user (0x619C4940) user=''<br />

ruser='' port='tty1' rem_addr='async/81560' authen_type=ASCII service=LOGIN priv=1<br />

113124: Feb 4 10:11:19.305 CST: <strong>AAA</strong>/AUTHEN/START (2784097690): port='tty1' list=''<br />

action=LOGIN service=LOGIN<br />

113125: Feb 4 10:11:19.305 CST: <strong>AAA</strong>/AUTHEN/START (2784097690): using "default" list<br />

113126: Feb 4 10:11:19.305 CST: <strong>AAA</strong>/AUTHEN/START (2784097690): Method=LOCAL<br />

113127: Feb 4 10:11:19.305 CST: <strong>AAA</strong>/AUTHEN (2784097690): status = GETUSER<br />

113128: Feb 4 10:11:26.305 CST: <strong>AAA</strong>/AUTHEN/CONT (2784097690): continue_login<br />

(user='(undef)')<br />

113129: Feb 4 10:11:26.305 CST: <strong>AAA</strong>/AUTHEN (2784097690): status = GETUSER<br />

113130: Feb 4 10:11:26.305 CST: <strong>AAA</strong>/AUTHEN/CONT (2784097690): Method=LOCAL<br />

113131: Feb 4 10:11:26.305 CST: <strong>AAA</strong>/AUTHEN (2784097690): status = GETPASS<br />

113132: Feb 4 10:11:28.145 CST: <strong>AAA</strong>/AUTHEN/CONT (2784097690): continue_login<br />

(user='diallocal')<br />

113133: Feb 4 10:11:28.145 CST: <strong>AAA</strong>/AUTHEN (2784097690): status = GETPASS<br />

113134: Feb 4 10:11:28.145 CST: <strong>AAA</strong>/AUTHEN/CONT (2784097690): Method=LOCAL<br />

113135: Feb 4 10:11:28.145 CST: <strong>AAA</strong>/AUTHEN (2784097690): status = PASS<br />

113136: Feb 4 10:11:32.582 CST: As1 PPP: Treating connection as a callin<br />

113137: Feb 4 10:11:32.582 CST: <strong>AAA</strong>/MEMORY: dup_user (0x61DF306C) user='dialuser'<br />

ruser='' port='tty1' rem_addr='async/81560' authen_type=ASCII service=PPP priv=1<br />

source='<strong>AAA</strong> dup lcp_reset'<br />

113138: Feb 4 10:11:32.582 CST: As1 <strong>AAA</strong>/AUTHEN: Method=IF-NEEDED: no authentication<br />

needed. user='diallocal' port='tty1' rem_addr='async/81560'<br />

113139: Feb 4 10:11:32.582 CST: <strong>AAA</strong>/MEMORY: free_user (0x619C4940) user='dialuser'<br />

ruser='' port='tty1' rem_addr='async/81560' authen_type=ASCII service=LOGIN priv=1<br />

113140: Feb 4 10:11:33.158 CST: <strong>AAA</strong>/MEMORY: dup_user (0x6193A788) user='dialuser'<br />

ruser='' port='tty1' rem_addr='async/81560' authen_type=ASCII service=PPP priv=1<br />

source='<strong>AAA</strong> dup lcp_reset'<br />

113141: Feb 4 10:11:33.158 CST: <strong>AAA</strong>/MEMORY: free_user (0x61DF306C) user='dialuser'<br />

ruser='' port='tty1' rem_addr='async/81560' authen_type=ASCII service=PPP priv=1<br />

113142: Feb 4 10:11:33.158 CST: As1 <strong>AAA</strong>/AUTHEN: Method=IF-NEEDED: no authentication<br />

needed. user='diallocal' port='tty1' rem_addr='async/81560'<br />

2-4<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 2<br />

Implementing the Local <strong>AAA</strong> Subsystem<br />

2.2 Implementing Local Dialup Authorization<br />

The following example of a non-shell-initiated PPP session shows <strong>AAA</strong> debug output that confirms<br />

correct configuration for local authentication:<br />

Note<br />

The method used is LOCAL.<br />

113151: Feb 4 10:13:27.670 CST: <strong>AAA</strong>/MEMORY: create_user (0x61DFE188) user=''<br />

ruser='' port='tty2' rem_addr='async/81560' authen_type=ASCII service=LOGIN priv=1<br />

113152: Feb 4 10:13:27.670 CST: <strong>AAA</strong>/AUTHEN/START (776784700): port='tty2' list=''<br />

action=LOGIN service=LOGIN<br />

113153: Feb 4 10:13:27.670 CST: <strong>AAA</strong>/AUTHEN/START (776784700): using "default" list<br />

113154: Feb 4 10:13:27.670 CST: <strong>AAA</strong>/AUTHEN/START (776784700): Method=LOCAL<br />

113155: Feb 4 10:13:27.670 CST: <strong>AAA</strong>/AUTHEN (776784700): status = GETUSER<br />

113156: Feb 4 10:13:27.710 CST: <strong>AAA</strong>/AUTHEN/ABORT: (776784700) because Autoselected.<br />

113157: Feb 4 10:13:27.710 CST: <strong>AAA</strong>/MEMORY: free_user (0x61DFE188) user='' ruser=''<br />

port='tty2' rem_addr='async/81560' authen_type=ASCII service=LOGIN priv=1<br />

113158: Feb 4 10:13:29.842 CST: As2 PPP: Treating connection as a callin<br />

113159: Feb 4 10:13:34.834 CST: As2 PAP: I AUTH-REQ id 1 len 18 from "diallocal"<br />

113160: Feb 4 10:13:34.834 CST: As2 PAP: Authenticating peer diallocal<br />

113161: Feb 4 10:13:34.838 CST: <strong>AAA</strong>: parse name=Async2 idb type=10 tty=2<br />

113162: Feb 4 10:13:34.838 CST: <strong>AAA</strong>: name=Async2 flags=0x11 type=4 shelf=0 slot=0<br />

adapter=0 port=2 channel=0<br />

113163: Feb 4 10:13:34.838 CST: <strong>AAA</strong>: parse name=Serial0:3 idb type=12 tty=-1<br />

113164: Feb 4 10:13:34.838 CST: <strong>AAA</strong>: name=Serial0:3 flags=0x51 type=1 shelf=0 slot=0<br />

adapter=0 port=0 channel=3<br />

113165: Feb 4 10:13:34.838 CST: <strong>AAA</strong>/MEMORY: create_user (0x61ABBCE4) user='dialuser'<br />

ruser='' port='Async2' rem_addr='async/81560' authen_type=PAP service=PPP priv=1<br />

113166: Feb 4 10:13:34.838 CST: <strong>AAA</strong>/AUTHEN/START (1001880850): port='Async2' list=''<br />

action=LOGIN service=PPP<br />

113167: Feb 4 10:13:34.838 CST: <strong>AAA</strong>/AUTHEN/START (1001880850): using "default" list<br />

113168: Feb 4 10:13:34.838 CST: <strong>AAA</strong>/AUTHEN (1001880850): status = UNKNOWN<br />

113169: Feb 4 10:13:34.838 CST: <strong>AAA</strong>/AUTHEN/START (1001880850): Method=LOCAL<br />

113170: Feb 4 10:13:34.838 CST: <strong>AAA</strong>/AUTHEN (1001880850): status = PASS<br />

113171: Feb 4 10:13:34.838 CST: As2 PAP: O AUTH-ACK id 1 len 5<br />

2.2 Implementing Local Dialup Authorization<br />

These processes help you to accomplish the following tasks:<br />

1. Configure dial access configuration for local authorization on the NAS.<br />

2. Verify and troubleshoot local authorization from NAS.<br />

3. Verify that access list 110 is assigned.<br />

Note<br />

Attribute-value pairs (AVPs) only are supported with EXEC shell initiated PPP<br />

sessions for local accounts. Configure dial access clients to “Bring Up a Terminal<br />

Window After Dial”.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

2-5


2.2 Implementing Local Dialup Authorization<br />

Chapter 2<br />

Implementing the Local <strong>AAA</strong> Subsystem<br />

Step 1<br />

Configure dial access configuration for local authorization on the NAS.<br />

Include the following <strong>Cisco</strong> IOS configuration commands in your configuration to construct dial access<br />

local authorization:<br />

aaa new-model<br />

aaa authentication login default local<br />

aaa authentication ppp default if-needed local<br />

aaa authorization exec default local if-authenticated<br />

aaa authorization network default local if-authenticated<br />

username dialclient access-class 110 password ciscorocks<br />

username dialclient autocommand ppp negotiate<br />

access-list 110 deny tcp any any eq telnet<br />

access-list 110 permit tcp any any<br />

Note See “A.3 NAS <strong>AAA</strong> Command <strong>Implementation</strong> Descriptions” in Appendix A,<br />

“<strong>AAA</strong> Device Configuration Listings” for notes regarding key <strong>Cisco</strong> IOS <strong>AAA</strong><br />

commands.<br />

Step 2<br />

Verify and troubleshoot local authorization from NAS.<br />

To verify local dial access authorization is operating correctly, enter the debug aaa authorization<br />

command.<br />

The following EXEC sequence illustrates that the appropriate command is enabled:<br />

5800-NAS#show debug<br />

General OS:<br />

<strong>AAA</strong> Authorization debugging is on<br />

The following example of a shell-initiated session shows the <strong>AAA</strong> debug output that confirms correct<br />

configuration for local authorization. Some points to note about this debug output:<br />

• Method used is LOCAL.<br />

• Autocommand used is PPP negotiate.<br />

• Access list used is 110.<br />

• Authorization is successful.<br />

The following tests illustrate operations described in “2.4 Implementing Local Router Authorization”<br />

and include relevant router output:<br />

1. User diallocal is authorized EXEC Shell Service (Terminal Window After Dial enabled).<br />

2. EXEC Authorization in action; access-list 110 and autocommand=ppp negototiate AVPs processed.<br />

3. User diallocal is authorized PPP Network Service.<br />

4. User diallocal is authorized LCP.<br />

5. User diallocal is authorized IPCP.<br />

The following diagnostic results are presented in the order in which they are generated during the<br />

authorization process. Specific output fragments are differentiated with brief explanatory notes to help<br />

you identify relevant information.<br />

2-6<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 2<br />

Implementing the Local <strong>AAA</strong> Subsystem<br />

2.2 Implementing Local Dialup Authorization<br />

Note<br />

The debug command output can vary depending on <strong>Cisco</strong> IOS versions.<br />

1. User diallocal is authorized EXEC Shell Service (Terminal Window After Dial enabled).<br />

NAS debug output:<br />

07:10:52: As10 <strong>AAA</strong>/AUTHOR/EXEC (693880654): Port='tty10' list='' service=EXEC<br />

07:10:52: <strong>AAA</strong>/AUTHOR/EXEC: As10 (693880654) user='diallocal'<br />

07:10:52: As10 <strong>AAA</strong>/AUTHOR/EXEC (693880654): send AV service=shell<br />

07:10:52: As10 <strong>AAA</strong>/AUTHOR/EXEC (693880654): send AV cmd*<br />

07:10:52: As10 <strong>AAA</strong>/AUTHOR/EXEC (693880654): found list "default"<br />

07:10:52: As10 <strong>AAA</strong>/AUTHOR/EXEC (693880654): Method=LOCAL<br />

07:10:52: As10 <strong>AAA</strong>/AUTHOR (693880654): Post authorization status = PASS_ADD<br />

2. EXEC Authorization in action; access-list 110 and autocommand=ppp negototiate AVPs<br />

processed.<br />

NAS debug output:<br />

07:10:52: <strong>AAA</strong>/AUTHOR/EXEC: Processing AV service=shell<br />

07:10:52: <strong>AAA</strong>/AUTHOR/EXEC: Processing AV cmd*<br />

07:10:52: <strong>AAA</strong>/AUTHOR/EXEC: Processing AV autocmd=ppp<br />

07:10:52: <strong>AAA</strong>/AUTHOR/EXEC: Processing AV acl=110<br />

07:10:52: <strong>AAA</strong>/AUTHOR/EXEC: Authorization successful<br />

3. User diallocal is authorized PPP Network Service.<br />

NAS debug output:<br />

07:10:52: As10 <strong>AAA</strong>/AUTHOR/PPP (2856468577): Port='tty10' list='' service=NET<br />

07:10:52: <strong>AAA</strong>/AUTHOR/PPP: As10 (2856468577) user='diallocal'<br />

07:10:52: As10 <strong>AAA</strong>/AUTHOR/PPP (2856468577): send AV service=ppp<br />

07:10:52: As10 <strong>AAA</strong>/AUTHOR/PPP (2856468577): send AV protocol=ip<br />

07:10:52: As10 <strong>AAA</strong>/AUTHOR/PPP (2856468577): send AV addr-pool*default<br />

07:10:52: As10 <strong>AAA</strong>/AUTHOR/PPP (2856468577): found list "default"<br />

07:10:52: As10 <strong>AAA</strong>/AUTHOR/PPP (2856468577): Method=LOCAL<br />

07:10:52: As10 <strong>AAA</strong>/AUTHOR (2856468577): Post authorization status = PASS_REPL<br />

4. User diallocal is authorized LCP.<br />

NAS debug output:<br />

07:10:52: <strong>AAA</strong>/AUTHOR/Async10: PPP: Processing AV service=ppp<br />

07:10:52: <strong>AAA</strong>/AUTHOR/Async10: PPP: Processing AV protocol=ip<br />

07:10:52: <strong>AAA</strong>/AUTHOR/Async10: PPP: Processing AV addr-pool*default<br />

07:10:54: <strong>AAA</strong>/MEMORY: free_user (0x61851148) user='diallocal' ruser='' port='tty<br />

10' rem_addr='65004/65301' authen_type=ASCII service=LOGIN priv=1<br />

07:10:56: <strong>AAA</strong>/MEMORY: free_user (0x61532710) user='diallocal' ruser='' port='tty<br />

10' rem_addr='65004/65301' authen_type=ASCII service=PPP priv=1<br />

07:10:56: As10 <strong>AAA</strong>/AUTHOR/FSM: (0): LCP succeeds trivially<br />

07:10:58: As10 <strong>AAA</strong>/AUTHOR/LCP: Authorize LCP<br />

07:10:58: As10 <strong>AAA</strong>/AUTHOR/LCP (3185006257): Port='tty10' list='' service=NET<br />

07:10:58: <strong>AAA</strong>/AUTHOR/LCP: As10 (3185006257) user='diallocal'<br />

07:10:58: As10 <strong>AAA</strong>/AUTHOR/LCP (3185006257): send AV service=ppp<br />

07:10:58: As10 <strong>AAA</strong>/AUTHOR/LCP (3185006257): send AV protocol=lcp<br />

07:10:58: As10 <strong>AAA</strong>/AUTHOR/LCP (3185006257): found list "default"<br />

07:10:58: As10 <strong>AAA</strong>/AUTHOR/LCP (3185006257): Method=LOCAL<br />

07:10:58: As10 <strong>AAA</strong>/AUTHOR (3185006257): Post authorization status = PASS_REPL<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

2-7


2.3 Implementing Local Router Authentication<br />

Chapter 2<br />

Implementing the Local <strong>AAA</strong> Subsystem<br />

5. User diallocal is authorized IPCP.<br />

NAS debug output:<br />

07:10:58: As10 <strong>AAA</strong>/AUTHOR/LCP: Processing AV service=ppp<br />

07:10:58: As10 <strong>AAA</strong>/AUTHOR/LCP: Processing AV protocol=lcp<br />

07:10:58: As10 <strong>AAA</strong>/AUTHOR/FSM: (0): Can we start IPCP?<br />

07:10:58: As10 <strong>AAA</strong>/AUTHOR/FSM (321297806): Port='tty10' list='' service=NET<br />

07:10:58: <strong>AAA</strong>/AUTHOR/FSM: As10 (321297806) user='diallocal'<br />

07:10:58: As10 <strong>AAA</strong>/AUTHOR/FSM (321297806): send AV service=ppp<br />

07:10:58: As10 <strong>AAA</strong>/AUTHOR/FSM (321297806): send AV protocol=ip<br />

07:10:58: As10 <strong>AAA</strong>/AUTHOR/FSM (321297806): found list "default"<br />

07:10:58: As10 <strong>AAA</strong>/AUTHOR/FSM (321297806): Method=LOCAL<br />

07:10:58: As10 <strong>AAA</strong>/AUTHOR (321297806): Post authorization status = PASS_REPL<br />

07:10:58: As10 <strong>AAA</strong>/AUTHOR/FSM: We can start IPCP<br />

Step 3<br />

Verify that access list 110 is assigned.<br />

To verify that access list 110 is being used to control access, enter the show line command as follows:<br />

maui-nas-03#show line 10<br />

Tty Typ Tx/Rx A Modem Roty AccO AccI Uses Noise Overruns Int<br />

A 10 TTY - inout - 110 - 1 0 0/0 -<br />

Note<br />

Access lists can be defined as either input or output access lists. As configured and applied<br />

in this environment, access list 110 is an output access list assigned with the acl=110 AVP.<br />

In the show line listing, AccO refers to output access list 110. In this case, AccI is not set<br />

(indicated by a dash).<br />

2.3 Implementing Local Router Authentication<br />

These processes help you to establish local-based router authentication as illustrated in Figur e2-2:<br />

1. Configure basic router access.<br />

2. Verify local authentication operation.<br />

Figure 2-2<br />

Local-Based Router Environment<br />

Local-based<br />

VTY access (Telnet)<br />

IP<br />

35053<br />

2-8<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 2<br />

Implementing the Local <strong>AAA</strong> Subsystem<br />

2.3 Implementing Local Router Authentication<br />

Step 1<br />

Configure basic router access.<br />

Include the following <strong>Cisco</strong> IOS configuration commands in your configuration to enforce local on all<br />

interfaces except the console port:<br />

username rtr_super privilege 15 password ciscorules<br />

!<br />

aaa new-model<br />

aaa authentication login default local<br />

aaa authentication login NO_AUTHENT none<br />

!<br />

line con 0<br />

login authentication NO_AUTHENT<br />

Note<br />

The NO_AUTHENT list disables authentication on the console port. See “A.2<br />

Router <strong>AAA</strong> Command <strong>Implementation</strong> Descriptions” in Appendix A, “<strong>AAA</strong><br />

Device Configuration Listings” for notes regarding <strong>Cisco</strong> IOS <strong>AAA</strong> commands.<br />

Step 2<br />

Verify local authentication operation.<br />

a. To verify user access, initiate a login process as follows:<br />

maui-rtr-03#login<br />

User Access Verification<br />

Username: rtr_super<br />

Password: <br />

maui-rtr-03#<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

2-9


2.4 Implementing Local Router Authorization<br />

Chapter 2<br />

Implementing the Local <strong>AAA</strong> Subsystem<br />

b. To determine that local dial access authentication is operating correctly, enter the debug aaa<br />

authentication command as follows:<br />

maui-rtr-03#debug aaa authentication<br />

<strong>AAA</strong> Authentication debugging is on<br />

maui-rtr-03#show debug<br />

General OS:<br />

<strong>AAA</strong> Authentication debugging is on<br />

maui-rtr-03#terminal monitor<br />

Feb 17 15:34:47.147: <strong>AAA</strong>: parse name=tty3 idb type=-1 tty=-1<br />

Feb 17 15:34:47.147: <strong>AAA</strong>: name=tty3 flags=0x11 type=5 shelf=0 slot=0 adapter=0 port=3<br />

channel=0<br />

Feb 17 15:34:47.147: <strong>AAA</strong>/MEMORY: create_user (0x61F88D2C) user='' ruser=''<br />

port='tty3' rem_addr='172.22.61.17' authen_type=ASCII service=LOGIN priv=1<br />

Feb 17 15:34:47.147: <strong>AAA</strong>/AUTHEN/START (3701879404): port='tty3' list='' action=LOGIN<br />

service=LOGIN<br />

Feb 17 15:34:47.147: <strong>AAA</strong>/AUTHEN/START (3701879404): using "default" list<br />

Feb 17 15:34:47.147: <strong>AAA</strong>/AUTHEN/START (3701879404): Method=LOCAL<br />

Feb 17 15:34:47.147: <strong>AAA</strong>/AUTHEN (3701879404): status = GETUSER<br />

Feb 17 15:34:49.679: <strong>AAA</strong>/AUTHEN/CONT (3701879404): continue_login (user='(undef)')<br />

Feb 17 15:34:49.679: <strong>AAA</strong>/AUTHEN (3701879404): status = GETUSER<br />

Feb 17 15:34:49.679: <strong>AAA</strong>/AUTHEN/CONT (3701879404): Method=LOCAL<br />

Feb 17 15:34:49.679: <strong>AAA</strong>/AUTHEN (3701879404): status = GETPASS<br />

Feb 17 15:34:51.467: <strong>AAA</strong>/AUTHEN/CONT (3701879404): continue_login (user='rtr_super')<br />

Feb 17 15:34:51.467: <strong>AAA</strong>/AUTHEN (3701879404): status = GETPASS<br />

Feb 17 15:34:51.467: <strong>AAA</strong>/AUTHEN/CONT (3701879404): Method=LOCAL<br />

Feb 17 15:34:51.467: <strong>AAA</strong>/AUTHEN (3701879404): status = PASS<br />

2.4 Implementing Local Router Authorization<br />

Local router authorization is implemented through router command authorization configuration. The<br />

following example:<br />

• Shows how to create two privilege levels (1 and 15) with local access andhow to control the access<br />

to global configuration mode.<br />

• Provides a method to gain access by using the enable password if the local login fails.<br />

Follow a methodical approach when dealing with TACACS+ in routers to prevent the need to perform<br />

password recovery.<br />

Note<br />

Some versions of boot ROMs do not recognize all <strong>AAA</strong> commands. Be sure to<br />

disable <strong>AAA</strong> authentication and authorization before changing to boot ROM<br />

mode. For configuration notes regarding disabling <strong>AAA</strong> to access boot ROM<br />

mode, see Appendix B, “<strong>AAA</strong> Impact on Maintenance Tasks.”<br />

These processes are intended to help you to accomplish the following tasks:<br />

1. Configure local router authorization at privilege level 15.<br />

2. Verify local router authorization is set to privilege level 15.<br />

2-10<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 2<br />

Implementing the Local <strong>AAA</strong> Subsystem<br />

2.4 Implementing Local Router Authorization<br />

Step 1 Configure local router authorization at privilege level 15.<br />

Include the following <strong>Cisco</strong> IOS configuration commands in your configuration to enforce local<br />

authorization at privilege level 15 on all interfaces except the console port:<br />

!<br />

username rtr_super privilege 15 password ciscorules<br />

!<br />

aaa new-model<br />

aaa authentication login default local enable<br />

aaa authentication login NO_AUTHENT none<br />

aaa authorization exec default local if-authenticated<br />

aaa authorization exec NO_AUTHOR none<br />

aaa authorization commands 15 NO_AUTHOR none<br />

aaa authorization commands 15 local if-authenticated<br />

!<br />

line con 0<br />

authorization commands 15 NO_AUTHOR<br />

authorization exec NO_AUTHOR<br />

login authentication NO_AUTHENT<br />

Note<br />

You must first log out, and then log back into the router following the inclusion of<br />

the aaa authorization commands 15 local if-authenticated command<br />

(illustrated in the preceding configuration fragment). Doing this ensures that you<br />

log in as the user rtr_super (in this case study example). The NO_AUTHENT list<br />

disables authentication on the console port. The NO_AUTHOR list disables<br />

EXEC and command authorization on the console port. See “A.2 Router <strong>AAA</strong><br />

Command <strong>Implementation</strong> Descriptions” in Appendix A, “<strong>AAA</strong> Device<br />

Configuration Listings” for notes regarding key <strong>Cisco</strong> IOS <strong>AAA</strong> commands.<br />

Step 2 Verify local router authorization is set to privilege level 15.<br />

Enter the following commands to verify correct authorization:<br />

maui-rtr-03#debug aaa authorization<br />

<strong>AAA</strong> Authorization debugging is on<br />

maui-rtr-03#show debug<br />

General OS:<br />

<strong>AAA</strong> Authorization debugging is on<br />

maui-rtr-03#login<br />

User Access Verification<br />

Username: rtr_super<br />

Password:<br />

The following tests illustrate operations described in “2.4 Implementing Local Router Authorization”<br />

and include relevant router output.<br />

1. User rtr_super is authorized EXEC shell access.<br />

2. User rtr_super logs is assigned priv-lvl 15 AVP.<br />

3. User rtr_super successfully performs privilege level 15 command.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

2-11


2.5 Implementing Local Router Accounting<br />

Chapter 2<br />

Implementing the Local <strong>AAA</strong> Subsystem<br />

The following diagnostic results are presented in the order in which they are generated during the<br />

authorization process. Specific output fragments are differentiated with brief explanatory notes to help<br />

you identify relevant information.<br />

Note<br />

The debug command output can vary depending on <strong>Cisco</strong> IOS versions.<br />

1. User rtr_super is authorized EXEC shell access.<br />

Router debug output:<br />

Mar 13 14:08:54.871 CST: <strong>AAA</strong>/MEMORY: create_user (0x6188BD2C) user='' ruser=''<br />

port='tty2' rem_addr='172.22.53.201' authen_type=ASCII service=LOGIN priv=15<br />

Mar 13 14:09:00.511 CST: tty2 <strong>AAA</strong>/AUTHOR/EXEC (294199586): Port='tty2' list=''<br />

service=EXEC<br />

Mar 13 14:09:00.511 CST: <strong>AAA</strong>/AUTHOR/EXEC: tty2 (294199586) user='rtr_super'<br />

Mar 13 14:09:00.511 CST: tty2 <strong>AAA</strong>/AUTHOR/EXEC (294199586): send AV service=shell<br />

Mar 13 14:09:00.511 CST: tty2 <strong>AAA</strong>/AUTHOR/EXEC (294199586): send AV cmd*<br />

Mar 13 14:09:00.511 CST: tty2 <strong>AAA</strong>/AUTHOR/EXEC (294199586): found list "default"<br />

Mar 13 14:09:00.511 CST: tty2 <strong>AAA</strong>/AUTHOR/EXEC (294199586): Method=LOCAL<br />

Mar 13 14:09:00.511 CST: <strong>AAA</strong>/AUTHOR (294199586): Post authorization status = PASS_ADD<br />

2. User rtr_super logs is assigned priv-lvl 15AVP.<br />

Router debug output:<br />

Mar 13 14:09:00.511 CST: <strong>AAA</strong>/AUTHOR/EXEC: Processing AV service=shell<br />

Mar 13 14:09:00.511 CST: <strong>AAA</strong>/AUTHOR/EXEC: Processing AV cmd*<br />

Mar 13 14:09:00.511 CST: <strong>AAA</strong>/AUTHOR/EXEC: Processing AV priv-lvl=15<br />

Mar 13 14:09:00.511 CST: <strong>AAA</strong>/AUTHOR/EXEC: Authorization successful<br />

Mar 13 14:09:01.648 CST: tty2 <strong>AAA</strong>/AUTHOR/CMD (2192867088): Port='tty2' list=''<br />

service=CMD<br />

3. User rtr_super successfully performs privilege level 15 command.<br />

Router debug output:<br />

Mar 13 14:09:01.648 CST: <strong>AAA</strong>/AUTHOR/CMD: tty2 (2192867088) user='rtr_super'<br />

Mar 13 14:09:01.648 CST: tty2 <strong>AAA</strong>/AUTHOR/CMD (2192867088): send AV service=shell<br />

Mar 13 14:09:01.648 CST: tty2 <strong>AAA</strong>/AUTHOR/CMD (2192867088): send AV cmd=configure<br />

Mar 13 14:09:01.648 CST: tty2 <strong>AAA</strong>/AUTHOR/CMD (2192867088): send AV cmd-arg=terminal<br />

Mar 13 14:09:01.648 CST: tty2 <strong>AAA</strong>/AUTHOR/CMD (2192867088): send AV cmd-arg=<br />

Mar 13 14:09:01.648 CST: tty2 <strong>AAA</strong>/AUTHOR/CMD (2192867088): found list "default"<br />

Mar 13 14:09:01.648 CST: tty2 <strong>AAA</strong>/AUTHOR/CMD (2192867088): Method=LOCAL<br />

Mar 13 14:09:01.648 CST: <strong>AAA</strong>/AUTHOR (2192867088): Post authorization status =<br />

PASS_ADD<br />

2.5 Implementing Local Router Accounting<br />

These processes help you to accomplish the following tasks:<br />

1. Configure basic local accounting for router access.<br />

2. Verify and troubleshoot local accounting from VTY (Telnet) based access to the router.<br />

2-12<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 2<br />

Implementing the Local <strong>AAA</strong> Subsystem<br />

2.5 Implementing Local Router Accounting<br />

Step 1<br />

Configure basic local accounting for router access.<br />

Include the following <strong>Cisco</strong> IOS configuration commands in your configuration to construct local based<br />

router accounting for EXEC and command authorization for privilege level 15 commands:<br />

username rtr_super privilege level 15 password ciscorules<br />

aaa new-model<br />

aaa authentication login default local enable<br />

aaa authentication login NO_AUTHENT none<br />

aaa authorization exec default local if-authenticated<br />

aaa authorization exec NO_AUTHOR none<br />

aaa authorization commands 15 default local if-authenticated<br />

aaa authorization commands 15 NO_AUTHOR none<br />

aaa accounting exec default start-stop group tacacs+<br />

aaa accounting exec NO_ACCOUNT none<br />

aaa accounting commands 15 default stop-only group tacacs+<br />

aaa accounting commands 15 NO_ACCOUNT none<br />

line con 0<br />

authorization commands 15 NO_AUTHOR<br />

authorization exec NO_AUTHOR<br />

accounting commands 1 NO_ACCOUNT<br />

accounting commands 15 NO_ACCOUNT<br />

accounting exec NO_ACCOUNT<br />

login authentication NO_AUTHENT<br />

Note<br />

In the preceding configuration fragment, the start-stop option is entered for<br />

EXEC shell sessions and the stop-only option is entered for privilege-level 15<br />

commands. The router sends a start packet in the beginning of a shell service and<br />

a stop packet when the session terminates. A stop packet is only sent upon<br />

completion of a privilege level 15 command in the router. Additionally, note the<br />

use of the NO_ACCOUNT list to disable <strong>AAA</strong> accounting on the console port.<br />

Step 2<br />

Verify and troubleshoot local accounting from VTY (Telnet) based access to the router.<br />

Enter the debug aaa accounting command to verify local router accounting is operating as expected.<br />

The following EXEC sequence illustrates that the appropriate commands are enabled:<br />

maui-rtr-03#show debug<br />

General OS:<br />

<strong>AAA</strong> Accounting debugging is on<br />

The following tests illustrate operations described in “2.5 Implementing Local Router Accounting” and<br />

include relevant router output.<br />

1. User rtr_super is authorized EXEC shell access.<br />

2. User rtr_super successfully performs configure terminal, a privilege level 15 command.<br />

The following diagnostic results are presented in the order in which they are generated during a typical<br />

authorization and command request process. Specific output fragments are separated out with brief<br />

explanatory notes to help you identify relevant information.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

2-13


2.5 Implementing Local Router Accounting<br />

Chapter 2<br />

Implementing the Local <strong>AAA</strong> Subsystem<br />

Note<br />

The debug command output can vary depending on <strong>Cisco</strong> IOS versions.<br />

1. User rtr_super is authorized EXEC shell access.<br />

Router debug output:<br />

Apr 11 16:48:32.483: <strong>AAA</strong>/ACCT/EXEC/START User rtr_super, port tty3<br />

Apr 11 16:48:32.483: <strong>AAA</strong>/ACCT/EXEC: Found list "default"<br />

Apr 11 16:48:32.483: <strong>AAA</strong>/ACCT/EXEC/START User rtr_super, Port tty3, task_id=362<br />

start_time=955471712 timezone=CST service=shell<br />

Apr 11 16:48:32.483: <strong>AAA</strong>/ACCT: user rtr_super, acct type 0 (1526108857):<br />

Method=tacacs+ (tacacs+)<br />

Apr 11 16:48:33.487: TAC+: (1526108857): received acct response status = SUCCESS<br />

2. User rtr_super successfully performs configure terminal, a privilege level 15 command.<br />

Router debug output:<br />

Apr 11 16:51:52.741: <strong>AAA</strong>/ACCT/CMD: User rtr_super, Port tty3, Priv 15: "configure<br />

terminal "<br />

Apr 11 16:51:52.741: <strong>AAA</strong>/ACCT/CMD: Found list "default"<br />

Apr 11 16:51:52.741: <strong>AAA</strong>/ACCT: user rtr_super, acct type 3 (2701117300):<br />

Method=tacacs+ (tacacs+)<br />

Apr 11 16:51:53.545: TAC+: (2701117300): received acct response status = SUCCESS<br />

2-14<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


CHAPTER<br />

3<br />

Implementing <strong>Cisco</strong> <strong>AAA</strong> Servers<br />

This chapter describes the basic process of installing <strong>Cisco</strong>Secure for UNIX (CSU). See Chapter 1,<br />

“<strong>Cisco</strong> <strong>AAA</strong> <strong>Case</strong> <strong>Study</strong> Overview” for information regarding this case study’s network requirements<br />

and environment details for this case study. Figure 3-1 illustrates the general networking environment<br />

in which this CSU is implemented.<br />

These sections focus on the following topics:<br />

• 3.1 Installing <strong>Cisco</strong>Secure for UNIX with Oracle<br />

• 3.1.4 Creating and Verifying Basic User Profile<br />

Figure 3-1<br />

<strong>AAA</strong>-Based, Secure Network Access Scenario<br />

Network element<br />

management server<br />

(NTP, Syslog, SNMP)<br />

Oracle dB server<br />

Analog lines<br />

PSTN<br />

PRI lines<br />

<strong>AAA</strong><br />

server<br />

Clients<br />

Modems<br />

<strong>Cisco</strong> AS5x00<br />

with integrated<br />

modems<br />

IP intranet<br />

DNS<br />

server<br />

Default<br />

gateway<br />

Internet<br />

firewall<br />

Internet<br />

35089<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

3-1


3.1 Installing <strong>Cisco</strong>Secure for UNIX with Oracle<br />

Chapter 3<br />

Implementing <strong>Cisco</strong> <strong>AAA</strong> Servers<br />

3.1 Installing <strong>Cisco</strong>Secure for UNIX with Oracle<br />

These processes of help you to install <strong>Cisco</strong>Secure for UNIX:<br />

• 3.1.1 Creating Oracle Tablespace<br />

• 3.1.2 Verifying the Oracle Database Instance<br />

• 3.1.3 Installing <strong>Cisco</strong>Secure for UNIX<br />

• 3.1.4 Creating and Verifying Basic User Profile<br />

3.1.1 Creating Oracle Tablespace<br />

You must create an Oracle tablespace with a minimum size of 200 MB. The notes listed in this section<br />

are for reference.<br />

Note<br />

Ensure that an experienced Oracle database administrator (DBA) tunes and configures the<br />

database.<br />

For detailed Oracle installation notes, go to the following location:<br />

http://www.cisco.com/univercd/cc/td/doc/product/access/acs_soft/cs_unx/csbsdoc.htm<br />

Example of creating a Oracle tablespace:<br />

$su - oracle<br />

Sun Microsystems Inc. SunOS 5.5.1 Generic May 1996<br />

$$ORACLE_HOME/bin/svrmgrl<br />

Oracle Server Manager Release 2.3.4.0.0 - Production<br />

Copyright (c) Oracle Corporation 1994, 1995. All rights reserved.<br />

Oracle7 Server Release 7.3.4.0.1 - Production<br />

With the distributed option<br />

PL/SQL Release 2.3.4.0.0 - Production<br />

SVRMGR>connect internal<br />

Connected.<br />

SVRMGR>create tablespace cstb datafile '/export/home/ORADATA/cs.dbf' size 200m;<br />

Statement processed.<br />

SVRMGR>create user csecure identified by csecure default tablespace cstb;<br />

Statement processed.<br />

SVRMGR>grant dba to csecure identified by csecure;<br />

Statement processed.<br />

SVRMGR>exit<br />

Server Manager complete.<br />

3-2<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 3<br />

Implementing <strong>Cisco</strong> <strong>AAA</strong> Servers<br />

3.1 Installing <strong>Cisco</strong>Secure for UNIX with Oracle<br />

3.1.2 Verifying the Oracle Database Instance<br />

Before you install <strong>Cisco</strong>Secure for UNIX, make sure the Oracle server is running and you have the<br />

following five pieces of information:<br />

• The Oracle user account for <strong>Cisco</strong>Secure (csecure)<br />

• The password for the Oracle account (csecure)<br />

• TNS service name for the Oracle server (ciscosj)<br />

• The location of $ORACLE_HOME (/opt/oracle/product/7.3.4)<br />

• The number of Connections to use for ORACLE RDBMS (50)<br />

Step 1<br />

To verify the software directory environment variable ($ORACLE_HOME) where Oracle is installed,<br />

enter the following command. Log in to the $ORACLE_HOME as follows:<br />

$env | grep ORACLE_HOME<br />

ORACLE_HOME=/opt/oracle/product/7.3.4<br />

Note<br />

This environment variable should have been configured during Oracle installation<br />

by the DBA.<br />

Step 2<br />

On the Oracle server, verify that SMON (a mandatory Oracle background process) is running by<br />

entering the following command:<br />

$ps -ef |grep smon<br />

oracle 819 1 0 Feb 26 ? 0:00 ora_smon_ciscosj<br />

The command returns the ora_smon_ process if the server is running. Notice the database<br />

instance specification of ciscosj. If the server is down, log in with the Oracle UNIX account (in this<br />

case, with username of csecure and password of csecure) and start the database by using Server<br />

Manager (svrmgrl) and Oracle listener (lsnrctl) as follows:<br />

$$ORACLE_HOME/bin/svrmgrl<br />

SVRMGR>connect internal<br />

SVRMGR>startup<br />

ORACLE instance started.<br />

Total System Global Area 4576056 bytes<br />

Fixed Size<br />

39816 bytes<br />

Variable Size<br />

4118448 bytes<br />

Database Buffers<br />

409600 bytes<br />

Redo Buffers<br />

8192 bytes<br />

Database mounted.<br />

Database opened.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

3-3


3.1 Installing <strong>Cisco</strong>Secure for UNIX with Oracle<br />

Chapter 3<br />

Implementing <strong>Cisco</strong> <strong>AAA</strong> Servers<br />

$$ORACLE_HOME/bin/lsnrctl start<br />

LSNRCTL for Solaris:Version 2.3.4.0.0 - Production on 12-APR-00 09:40:46<br />

Copyright (c) Oracle Corporation 1994. All rights reserved.<br />

Starting /opt/oracle/product/7.3.4/bin/tnslsnr:please wait...<br />

TNSLSNR for Solaris:Version 2.3.4.0.0 - Production<br />

System parameter file is /opt/oracle/product/7.3.4/network/admin/listener.ora<br />

Log messages written to /opt/oracle/product/7.3.4/network/log/listener.log<br />

Listening on:(ADDRESS=(PROTOCOL=ipc)(DEV=10)(KEY=ciscoaus))<br />

Listening on:(ADDRESS=(PROTOCOL=ipc)(DEV=13)(KEY=PNPKEY))<br />

Listening on:(ADDRESS=(PROTOCOL=tcp)(DEV=15)(HOST=172.22.53.204)(PORT=1521))<br />

Connecting to (ADDRESS=(PROTOCOL=IPC)(KEY=ciscosj))<br />

STATUS of the LISTENER<br />

------------------------<br />

Alias<br />

LISTENER<br />

Version<br />

TNSLSNR for Solaris:Version 2.3.4.0.0 - Production<br />

Start Date 12-APR-00 09:40:50<br />

Uptime<br />

0 days 0 hr. 0 min. 0 sec<br />

Trace Level<br />

off<br />

Security<br />

OFF<br />

SNMP<br />

OFF<br />

Listener Parameter File /opt/oracle/product/7.3.4/network/admin/listener.ora<br />

Listener Log File<br />

/opt/oracle/product/7.3.4/network/log/listener.log<br />

Services Summary...<br />

ciscoaus<br />

has 1 service handler(s)<br />

The command completed successfully<br />

Step 3<br />

To verify that the Oracle database account information is created for <strong>Cisco</strong>Secure by the DBA, enter<br />

Security Manager using the sqlplus process:<br />

$sqlplus csecure/csecure@ciscosj<br />

SQL>select * from user_sys_privs;<br />

USERNAME PRIVILEGE ADM<br />

------------------------------ ---------------------------------------- ---<br />

CSECURE UNLIMITED TABLESPACE NO<br />

Note<br />

Ensure that the assigned resource role/privilege for the username and password is<br />

as shown.<br />

Step 4<br />

The command returns a table with a column listing the privileges granted to the Oracle database<br />

account. The default tablespace assigned to the Oracle database account must be at least 200MB. The<br />

size is verified by the installation script.<br />

To confirm tnsnames service is operating correctly, invoke the tnsping utility as follows:<br />

$$ORACLE_HOME/bin/tnsping ciscosj<br />

TNS Ping Utility for Solaris: Version 2.3.4.0.0 - Production on 29-FEB-00 09:25:28<br />

Copyright (c) Oracle Corporation 1995. All rights reserved.<br />

Attempting to contact (ADDRESS=(PROTOCOL=TCP)(Host=CSUserver)(Port=1521))<br />

OK (80 msec)<br />

3-4<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 3<br />

Implementing <strong>Cisco</strong> <strong>AAA</strong> Servers<br />

3.1 Installing <strong>Cisco</strong>Secure for UNIX with Oracle<br />

Step 5<br />

Ensure the number of Oracle RDBMS connections assigned to <strong>Cisco</strong>Secure is less than the<br />

PROCESSES variable defined in the initciscosj.ora file. This parameter specifies the maximum number<br />

of user processes that can simultaneously connect to an Oracle Server. If the value for PROCESSES is<br />

set to 20, then only 13 or 14 concurrent connections can be assigned to <strong>Cisco</strong>Secure. For this case study,<br />

at least four of the connections are reserved for mandatory background server processes. In addition,<br />

the PROCESSES variable is set to 50 and the number of Oracle RDBMS connections is set to 50 during<br />

the installation.<br />

3.1.3 Installing <strong>Cisco</strong>Secure for UNIX<br />

The general steps and output that follow apply to the installation dialog for <strong>Cisco</strong>Secure for UNIX<br />

(CSU) on a Sun Solaris workstation. Installation consists of the following steps:<br />

1. Start the CSU installation process by invoking the pkgadd program.<br />

2. Configure CSU logging by editing /etc/syslog.conf to enable <strong>AAA</strong> syslog function:<br />

3. Create /var/log/csuslog file.<br />

4. Configure the <strong>AAA</strong> server for maximum level debugging.<br />

5. Restart the <strong>AAA</strong> server.<br />

6. Restart the syslog daemon.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

3-5


3.1 Installing <strong>Cisco</strong>Secure for UNIX with Oracle<br />

Chapter 3<br />

Implementing <strong>Cisco</strong> <strong>AAA</strong> Servers<br />

Step 1<br />

Start the CSU installation process by invoking the pkgadd program.<br />

The process that follows illustrates the general installation sequence. Extraneous output was omitted<br />

where noted for brevity.<br />

Note<br />

The following installation process requires approximately 20 minutes.<br />

$pkgadd -d <strong>Cisco</strong>Secure-2.3.3.solaris<br />

The following packages are available:<br />

1 CSCEacs <strong>Cisco</strong>Secure Access Control Software<br />

(sun4) 2.3(3)<br />

Select package(s) you wish to process (or 'all' to process<br />

all packages). (default: all) [?,??,q]:1<br />

Processing package instance from <br />

<strong>Cisco</strong>Secure Access Control Software<br />

(sun4) 2.3(3)<br />

Copyright(c) 1996-1999 <strong>Cisco</strong> Systems, Inc.<br />

<strong>Cisco</strong>Secure Access Control Server<br />

Version 2.3(3)<br />

All Rights Reserved.<br />

Copyright (c) 1994-1999 Netscape Communications Corporation<br />

Copyright (c) 1988-1999 Sybase, Inc.<br />

Trade Mark WebLogic, Inc.<br />

Notice:<br />

By using this product, you agree to be bound by the terms of<br />

the license supplied with this product. If you do not agree<br />

to these terms, promptly return the unused product, manuals,<br />

related equipment, and hardware (with proof of purchase) to<br />

the place of purchase for a full refund.<br />

To install this product, you must agree to accept the terms<br />

of the enclosed license [accept=y,exit=n,exit=q]: y<br />

checking patches...<br />

************************************************************************<br />

* Notice: *<br />

* This installation program saves your Database files from a previous *<br />

* <strong>Cisco</strong>Secure install. If you have not installed <strong>Cisco</strong>Secure before, *<br />

* you should answer YES to the next question. If you have performed *<br />

* a 'package remove' and are installing a new version of <strong>Cisco</strong>Secure *<br />

* and want to retain your previous Database files, you should answer *<br />

* NO to the next question. *<br />

************************************************************************<br />

Is this a new install (y/n/q) (default: yes, q to quit)?y<br />

Enter the directory name in which to install <strong>Cisco</strong>Secure [?,q]/opt/ciscosecure<br />

3-6<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 3<br />

Implementing <strong>Cisco</strong> <strong>AAA</strong> Servers<br />

3.1 Installing <strong>Cisco</strong>Secure for UNIX with Oracle<br />

IP Address to use for <strong>Cisco</strong>Secure (default: 172.23.25.41) [?,q]<br />

If the hostname of this server is not the same as its fully qualified domain<br />

name (FQDN), enter the FQDN, e.g., www.cisco.com. Otherwise, press enter<br />

to use the default (default: CSUserver) [?,q]<br />

Enter the <strong>AAA</strong> Server License key (default: ) [?,q]<br />

Enter the TACACS+ NAS name to use (default: ) [?,q]<br />

Enter the TACACS+ NAS Secret key (default: SECRET12345) [?,q]ciscorules<br />

Select any or all Token Cards to use<br />

1 CryptoCard<br />

2 Secure-Computing SafeWord<br />

3 SDI SDI Token Card<br />

Enter selection (default: none) [?,??,q]:<br />

Choose Database<br />

1 SQLAnywhere Sybase SQL Anywhere<br />

2 ORACLE Oracle Enterprise<br />

3 SYBASE Sybase Enterprise<br />

Enter selection (default: SQLAnywhere) [?,??,q]:2<br />

Enter the username for the ORACLE DB account [?,q]csecure<br />

Enter the password for the ORACLE DB account [?,q]csecure<br />

Enter the TNS service name for the Oracle Server [?,q]ciscosj<br />

Enter the ORACLE_HOME directory [?,q]/opt/oracle/product/7.3.4<br />

Enter an available TCP/IP Port to be reserved for the <strong>Cisco</strong>Secure DB Server<br />

process (default: 9900) [0-65535,?,q]<br />

Enter a unique name for the <strong>Cisco</strong>Secure DB Server Process (default:<br />

CSdbServer) [?,q]<br />

Enter the number of Connections to use for ORACLE RDBMS (default: 4) [?,q]50<br />

Enter the directory Path to use for the <strong>AAA</strong> server profile caching<br />

(default: /, q to quit)?<br />

Modify any selections below?<br />

New <strong>Cisco</strong>Secure Install<br />

YES<br />

<strong>Cisco</strong>Secure Directory<br />

/opt/ciscosecure<br />

<strong>Cisco</strong>Secure IP Address 172.23.25.41<br />

<strong>Cisco</strong>Secure Web Server Name<br />

CSUserver<br />

Profile Cache Directory /<br />

<strong>AAA</strong> License Key<br />

<br />

TACACS+ NAS Name<br />

<br />

TACACS+ NAS Secret Key<br />

SECRET12345<br />

Token Cards selected<br />

none<br />

Data Base<br />

ORACLE<br />

DB User Account Name<br />

csecure<br />

DB User Account Passwd<br />

csecure<br />

Oracle TNS Name<br />

ciscosj<br />

Oracle Home<br />

/opt/oracle/product/7.3.4<br />

<strong>Cisco</strong>Secure DB Server IP Address 172.23.25.41<br />

<strong>Cisco</strong>Secure DB Server Port 9900<br />

<strong>Cisco</strong>Secure DB Server Proc Name CSdbServer<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

3-7


3.1 Installing <strong>Cisco</strong>Secure for UNIX with Oracle<br />

Chapter 3<br />

Implementing <strong>Cisco</strong> <strong>AAA</strong> Servers<br />

DB Server Connections 50<br />

Modify any values [y,n,q]: n<br />

cs_install.log being written to /tmp directory<br />

Using as the package base directory.<br />

## Processing package information.<br />

## Processing system information.<br />

6 package pathnames are already properly installed.<br />

## Verifying disk space requirements.<br />

## Checking for conflicts with packages already installed.<br />

## Checking for setuid/setgid programs.<br />

This package contains scripts which will be executed with super-user<br />

permission during the process of installing this package.<br />

Do you want to continue with the installation of [y,n,?]y<br />

Installing <strong>Cisco</strong>Secure Access Control Software as <br />

## Executing preinstall script.<br />

## Installing part 1 of 1.<br />

Note<br />

Process output is omitted at this point because it is not relevant to the installation<br />

task presented in this chapter.<br />

[ verifying class ]<br />

## Executing postinstall script.<br />

Creating the initial database tables and views........<br />

Loading properties from /opt/ciscosecure/config/CSConfig.ini<br />

Finished loading properties.<br />

Data Source = ORACLE<br />

Driver Type = JDBC-Weblogic-Oracle URL = jdbc:weblogic:oracle:ciscosj username =<br />

csecure password = ********<br />

Connected to jdbc:weblogic:oracle:ciscosj<br />

Driver Weblogic, Inc. Java-OCI JDBC Driver (weblogicoci26)<br />

Version 2.5.4<br />

sql = select tablespace_name, floor(sum(bytes)/(1024*1024)) from sys.dba_free_sp<br />

ace where tablespace_name = (select default_tablespace from sys.dba_users where<br />

username = USER) group by tablespace_name<br />

Total free space in CSTB tablespace is 199 MB.<br />

Creating /opt/ciscosecure/utils/sql.scripts/ora_init.sql%<br />

Executing SQL statements..<br />

3-8<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 3<br />

Implementing <strong>Cisco</strong> <strong>AAA</strong> Servers<br />

3.1 Installing <strong>Cisco</strong>Secure for UNIX with Oracle<br />

Note<br />

Process output is omitted at this point because it is not relevant to the installation<br />

task presented in this chapter.<br />

Successfully done.<br />

Initializing RADIUS data in the database........<br />

Loading properties from /opt/ciscosecure/config/CSConfig.ini<br />

Finished loading properties.<br />

Data Source = ORACLE<br />

Driver Type = JDBC-Weblogic-Oracle URL = jdbc:weblogic:oracle:ciscosj username =<br />

csecure password = ********<br />

Connected to jdbc:weblogic:oracle:ciscosj<br />

Driver Weblogic, Inc. Java-OCI JDBC Driver (weblogicoci26)<br />

Version 2.5.4<br />

Radius data version: 23<br />

Adding SERVER_LIST<br />

Adding DICTIONARY_LIST<br />

Adding SERVER.172.23.25.41<br />

Adding DICTIONARY.IETF<br />

Adding DICTIONARY.<strong>Cisco</strong><br />

Adding DICTIONARY.Ascend<br />

Adding DICTIONARY.<strong>Cisco</strong>11.1<br />

Adding DICTIONARY.<strong>Cisco</strong>11.2<br />

Adding DICTIONARY.<strong>Cisco</strong>11.3<br />

Adding DICTIONARY.Ascend5<br />

No update to dictionary list<br />

Update radius version: INSERT INTO cs_id (id, type) VALUES (?, ?)<br />

Successfully done.<br />

Installation is complete. However, further configuration may be necessary.<br />

For more information on the steps necessary to finish configuration, read<br />

the /opt/ciscosecure/DOCS/README.txt file.<br />

Results of this install are saved in the /tmp/cs_install.log file and in<br />

/opt/ciscosecure/logfiles/cs_install.log.<br />

NOTE: For <strong>AAA</strong> Server tuning, refer to<br />

http://www.cisco.com/univercd/cc/td/doc/product/access/acs_soft/cs_unx/csu23rg/app_b.htm#<br />

xtocid192003<br />

Installation of was successful.<br />

Step 2<br />

Configure CSU logging by editing /etc/syslog.conf to enable <strong>AAA</strong> syslog function:<br />

Enter the following command:<br />

#added by rbrown@cisco.com on 02/28/00<br />

local0.debug<br />

/var/log/csuslog<br />

Note<br />

Do not use whitespace to separate the above statements in /etc/syslog.conf. Use<br />

only tabs.<br />

Step 3<br />

Create /var/log/csuslog file.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

3-9


3.1 Installing <strong>Cisco</strong>Secure for UNIX with Oracle<br />

Chapter 3<br />

Implementing <strong>Cisco</strong> <strong>AAA</strong> Servers<br />

Enter the touch command to create the csulog file.<br />

$touch /var/log/csuslog;chmod 777 csuslog<br />

Step 4<br />

Step 5<br />

Configure the <strong>AAA</strong> server for maximum level debugging.<br />

Modify /opt/ciscosecure/config/CSU.cfg as follows:<br />

NUMBER config_logging_configuration = 0x7fffffff<br />

Restart the <strong>AAA</strong> server.<br />

Enter the following command to restart the <strong>AAA</strong> server:<br />

$/etc/rc0.d/K80<strong>Cisco</strong>Secure<br />

Stopping <strong>Cisco</strong>Secure Processes:<br />

<strong>Cisco</strong>Secure AutoRestart Stopped<br />

Fast Track Server Stopped<br />

Fast Track Admin Program Stopped<br />

Acme Server Stopped<br />

<strong>AAA</strong> Server Stopped<br />

DBServer Stopped<br />

$/etc/rc2.d/S80<strong>Cisco</strong>Secure<br />

Starting <strong>Cisco</strong>Secure Processes:<br />

Fast Track Admin Started<br />

FastTrack Server (Delayed Start)<br />

DBServer Started<br />

<strong>AAA</strong> Server starts in 15 Seconds: 123456789012345<br />

<strong>AAA</strong> Server Started<br />

Acme Server Started<br />

<strong>Cisco</strong> AutoRestart started<br />

Step 6<br />

Restart the syslog daemon.<br />

Enter the follow command to restart the syslog daemon:<br />

$ps -ef |grep syslog<br />

root 150 1 0 Feb 26 ? 0:00 /usr/sbin/syslogd<br />

$kill -HUP 150<br />

3.1.4 Creating and Verifying Basic User Profile<br />

These processes help you to accomplish basic user profile creation and verification:<br />

1. Create user csu_test.<br />

2. Verify user csu_test.<br />

3. Configure the router for basic authentication.<br />

4. Log in to the router and verify user access.<br />

5. Review the <strong>AAA</strong> server log.<br />

3-10<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 3<br />

Implementing <strong>Cisco</strong> <strong>AAA</strong> Servers<br />

3.1 Installing <strong>Cisco</strong>Secure for UNIX with Oracle<br />

Step 1<br />

Create user csu_test.<br />

Enter the following commands to add the user csu_test:<br />

$/opt/ciscosecure/CLI/AddProfile -p 9900 -u csu_test -pw des,ciscorocks<br />

Profile Successfully Added<br />

Step 2<br />

Step 3<br />

Verify user csu_test.<br />

Enter the following commands to verify settings for user csu_test:<br />

$/opt/ciscosecure/CLI/ViewProfile -p 9900 -u csu_test<br />

User Profile Information<br />

user = csu_test{<br />

profile_id = 18<br />

profile_cycle = 1<br />

password = des "********"<br />

}<br />

Configure the router for basic authentication.<br />

Log in to the router and include the following commands:<br />

aaa new-model<br />

aaa authentication login default group tacacs+ local<br />

tacacs-server host 172.22.53.201 key ciscorules<br />

Step 4<br />

Step 5<br />

Log in to the router and verify user access.<br />

Enter the user name and password:<br />

Username:csu_test<br />

Password:<br />

Review the <strong>AAA</strong> server log.<br />

Enter the tail command to assess the csulog file:<br />

Note<br />

This CSU log fragment illustrates user csu_test being authenticated and permitted<br />

privilege level 15 access.<br />

$tail -f /var/log/csuslog<br />

Feb 29 16:52:28 CSUserver last message repeated 20 times1<br />

Feb 29 16:52:30 CSUserver <strong>Cisco</strong>Secure: DEBUG - ACCOUNTING request (55d45ae8)<br />

Feb 29 16:52:30 CSUserver <strong>Cisco</strong>Secure: DEBUG - acct_token_cache_session_add_del: user:<br />

csu_test<br />

Feb 29 16:52:30 CSUserver <strong>Cisco</strong>Secure: DEBUG - acct_token_cache_session_add_del: user:<br />

csu_test<br />

Feb 29 16:52:30 CSUserver <strong>Cisco</strong>Secure: DEBUG - AUTHENTICATION START request (8f414e3e)<br />

Feb 29 16:52:30 CSUserver <strong>Cisco</strong>Secure: DEBUG -<br />

Feb 29 16:52:30 CSUserver User Access Verification<br />

Feb 29 16:52:30 CSUserver <strong>Cisco</strong>Secure: DEBUG - Username:<br />

Feb 29 16:52:31 CSUserver <strong>Cisco</strong>Secure: WARNING - No swap files/partitions allocated<br />

Feb 29 16:52:33 CSUserver <strong>Cisco</strong>Secure: DEBUG - AUTHENTICATION CONTINUE request (8f414e3e)<br />

Feb 29 16:52:33 CSUserver <strong>Cisco</strong>Secure: DEBUG - Password:<br />

Feb 29 16:52:35 CSUserver <strong>Cisco</strong>Secure: DEBUG - AUTHENTICATION CONTINUE request (8f414e3e)<br />

Feb 29 16:52:35 CSUserver <strong>Cisco</strong>Secure: DEBUG - Authentication - LOGIN successful;[NAS =<br />

coe-ccie-35.cisco.com, Port = tty2, User = csu_test, Priv = 15]<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

3-11


3.1 Installing <strong>Cisco</strong>Secure for UNIX with Oracle<br />

Chapter 3<br />

Implementing <strong>Cisco</strong> <strong>AAA</strong> Servers<br />

3-12<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


CHAPTER<br />

4<br />

Implementing the Server-Based <strong>AAA</strong> Subsystem<br />

This chapter focuses on the following server-based <strong>AAA</strong> implementation topics:<br />

• 4.1 Implementing Server-Based TACACS+ Dialup Authentication<br />

• 4.2 Implementing Server-Based TACACS+ Dialup Authorization<br />

• 4.3 Implementing Server-Based RADIUS Dialup Authentication<br />

• 4.4 Implementing Server-Based RADIUS Dialup Authorization<br />

• 4.5 Implementing Server-Based TACACS+ Router Authentication<br />

• 4.6 Implementing Server-Based TACACS+ Router Authorization<br />

Caution<br />

The example configuration fragments used throughout this chapter include IP addresses,<br />

passwords, authentication keys, and other variables that are specific to this case study. If<br />

you use these fragments as foundations for you own configurations, be sure that your<br />

specifications apply to your environment.<br />

Note<br />

See Chapter 2, “Implementing the Local <strong>AAA</strong> Subsystem,” for specifics of local <strong>AAA</strong><br />

implementation. See “1.1 <strong>AAA</strong>Technology Summary,” in Chapter 1 for brief definitions<br />

of authentication, authorization, and accounting as they relate to <strong>AAA</strong> security<br />

implementation.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

4-1


4.1 Implementing Server-Based TACACS+ Dialup Authentication<br />

Chapter 4<br />

Implementing the Server-Based <strong>AAA</strong> Subsystem<br />

Figure 4-1 provides the general scenario this case study is built around and illustrates the server-based<br />

<strong>AAA</strong> components, including a <strong>AAA</strong> server and its associated <strong>AAA</strong> database.<br />

Figure 4-1<br />

Basic <strong>AAA</strong> <strong>Case</strong> <strong>Study</strong> Environment<br />

Network element<br />

management server<br />

(NTP, Syslog, SNMP)<br />

Oracle dB server<br />

Analog lines<br />

PSTN<br />

PRI lines<br />

<strong>AAA</strong><br />

server<br />

Clients<br />

Modems<br />

<strong>Cisco</strong> AS5x00<br />

with integrated<br />

modems<br />

IP intranet<br />

DNS<br />

server<br />

Default<br />

gateway<br />

Internet<br />

firewall<br />

Internet<br />

35089<br />

4.1 Implementing Server-Based TACACS+ Dialup<br />

Authentication<br />

The following section focuses on server-based dialup authentication configuration. In this context,<br />

server-based refers to actions dependent upon an external <strong>AAA</strong> server. These actions are described in<br />

a series of general steps along with related commands, server configurations, and diagnostic steps as<br />

appropriate. Figure 4-2 illustrates a simplified TACACS+ server-based dial environment.<br />

Figure 4-2<br />

Server-Based Dial Environment (TACACS+)<br />

Server-based<br />

dial access<br />

Modem<br />

PSTN<br />

IP<br />

<strong>AAA</strong> server<br />

35051<br />

4-2<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 4<br />

Implementing the Server-Based <strong>AAA</strong> Subsystem<br />

4.1 Implementing Server-Based TACACS+ Dialup Authentication<br />

These steps help you to accomplish the following tasks:<br />

1. Configure TACACS+ server-based authentication on NAS.<br />

2. Configure a user profile in the database.<br />

3. Verify the <strong>AAA</strong> server-based user configuration.<br />

4. Verify and troubleshoot authentication from the <strong>AAA</strong> server.<br />

5. Verify and troubleshoot PPP authentication from the NAS.<br />

Step 1<br />

Configure TACACS+ server-based authentication on NAS.<br />

Include the following <strong>Cisco</strong> IOS configuration commands in your configuration to enforce server-based<br />

dial access authentication control with TACACS+:<br />

aaa new-model<br />

aaa authentication login default group tacacs+<br />

aaa authentication ppp default if-needed group tacacs+<br />

!<br />

tacacs-server host 172.22.53.101 key ciscorules<br />

Note See “A.3 NAS <strong>AAA</strong> Command <strong>Implementation</strong> Descriptions” in Appendix A,<br />

“<strong>AAA</strong> Device Configuration Listings” for notes regarding key <strong>Cisco</strong> IOS <strong>AAA</strong><br />

commands.<br />

Step 2<br />

Configure a user profile in the database.<br />

Create a user in the <strong>AAA</strong> server by entering the following AddProfile command:<br />

$/opt/ciscosecure/CLI/AddProfile -p 9900 -u tac_dial -pw pap,ciscorules –a<br />

'service=ppp{\n protocol=ip{\n set addr-pool=default \n set inacl=110 \n}\n protocol=lcp<br />

{\n }\n }\n’<br />

Caution<br />

Step 3<br />

When entering AddProfile to create users or groups, it is possible to successfully create<br />

users or groups that have invalid database parameters that result in profile errors viewable<br />

in /var/log/csuslog.<br />

Verify the <strong>AAA</strong> server-based user configuration.<br />

Enter this server command to view the <strong>AAA</strong> server-based user configuration:<br />

$/opt/ciscosecure/CLI/ViewProfile -p 9900 -u tac_dial<br />

user = tac_dial{<br />

profile_id = 23<br />

profile_cycle = 1<br />

password = pap "********"<br />

service=ppp {<br />

protocol=ip {<br />

set addr-pool=default<br />

set inacl=110<br />

}<br />

protocol=lcp {<br />

}<br />

}<br />

}<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

4-3


4.2 Implementing Server-Based TACACS+ Dialup Authorization<br />

Chapter 4<br />

Implementing the Server-Based <strong>AAA</strong> Subsystem<br />

Step 4<br />

Verify and troubleshoot authentication from the <strong>AAA</strong> server.<br />

Enter the tail command:.<br />

$tail -f /var/log/csuslog<br />

Note<br />

See “C.1 Server-BasedTACACS+ Dialup Authentication Diagnostics” for a<br />

description of relevant diagnostic output.<br />

Step 5<br />

Verify and troubleshoot PPP authentication from the NAS.<br />

Enter the debug aaa authentication and debug ppp authentication commands to confirm<br />

authentication from the NAS perspective.<br />

Note<br />

See “C.1 Server-BasedTACACS+ Dialup Authentication Diagnostics” for<br />

relevant diagnostic output.<br />

4.2 Implementing Server-Based TACACS+ Dialup Authorization<br />

This section focuses on implementing of server-based dialup authorization and presents applicable<br />

configuration segments, server commands and file listings, and diagnostic steps.<br />

These steps help you to accomplish the following tasks:<br />

1. Configure TACACS+ server-based authorization on the NAS.<br />

2. Configure a user profile in the database.<br />

3. Verify the <strong>AAA</strong> server-based user configuration.<br />

4. Verify and troubleshoot a shell-initiated PPP session authorization from the <strong>AAA</strong> server.<br />

5. Verify and troubleshoot shell-initiated PPP authorization on the NAS.<br />

Step 1<br />

Configure TACACS+ server-based authorization on the NAS.<br />

Include the following <strong>Cisco</strong> IOS configuration commands in your configuration to enforce server-based<br />

dial access authorization with TACACS+:<br />

aaa new-model<br />

aaa authentication login default group tacacs+<br />

aaa authentication ppp default if-needed group tacacs+<br />

aaa authorization exec default group tacacs+ if-authenticated<br />

aaa authorization network default group tacacs+ if-authenticated<br />

!<br />

tacacs-server host x.x.x.x key ciscorules<br />

Note See “A.3 NAS <strong>AAA</strong> Command <strong>Implementation</strong> Descriptions” in Appendix A,<br />

“<strong>AAA</strong> Device Configuration Listings” for notes regarding key <strong>Cisco</strong> IOS <strong>AAA</strong><br />

commands.<br />

4-4<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 4<br />

Implementing the Server-Based <strong>AAA</strong> Subsystem<br />

4.2 Implementing Server-Based TACACS+ Dialup Authorization<br />

Step 2<br />

Configure a user profile in the database.<br />

Create a user in the <strong>AAA</strong> server by entering the following AddProfile command:<br />

$/opt/ciscosecure/CLI/AddProfile -p 9900 -u dialtest -pw des,ciscorules –pw<br />

pap,ciscorules –a 'service=shell{\ndefault cmd=permit\n}\nservice=ppp{\n protocol=ip{\n<br />

set addr-pool=default \n set inacl=110 \n}\n protocol=lcp {\n }\n }\n’<br />

Step 3<br />

Verify the <strong>AAA</strong> server-based user configuration.<br />

Enter this UNIX server command to view the <strong>AAA</strong> server-based user configuration:<br />

$/opt/ciscosecure/CLI/ViewProfile -p 9900 -u dialtest<br />

An example of a ViewProfile output of the user profile looks like this:<br />

User Profile Information<br />

user = dialtest{<br />

profile_id = 25<br />

profile_cycle = 1<br />

password = pap "********"<br />

service=shell {<br />

default_cmd=permit<br />

}<br />

service=ppp {<br />

protocol=ip {<br />

set addr-pool=default<br />

set inacl=110<br />

}<br />

protocol=lcp {<br />

}<br />

}<br />

}<br />

Step 4<br />

Verify and troubleshoot a shell-initiated PPP session authorization from the <strong>AAA</strong> server.<br />

Enter the following UNIX server command to confirm that the authorization is operating correctly:<br />

$tail -f /var/log/csuslog<br />

Note<br />

See “C.2 Server-BasedTACACS+ Dialup Authorization Diagnostics.”<br />

Step 5<br />

Verify and troubleshoot shell-initiated PPP authorization on the NAS.<br />

Enter the debug aaa authorization command to verify server-based authorization is operating correctly<br />

for dial access.<br />

Note<br />

See “C.2 Server-BasedTACACS+ Dialup Authorization Diagnostics.”<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

4-5


4.3 Implementing Server-Based RADIUS Dialup Authentication<br />

Chapter 4<br />

Implementing the Server-Based <strong>AAA</strong> Subsystem<br />

4.3 Implementing Server-Based RADIUS Dialup Authentication<br />

This section focuses on the configuration of server-based, RADIUS dialup authentication configuration.<br />

In this context, server-based refers to actions that depend on an external <strong>AAA</strong> server. Figur e4-3<br />

illustrates a simplified server-based dial environment.<br />

These steps help you to accomplish the following tasks:<br />

1. Configure RADIUS server-based authentication on access server.<br />

2. Configure a user profile in the database.<br />

3. Verify the <strong>AAA</strong> server-based user configuration.<br />

4. Enter the debug aaa authentication and debug ppp authorization commands to confirm<br />

authentication from NAS perspective.<br />

Figure 4-3<br />

Server-Based Dial Environment (RADIUS)<br />

Server-based<br />

dial access<br />

Modem<br />

PSTN<br />

IP<br />

<strong>AAA</strong> server<br />

35051<br />

4-6<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 4<br />

Implementing the Server-Based <strong>AAA</strong> Subsystem<br />

4.3 Implementing Server-Based RADIUS Dialup Authentication<br />

Step 1<br />

Configure RADIUS server-based authentication on access server.<br />

Include the following <strong>Cisco</strong> IOS configuration commands in your configuration to enforce server-based<br />

dial access authentication control with RADIUS:<br />

aaa new-model<br />

aaa authentication login default group radius<br />

aaa authentication ppp default if-needed group radius<br />

!<br />

interface Group-Async1<br />

ip unnumbered Loopback0<br />

no ip directed-broadcast<br />

encapsulation ppp<br />

ip tcp header-compression passive<br />

no logging event link-status<br />

dialer in-band<br />

dialer idle-timeout 900<br />

async mode interactive<br />

no snmp trap link-status<br />

peer default ip address pool default<br />

no fair-queue<br />

no cdp enable<br />

ppp max-bad-auth 3<br />

ppp authentication pap chap<br />

group-range 1 48<br />

!<br />

line 1 48<br />

exec-timeout 48 0<br />

autoselect during-login<br />

autoselect ppp<br />

absolute-timeout 240<br />

modem InOut<br />

modem autoconfigure type mica<br />

transport preferred telnet<br />

transport input all<br />

transport output lat pad telnet rlogin udptn v120 lapb-ta<br />

radius-server host 172.22.53.201 auth-port 1645 acct-port 1646 key ciscorules<br />

Note See “A.3 NAS <strong>AAA</strong> Command <strong>Implementation</strong> Descriptions” in Appendix A,<br />

“<strong>AAA</strong> Device Configuration Listings” for notes regarding key <strong>Cisco</strong> IOS <strong>AAA</strong><br />

commands.<br />

Step 2<br />

Configure a user profile in the database.<br />

a. Create a RADIUS NAS configuration by entering the following AddProfile command:<br />

$/opt/ciscosecure/CLI/AddProfile -p 9900 -u NAS.172.22.53.105 -a<br />

'NASName="172.22.53.105"\nSharedSecret="ciscorules"\nRadiusVendor="<strong>Cisco</strong>"\nDictionary<br />

="DICTIONARY.<strong>Cisco</strong>"\n }\n'<br />

b. Create a user in the <strong>AAA</strong> server by entering the following AddProfile command:<br />

$/opt/ciscosecure/CLI/AddProfile -p 9900 -u rad_dial -pw pap,ciscorules<br />

-a 'radius=<strong>Cisco</strong>{\n reply_attributes={\n 6=2 \n 7=1 \n}\n}\n'<br />

Description of attributes specified in AddProfile configuration:<br />

– 6=2 (meaning Framed-Protocol=ppp)<br />

– 7=1 [meaning User-Service-Type (Framed-User)]<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

4-7


4.4 Implementing Server-Based RADIUS Dialup Authorization<br />

Chapter 4<br />

Implementing the Server-Based <strong>AAA</strong> Subsystem<br />

Step 3<br />

Verify the <strong>AAA</strong> server-based user configuration.<br />

a. Enter this server command to view the <strong>AAA</strong> server-based NAS configuration:<br />

$/opt/ciscosecure/CLI/ViewProfile -p 9900 -u NAS.172.22.53.105<br />

User Profile Information<br />

user = NAS.172.22.53.105{<br />

profile_id = 76<br />

profile_cycle = 1<br />

NASName="172.22.53.105" {<br />

SharedSecret="ciscorules"<br />

RadiusVendor="<strong>Cisco</strong>"<br />

Dictionary="DICTIONARY.<strong>Cisco</strong>"<br />

}<br />

}<br />

b. Enter this command to verify the <strong>AAA</strong> server user configuration:<br />

$/opt/ciscosecure/CLI/ViewProfile -p 9900 -u rad_dial<br />

User Profile Information<br />

user = rad_dial{<br />

profile_id = 62<br />

profile_cycle = 1<br />

password = pap "********"<br />

radius=<strong>Cisco</strong> {<br />

reply_attributes= {<br />

6=2<br />

7=1<br />

}<br />

}<br />

}<br />

Step 4<br />

Enter the debug aaa authentication and debug ppp authorization commands to confirm<br />

authentication from NAS perspective.<br />

Note<br />

See “C.3 Server-Based RADIUS Dialup Authentication Diagnostics.”<br />

4.4 Implementing Server-Based RADIUS Dialup Authorization<br />

These steps help you to accomplish the following tasks:<br />

1. Configure RADIUS server-based authorization on the NAS.<br />

2. Configure a user profile in the database.<br />

3. Verify the <strong>AAA</strong> server-based user configuration.<br />

4. Verify and troubleshoot RADIUS network authorization on the NAS.<br />

5. Verify that access-list 110 is assigned to user rad_dial with the show caller user command.<br />

4-8<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 4<br />

Implementing the Server-Based <strong>AAA</strong> Subsystem<br />

4.4 Implementing Server-Based RADIUS Dialup Authorization<br />

Step 1<br />

Configure RADIUS server-based authorization on the NAS.<br />

Include the following <strong>Cisco</strong> IOS configuration commands in your configuration to enforce RADIUS<br />

authorization assigning access-list 110 to the user, rad_dial:<br />

aaa new-model<br />

aaa authentication login default group radius<br />

aaa authentication ppp default if-needed group radius<br />

aaa authorization exec default group radius<br />

aaa authorization network default group radius if-authenticated<br />

!<br />

radius-server host 172.22.53.201 auth-port 1645 acct-port 1646 key ciscorules<br />

!<br />

access-list 110 permit tcp any any eq telnet<br />

access-list 110 permit tcp any any eq ftp<br />

access-list 110 permit tcp any any eq ftp-data<br />

access-list 110 deny tcp any any<br />

Note See “A.3 NAS <strong>AAA</strong> Command <strong>Implementation</strong> Descriptions” in Appendix A,<br />

“<strong>AAA</strong> Device Configuration Listings” for notes regarding key <strong>Cisco</strong> IOS <strong>AAA</strong><br />

commands.<br />

Step 2<br />

Step 3<br />

Configure a user profile in the database.<br />

Create a user in the <strong>AAA</strong> server by entering the following AddProfile command:<br />

$/opt/ciscosecure/CLI/AddProfile -p 9900 -u rad_dial -pw pap,ciscorules -a<br />

'radius=<strong>Cisco</strong>{\n reply_attributes={\n 6=2 \n 7=1 \n 9,1="ip:inacl=110"}\n}\n'<br />

Verify the <strong>AAA</strong> server-based user configuration.<br />

Enter the following command:<br />

$/opt/ciscosecure/CLI/ViewProfile -p 9900 -u rad_dial<br />

User Profile Information<br />

user = rad_dial{<br />

profile_id = 62<br />

profile_cycle = 1<br />

password = pap "********"<br />

radius=<strong>Cisco</strong> {<br />

reply_attributes= {<br />

6=2<br />

7=1<br />

9,1="ip:inacl=110"<br />

}<br />

}<br />

}<br />

Note<br />

The <strong>Cisco</strong> AVP inacl=110 is included to enable an input access-list.<br />

Step 4<br />

Verify and troubleshoot RADIUS network authorization on the NAS.<br />

Enter the debug aaa authorization command to verify dial access server-based authorization is<br />

operating correctly for dial access.<br />

Note<br />

See “C.4 Server-Based RADIUS Dialup Authorization Diagnostics.”<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

4-9


4.5 Implementing Server-Based TACACS+ Router Authentication<br />

Chapter 4<br />

Implementing the Server-Based <strong>AAA</strong> Subsystem<br />

Step 5<br />

Verify that access-list 110 is assigned to user rad_dial with the show caller user command.<br />

Note<br />

See “C.4 Server-Based RADIUS Dialup Authorization Diagnostics.”<br />

4.5 Implementing Server-Based TACACS+ Router<br />

Authentication<br />

This section focuses on how to configure and verify TACACS+ <strong>Cisco</strong> IOS authentication by using a<br />

router and a <strong>AAA</strong> server. Figure 4-4 illustrates a simplified server-based VTY-access environment for<br />

arouter.<br />

These steps help you to accomplish the following tasks:<br />

1. Configure TACACS+ server-based authentication on the router.<br />

2. Configure and verify the group rtr_basic:<br />

3. Create the member rtr_test and assign this user to group rtr_basic.<br />

4. Verify user rtr_test.<br />

5. Log in to the router and verify proper authentication.<br />

Figure 4-4<br />

Server-Based VTY Access (Telnet)<br />

Server-based<br />

VTY access (Telnet)<br />

IP<br />

<strong>AAA</strong> server<br />

35050<br />

4-10<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 4<br />

Implementing the Server-Based <strong>AAA</strong> Subsystem<br />

4.5 Implementing Server-Based TACACS+ Router Authentication<br />

Step 1<br />

Configure TACACS+ server-based authentication on the router.<br />

Include the following <strong>Cisco</strong> IOS configuration commands in your configuration to enforce <strong>AAA</strong><br />

server-based command authorization on a router (excluding the console port):<br />

aaa new-model<br />

aaa authentication login default group tacacs+<br />

aaa authentication login NO_AUTHENT none<br />

!<br />

ip http server<br />

ip http authentication aaa<br />

ip tacacs source-interface Loopback0<br />

!<br />

tacacs-server host 172.22.53.201 key ciscorules<br />

!<br />

line con 0<br />

login authentication NO_AUTHENT<br />

Note See “A.2 Router <strong>AAA</strong> Command <strong>Implementation</strong> Descriptions” in Appendix A,<br />

“<strong>AAA</strong> Device Configuration Listings” for notes regarding key <strong>Cisco</strong> IOS <strong>AAA</strong><br />

commands.<br />

Step 2<br />

Configure and verify the group rtr_basic:<br />

a. Create the group rtr_basic by entering the following AddProfile command:<br />

$/opt/ciscosecure/CLI/AddProfile -p 9900 -g rtr_basic -a<br />

'service=shell{\ndefault cmd=deny\n}\n'<br />

Profile Successfully Added<br />

b. Verify the group rtr_basic by entering the ViewProfile command<br />

$/opt/ciscosecure/CLI/ViewProfile -p 9900 -g rtr_basic<br />

Group Profile Information<br />

group = rtr_low{<br />

profile_id = 66<br />

profile_cycle = 1<br />

service=shell {<br />

default cmd=deny<br />

}<br />

Step 3<br />

}<br />

Create the member rtr_test and assign this user to group rtr_basic.<br />

Enter the following command:<br />

$/opt/ciscosecure/CLI/AddProfile -p 9900 -u rtr_test -pw des,ciscorules -pr<br />

rtr_basic<br />

Profile Successfully Added<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

4-11


4.5 Implementing Server-Based TACACS+ Router Authentication<br />

Chapter 4<br />

Implementing the Server-Based <strong>AAA</strong> Subsystem<br />

Step 4<br />

Step 5<br />

Verify user rtr_test.<br />

Enter the following command:<br />

$/opt/ciscosecure/CLI/ViewProfile -p 9900 -u rtr_test<br />

User Profile Information<br />

user = rtr_test{<br />

profile_id = 66<br />

profile_cycle = 1<br />

member = rtr_basic<br />

password = des "********"<br />

}<br />

Log in to the router and verify proper authentication.<br />

Enter the login command to access the router command interface and monitor the output of debug aaa<br />

authentication from a separate shell session. Monitor the output of the <strong>AAA</strong> server by consulting the<br />

csuslog file using the tail command.<br />

Note<br />

See “C.5 Server-BasedTACACS+ Router Authentication Diagnostics.”<br />

4-12<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 4<br />

Implementing the Server-Based <strong>AAA</strong> Subsystem<br />

4.6 Implementing Server-Based TACACS+ Router Authorization<br />

4.6 Implementing Server-Based TACACS+ Router Authorization<br />

The following examples, including authorization-related IOS command listings and <strong>AAA</strong> server<br />

profiles, illustrate how to define administrative control over <strong>Cisco</strong> routers. Three administrative groups<br />

are created with low (rtr_low), medium (rtr_tech),andhigh(rtr_super) access. The default_cmd AVP<br />

(defined in the <strong>AAA</strong> server profile) is used to control access to privilege level 15 commands. Inthis<br />

case, privilege level 15 is the highest level of command access privilege allowed and is reserved for<br />

super users or network managers. Table 4-1 compares the <strong>Cisco</strong> IOS command permissions associated<br />

with each of the administrative groups defined in this section.<br />

Table 4-1<br />

Group Profile Command Summary<br />

Group<br />

<strong>Cisco</strong> IOS Command rtr_super rtr_tech rtr_low<br />

debug all Denied Denied Denied<br />

debug * Permitted Permitted Denied<br />

clear * Permitted Permitted Denied<br />

reload Permitted Denied Denied<br />

show running-config<br />

Permitted Denied Denied<br />

write terminal<br />

copy running-config startup-config<br />

Permitted Permitted Denied<br />

write memory<br />

configure terminal Permitted Denied Denied<br />

Figure 4-5 provides a flowchart that depicts <strong>AAA</strong> server-based authentication and authorization<br />

between a router and an <strong>AAA</strong> server. Troubleshooting and verifying is divided into three stages:<br />

authentication, EXEC authorization and command authorization. Each stage is accompanied by<br />

information particular to that stage:<br />

• <strong>Cisco</strong> IOS Configuration Fragments (on left)<br />

• Troubleshooting and verification methods for the router and <strong>AAA</strong> server (on right)<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

4-13


4.6 Implementing Server-Based TACACS+ Router Authorization<br />

Chapter 4<br />

Implementing the Server-Based <strong>AAA</strong> Subsystem<br />

Figure 4-5<br />

TACACS+ Authentication and Authorization Verification Methodology<br />

<strong>Cisco</strong> IOS Client Decision Flow Troubleshoot/Verify<br />

Authentication<br />

Router user<br />

requests login<br />

to TACACS+ server.<br />

aaa new-model<br />

aaa authentication login default group tacacs+<br />

tacacs-server host ip-address key secret-key<br />

Did<br />

authentication<br />

succeed?<br />

Yes<br />

No<br />

From <strong>Cisco</strong> IOS Client<br />

debug aaa authentication<br />

From <strong>AAA</strong> Server<br />

tail -f /var/log/csuslog<br />

Verify user<br />

user=rtr_geek<br />

password=des<br />

EXEC Authorization<br />

<strong>AAA</strong> authorization<br />

begins (EXEC)<br />

aaa authorization exec default group<br />

tacacs+ if-authenticated<br />

Did<br />

authorization<br />

succeed?<br />

No<br />

From <strong>Cisco</strong> IOS Client<br />

debug aaa authorization<br />

From <strong>AAA</strong> Server<br />

tail -f /var/log/csuslog<br />

Verify user or group<br />

service=shell<br />

Yes<br />

Command Authorization<br />

<strong>AAA</strong> authorization<br />

command begins<br />

(command)<br />

aaa authorization commands 15 default<br />

tacacs+ if-authenticated<br />

Did<br />

authorization<br />

succeed?<br />

Yes<br />

<strong>AAA</strong> accounting<br />

begins<br />

No<br />

From <strong>Cisco</strong> IOS Client<br />

debug aaa authorization<br />

From <strong>AAA</strong> Server<br />

tail -f /var/log/csuslog<br />

Verify user or group<br />

default_cmd=permit<br />

or priv_lvl=15<br />

or cmd=permit<br />

35076<br />

These steps help you to accomplish the following tasks:<br />

1. Configure TACACS+ server-based authorization from the console port on the router.<br />

2. Configure, verify, and test operation of the <strong>AAA</strong> server group rtr_low.<br />

3. Configure, verify, and test operation of the <strong>AAA</strong> server group rtr_tech.<br />

4. Configure, verify, and test operation of <strong>AAA</strong> server Group rtr_super.<br />

4-14<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 4<br />

Implementing the Server-Based <strong>AAA</strong> Subsystem<br />

4.6 Implementing Server-Based TACACS+ Router Authorization<br />

Note<br />

Some versions of boot ROMs do not recognize all <strong>AAA</strong> commands. Be sure to<br />

disable <strong>AAA</strong> authentication and authorization before changing to boot ROM<br />

mode. For configuration notes regarding disabling <strong>AAA</strong> to access boot ROM<br />

mode, see Appendix B, “<strong>AAA</strong> Impact on Maintenance Tasks.”<br />

Step 1<br />

Configure TACACS+ server-based authorization from the console port on the router.<br />

Include the following <strong>Cisco</strong> IOS configuration commands in your configuration to enforce router-based<br />

security with TACACS+:<br />

aaa new-model<br />

aaa authentication login default group tacacs+<br />

aaa authentication login NO_AUTHENT none<br />

aaa authorization commands 15 NO_AUTHOR none<br />

aaa authorization exec default group tacacs+<br />

aaa authorization exec NO_AUTHOR none<br />

aaa authorization commands 15 default group tacacs+<br />

!<br />

ip http server<br />

ip http authentication aaa<br />

ip tacacs source-interface Loopback0<br />

!<br />

tacacs-server host 172.22.53.201 key ciscorules<br />

!<br />

line con 0<br />

authorization commands 15 NO_AUTHOR<br />

authorization exec NO_AUTHOR<br />

login authentication NO_AUTHENT<br />

Note See “A.2 Router <strong>AAA</strong> Command <strong>Implementation</strong> Descriptions” in Appendix A,<br />

“<strong>AAA</strong> Device Configuration Listings” for notes regarding key <strong>Cisco</strong> IOS <strong>AAA</strong><br />

commands.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

4-15


4.6 Implementing Server-Based TACACS+ Router Authorization<br />

Chapter 4<br />

Implementing the Server-Based <strong>AAA</strong> Subsystem<br />

Step 2<br />

Configure, verify, and test operation of the <strong>AAA</strong> server group rtr_low.<br />

The following steps illustrate configuring, verifying, and testing group rtr_low for compliance with the<br />

requirements specified inTabl e4-1:<br />

a. Create the group rtr_low.<br />

Enter the following command:<br />

$/opt/ciscosecure/CLI/AddProfile -p 9900 -g rtr_low -a<br />

'service=shell{\ndefault cmd=deny\n}\n'<br />

Profile Successfully Added<br />

b. Verify the group rtr_low.<br />

Enter the following command:<br />

$/opt/ciscosecure/CLI/ViewProfile -p 9900 -g rtr_low<br />

Group Profile Information<br />

group = rtr_low{<br />

profile_id = 66<br />

profile_cycle = 1<br />

service=shell {<br />

default cmd=deny<br />

}<br />

}<br />

c. Create the member rtr_dweeb and assign this user to group rtr_low.<br />

Enter the following command:<br />

$/opt/ciscosecure/CLI/AddProfile -p 9900 -u rtr_dweeb -pr rtr_low -pw<br />

des,ciscorules<br />

Profile Successfully Added<br />

d. Verify the user rtr_dweeb.<br />

Enter the following command:<br />

$/opt/ciscosecure/CLI/ViewProfile -p 9900 -u rtr_dweeb<br />

User Profile Information<br />

user = rtr_dweeb{<br />

profile_id = 66<br />

profile_cycle = 1<br />

member = rtr_low<br />

password = des "********"<br />

}<br />

e. Test the <strong>Cisco</strong> IOS commands for the user rtr_dweeb (see Table 4-1), with these actions:<br />

– Simultaneously monitor the output of debug aaa authorization from a console shell session<br />

and the <strong>AAA</strong> server csuslog file.<br />

– Log in to the router by using a new terminal window with the rtr_dweeb account and enter the<br />

commands shown inTabl e4-1.<br />

– From the <strong>AAA</strong> server, enter the following command to obtain the matching csuslog content:<br />

$tail -f /var/log/csuslog<br />

Note<br />

See “C.6 Server-BasedTACACS+ Router Authorization Diagnostics.”<br />

4-16<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 4<br />

Implementing the Server-Based <strong>AAA</strong> Subsystem<br />

4.6 Implementing Server-Based TACACS+ Router Authorization<br />

Step 3<br />

Configure, verify, and test operation of the <strong>AAA</strong> server group rtr_tech.<br />

The following tasks illustrate configuring, verifying, and testing group rtr_tech for compliance with the<br />

requirements specified inTabl e4-1:<br />

a. Create the group rtr_tech.<br />

Enter the following command:<br />

$/opt/ciscosecure/CLI/AddProfile -p 9900 -g rtr_tech -a 'service=shell<br />

{\ndefault cmd=permit\ncmd=debug {\ndeny all\npermit .*\n}\ncmd=reload{\ndeny<br />

all\n}\ncmd=configure{\ndeny .*}\n}\n'<br />

b. Verify the group rtr_tech.<br />

Enter the following command:<br />

$/opt/ciscosecure/CLI/ViewProfile -p 9900 -g rtr_tech<br />

Group Profile Information<br />

group = rtr_tech{<br />

profile_id = 47<br />

profile_cycle = 1<br />

service=shell {<br />

default cmd=permit<br />

cmd=debug {<br />

deny all<br />

permit .*<br />

}<br />

cmd=reload {<br />

deny all<br />

}<br />

cmd=configure {<br />

deny .*<br />

}<br />

}<br />

}<br />

c. Create the member rtr_techie and assign this user to group rtr_tech.<br />

Enter the following command:<br />

$/opt/ciscosecure/CLI/AddProfile -p 9900 -u rtr_techie -pr rtr_tech -pw<br />

des,ciscorules<br />

Profile Successfully Added<br />

d. Verify the user rtr_techie.<br />

Enter the following command:<br />

$/opt/ciscosecure/CLI/ViewProfile -p 9900 -u rtr_techie<br />

User Profile Information<br />

user = rtr_techie{<br />

profile_id = 39<br />

profile_cycle = 1<br />

member = rtr_tech<br />

password = des "********"<br />

}<br />

e. Test the <strong>Cisco</strong> IOS commands for the user rtr_techie (see Table 4-1) with these actions:<br />

– Simultaneously monitor the output of debug aaa authorization from a console shell session<br />

and the <strong>AAA</strong> server csuslog file.<br />

– Log in to the router by using a new terminal window with the rtr_techie account and enter the<br />

commands shown inTabl e4-1.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

4-17


4.6 Implementing Server-Based TACACS+ Router Authorization<br />

Chapter 4<br />

Implementing the Server-Based <strong>AAA</strong> Subsystem<br />

– From the <strong>AAA</strong> server, enter the following command to obtain the matching csuslog content:<br />

$tail -f /var/log/csuslog<br />

Note<br />

See “C.6 Server-BasedTACACS+ Router Authorization Diagnostics.”<br />

Step 4<br />

Configure, verify, and test operation of <strong>AAA</strong> server Group rtr_super.<br />

The following tasks illustrate configuring, verifying, and testing group rtr_super for compliance with<br />

the requirements specified inTabl e4-1:<br />

a. Create the group rtr_super.<br />

Enter the following command:<br />

$/opt/ciscosecure/CLI/AddProfile -p 9900 -g rtr_super -a 'service=shell<br />

{\ndefault cmd=permit\ncmd=debug {\ndeny all\npermit .*\n}\n}\n'<br />

Profile Successfully Added<br />

b. Verify the group rtr_super.<br />

Enter the following command:<br />

$/opt/ciscosecure/CLI/ViewProfile -p 9900 -g rtr_super<br />

Group Profile Information<br />

group = rtr_super{<br />

profile_id = 40<br />

profile_cycle = 1<br />

service=shell {<br />

default cmd=permit<br />

cmd=debug {<br />

deny all<br />

permit .*<br />

}<br />

}<br />

}<br />

c. Create the member rtr_geek and assign this user to group rtr_super.<br />

Enter the following command:<br />

$/opt/ciscosecure/CLI/AddProfile -p 9900 -u rtr_geek -pr rtr_super -pw<br />

des,ciscorules<br />

Profile Successfully<br />

d. Verify the user rtr_geek.<br />

Enter the following command:<br />

$/opt/ciscosecure/CLI/ViewProfile -p 9900 -u rtr_geek<br />

User Profile Information<br />

user = rtr_geek{<br />

profile_id = 45<br />

profile_cycle = 1<br />

member = rtr_super<br />

password = des "********"<br />

}<br />

e. Test the <strong>Cisco</strong> IOS commands for the user rtr_geek (see Table 4-1) with these commands:<br />

– Simultaneously monitor the output of debug aaa authorization from a console shell session<br />

and the <strong>AAA</strong> server csuslog file.<br />

4-18<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 4<br />

Implementing the Server-Based <strong>AAA</strong> Subsystem<br />

4.6 Implementing Server-Based TACACS+ Router Authorization<br />

– Log in to the router by using a new terminal window with the rtr_geek account and enter the<br />

commands shown inTabl e4-1.<br />

– From the <strong>AAA</strong> server, enter the following command to obtain the matching csuslog content:<br />

$tail -f /var/log/csuslog<br />

Note<br />

See “C.6 Server-BasedTACACS+ Router Authorization Diagnostics.”<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

4-19


4.6 Implementing Server-Based TACACS+ Router Authorization<br />

Chapter 4<br />

Implementing the Server-Based <strong>AAA</strong> Subsystem<br />

4-20<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


CHAPTER<br />

5<br />

Implementing Server-Based <strong>AAA</strong> Accounting<br />

This chapter focuses on the following two topics:<br />

• 5.1 Implementing Server-Based TACACS+ Dial Accounting<br />

• 5.2 Implementing Server-Based TACACS+ Router Accounting<br />

Caution<br />

The example configuration fragments used throughout this chapter include IP addresses,<br />

passwords, authentication keys, and other variables that are specific to this case study. If<br />

you use these fragments as foundations for you own configurations, be sure that your<br />

specifications apply to your environment.<br />

Note<br />

See “1.1 <strong>AAA</strong> Technology Summary,” in Chapter 1 for brief definitions of authentication,<br />

authorization, and accounting as they relate to <strong>AAA</strong> security implementation.<br />

5.1 Implementing Server-Based TACACS+ Dial Accounting<br />

The information compiled by the <strong>Cisco</strong> IOS client focuses on the performance of intermediate systems<br />

in terms of <strong>AAA</strong> accounting packet output, disconnect cause codes, elapsed time, packets in/out, and<br />

other useful information. This section addresses configuring server-based TACACS+ accounting on the<br />

<strong>AAA</strong> server and the <strong>Cisco</strong> IOS client or network access server (NAS).<br />

Note<br />

TACACS+ is used for accounting, even though RADIUS is used to support the dialup<br />

clients.<br />

These steps help you to accomplish the following tasks:<br />

1. Configure the server-based TACACS+ dial accounting on the <strong>AAA</strong> server.<br />

2. Configure server-based TACACS+ dial accounting on the NAS.<br />

3. Verify and troubleshoot server-based accounting from the <strong>AAA</strong> server by using an SQL query to<br />

Oracle dB instance.<br />

4. Verify <strong>AAA</strong> accounting from the NAS.<br />

Step 1<br />

Configure the server-based TACACS+ dial accounting on the <strong>AAA</strong> server.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

5-1


5.1 Implementing Server-Based TACACS+ Dial Accounting<br />

Chapter 5<br />

Implementing Server-Based <strong>AAA</strong> Accounting<br />

Include the following configuration line in /opt/ciscosecure/CLI/config/CSU.cfg to enable group<br />

membership accounting:<br />

config_acct_fn_enable = 1<br />

For detailed accounting performance, go to:<br />

http://www.cisco.com/univercd/cc/td/doc/product/access/acs_soft/cs_unx/csu23ug/acctg.htm#xto<br />

cid84517<br />

Step 2<br />

Step 3<br />

Configure server-based TACACS+ dial accounting on the NAS.<br />

Include the following <strong>Cisco</strong> IOS commands in your configuration file to support dialup authentication,<br />

authorization, and accounting.<br />

aaa new-model<br />

aaa authentication login default group radius local<br />

aaa authentication ppp default if-needed group radius local<br />

aaa authorization exec default group radius if-authenticated<br />

aaa accounting exec default stop-only group radius<br />

aaa accounting network default stop-only group radius<br />

Verify and troubleshoot server-based accounting from the <strong>AAA</strong> server by using an SQL query to Oracle<br />

dB instance.<br />

The following examples illustrate the use of SQL query commands to monitor user rad_dial being<br />

disconnected due to idletime configured with the line configuration session-timeout command in the<br />

NAS:<br />

$/export/home/oracle> sqlplus<br />

SQL*Plus: Release 3.3.4.0.1 - Production on Mon Apr 17 17:41:52 2000<br />

Copyright (c) Oracle Corporation 1979, 1996. All rights reserved.<br />

Enter user-name:csecure/csecure@ciscoaus<br />

Connected to:<br />

Oracle7 Server Release 7.3.4.0.1 - Production<br />

PL/SQL Release 2.3.4.0.0 - Production<br />

SQL> select * from cs_accounting_log where blob_data like '%rad_dial%';<br />

LOG_ID BLOB_ORDINAL BLOB_DATA<br />

--------------------------------------------------------------------------------<br />

172.22.87.3 rad_dial Async20 65004 stop server=danvers time=17:36:33<br />

date=04/17/2000 task_id=40 timezone=CST service=ppp protocol=ip<br />

addr=172.22.83.12 disc-cause=4 disc-cause-ext=1021 pre-bytes-in=132<br />

pre-bytes-out=139 pre-paks-in=5 pre-paks-out=7 bytes_i<br />

Note<br />

The disc-cause and disc-cause-ext output both reflect idle timeouts from<br />

Table 5-1 listed in “5.3 <strong>AAA</strong> Disconnect Cause Code Descriptions” in this<br />

chapter.<br />

Step 4<br />

Verify <strong>AAA</strong> accounting from the NAS.<br />

Review and verify user rad_dial disconnecting session from the NAS by using the <strong>Cisco</strong> IOS<br />

show caller user and debug aaa accounting commands.<br />

5-2<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 5<br />

Implementing Server-Based <strong>AAA</strong> Accounting<br />

5.1 Implementing Server-Based TACACS+ Dial Accounting<br />

The following example illustrates local accounting diagnostic output in which user rad_dial is<br />

disconnected because of a line configuration session-timeout command configured in the NAS:<br />

Note<br />

User rad_dial dials into maui-nas-03. Note the session-timeout was applied.<br />

maui-nas-03#show caller user rad_dial detail<br />

User: rad_dial, line tty 20, service Async<br />

Active time 00:00:47, Idle time 00:00:00<br />

Timeouts: Absolute Idle Idle<br />

Session Exec<br />

Limits: 04:00:00 00:15:00 00:48:00<br />

Disconnect in: 03:59:12 00:14:59 -<br />

TTY: Line 20, running PPP on As20<br />

Location: PPP: 172.22.83.12<br />

DS0: (slot/unit/channel)=0/0/2<br />

Line: Baud rate (TX/RX) is 115200/115200, no parity, 1 stopbits, 8 databits<br />

Status: Ready, Active, No Exit Banner, Async Interface Active<br />

HW PPP Support Active, Modem Detected<br />

Capabilities: Hardware Flowcontrol In, Hardware Flowcontrol Out<br />

Modem Callout, Modem RI is CD,<br />

Line usable as async interface, Modem Autoconfigure<br />

Integrated Modem<br />

Modem State: Ready, Modem Configured<br />

User: rad_dial, line As20, service PPP<br />

Active time 00:00:44, Idle time 00:00:08<br />

Timeouts:<br />

Absolute Idle<br />

Limits: - 00:15:00<br />

Disconnect in: - 00:14:50<br />

User rad_dial is disconnected after 15 minutes of inactivity and an accounting packet is sent to the <strong>AAA</strong><br />

Server:<br />

maui-nas-03#show debug<br />

General OS:<br />

<strong>AAA</strong> Accounting debugging is on<br />

*Apr 17 17:36:35.262 CST: <strong>AAA</strong>/ACCT/ACCT_DISC: Found list "default"<br />

*Apr 17 17:36:35.262 CST: Async20 <strong>AAA</strong>/DISC: 4/"Idle Timeout"<br />

*Apr 17 17:36:35.262 CST: <strong>AAA</strong>/ACCT/ACCT_DISC: Found list "default"<br />

*Apr 17 17:36:35.262 CST: Async20 <strong>AAA</strong>/DISC/EXT: 1021/"Idle Timeout"<br />

*Apr 17 17:36:35.262 CST: Async20 <strong>AAA</strong>/DISC: 4/"Idle Timeout"<br />

*Apr 17 17:36:35.262 CST: Async20 <strong>AAA</strong>/DISC/EXT: 1021/"Idle Timeout"<br />

Note The disc-cause and disc-cause-ext both reflect idle timeouts from Table 5-1<br />

listed in “5.3 <strong>AAA</strong> Disconnect Cause Code Descriptions” in this chapter.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

5-3


5.2 Implementing Server-Based TACACS+ Router Accounting<br />

Chapter 5<br />

Implementing Server-Based <strong>AAA</strong> Accounting<br />

5.2 Implementing Server-Based TACACS+ Router Accounting<br />

These steps help you to accomplish the following tasks:<br />

1. Configure the server-based TACACS+ router accounting on the <strong>AAA</strong> server.<br />

2. Configure server-based TACACS+ EXEC and command level accounting on the router.<br />

3. Verify and troubleshoot server-based accounting from the <strong>AAA</strong> Server with SQL query to Oracle<br />

dB instance.<br />

4. Verify and troubleshoot server-based accounting operation from the router.<br />

Step 1<br />

Step 2<br />

Configure the server-based TACACS+ router accounting on the <strong>AAA</strong> server.<br />

config_acct_fn_enable = 1<br />

For detailed accounting performance, go to:<br />

http://www.cisco.com/univercd/cc/td/doc/product/access/acs_soft/cs_unx/csu23ug/acctg.htm#xto<br />

cid84517<br />

Configure server-based TACACS+ EXEC and command level accounting on the router.<br />

Include the following <strong>Cisco</strong> IOS commands in your configuration file to enable router EXEC and<br />

command <strong>AAA</strong> authentication, authorization, and accounting:<br />

aaa new-model<br />

aaa authentication login default group tacacs+ local<br />

aaa authentication login NO_AUTHEN none<br />

aaa authorization exec default group tacacs+ if-authenticated<br />

aaa authorization exec NO_AUTHOR none<br />

aaa authorization commands 15 default group tacacs+<br />

aaa authorization commands 15 NO_AUTHOR none<br />

aaa accounting exec default stop-only group tacacs+<br />

aaa accounting commands 15 default stop-only group tacacs+<br />

line con 0<br />

authorization commands 15 NO_AUTHOR<br />

authorization exec NO_AUTHOR<br />

login authentication NO_AUTHEN<br />

Note<br />

Authentication and authorization is disabled on the console port with the use of<br />

the NO_AUTHEN and NO_AUTHOR named lists.<br />

5-4<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 5<br />

Implementing Server-Based <strong>AAA</strong> Accounting<br />

5.2 Implementing Server-Based TACACS+ Router Accounting<br />

Step 3<br />

Verify and troubleshoot server-based accounting from the <strong>AAA</strong> Server with SQL query to Oracle dB<br />

instance.<br />

The following example illustrates the use of the SQL query select command to monitor user rtr_geek<br />

entering the configure terminal privilege level 15 command:<br />

SQL>select * from cs_accounting_log where blob_data like '%rtr_geek%';<br />

LOG_ID BLOB_ORDINAL BLOB_DATA<br />

--------------------------------------------------------------------------------<br />

Mon Apr 17 14:06:27 2000<br />

Client-Id = 172.22.80.3<br />

Client-Port-Id = 0<br />

NAS-Port-Type = Async<br />

User-Name = "rtr_geek"<br />

Acct-Status-Type = Stop<br />

LOG_ID BLOB_ORDINAL BLOB_DATA<br />

--------------------------------------------------------------------------------<br />

172.22.87.3 rtr_geek tty0 async stop server=danvers time=18:10:02<br />

date=04/17/2000 task_id=52 timezone=CST service=shell priv-lvl=15<br />

cmd=configure terminal <br />

Step 4<br />

Verify and troubleshoot server-based accounting operation from the router.<br />

Enter the configure terminal command to test <strong>AAA</strong> accounting behavior as follows (be sure the<br />

debug aaa accounting command is enabled):<br />

maui-nas-03#show debug<br />

General OS:<br />

<strong>AAA</strong> Accounting debugging is on<br />

maui-nas-03#configure terminal<br />

Enter configuration commands, one per line. End with CNTL/Z.<br />

maui-nas-03(config)#^Z<br />

This debug command output results from entering the configure terminal command:<br />

*Apr 17 18:14:45.722 CST: <strong>AAA</strong>/ACCT/CMD: User rtr_geek, Port tty0, Priv 15:<br />

"configure terminal "<br />

*Apr 17 18:14:45.722 CST: <strong>AAA</strong>/ACCT/CMD: Found list "default"<br />

*Apr 17 18:14:45.726 CST: <strong>AAA</strong>/ACCT: user rtr_geek, acct type 3 (1057208544):<br />

Method=tacacs+ (tacacs+)<br />

*Apr 17 18:14:45.930 CST: TAC+: (1057208544): received acct response status = SUCCESS<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

5-5


5.3 <strong>AAA</strong> Disconnect Cause Code Descriptions<br />

Chapter 5<br />

Implementing Server-Based <strong>AAA</strong> Accounting<br />

5.3 <strong>AAA</strong> Disconnect Cause Code Descriptions<br />

Table 5-1 lists the disconnect codes reported by <strong>Cisco</strong> <strong>AAA</strong> accounting records. The disconnect cause<br />

codes are referred to in “5.1 Implementing Server-Based TACACS+ Dial Accounting.”<br />

Table 5-1<br />

<strong>AAA</strong> Disconnect Cause Code Listings<br />

Disconnect Cause Code<br />

Description<br />

1 User Request<br />

2 Lost Carrier<br />

3 Lost Service<br />

4 Idle Timeout<br />

5 Session Timeout<br />

6 Admin Reset<br />

7 Admin Reboot<br />

8 Port Error<br />

9 NAS Error<br />

10 NAS Request<br />

11 NAS Reboot<br />

12 Port Unneeded<br />

13 Port Preempted<br />

14 Port Suspended<br />

15 Service Unavailable<br />

16 Callback<br />

17 User Error<br />

18 Host Request<br />

1002 Unknown<br />

1004 CLID Auth Fail<br />

1010 No Carrier<br />

1011 <strong>AAA</strong>_VAL_DISC_LOST_CARR<br />

1012 No Modem result codes<br />

1020 <strong>AAA</strong>_VAL_DISC_USER_REQ<br />

1021 <strong>AAA</strong>_VAL_DISC_IDL_TIMOUT<br />

1022 Exited Telnet<br />

1023 Peer has No IPADDR<br />

1024 <strong>AAA</strong>_VAL_DISC_LOST_SERV<br />

1025 Password failure<br />

1026 TCP Disabled<br />

1027 Control-C Detected<br />

1028 <strong>AAA</strong>_VAL_DISC_HOST_REQ<br />

5-6<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 5<br />

Implementing Server-Based <strong>AAA</strong> Accounting<br />

5.3 <strong>AAA</strong> Disconnect Cause Code Descriptions<br />

Table 5-1<br />

<strong>AAA</strong> Disconnect Cause Code Listings<br />

Disconnect Cause Code<br />

Description<br />

1040 LCP Neg Timeout<br />

1041 LCP Neg Failed<br />

1042 PAP Auth Failed<br />

1043 CHAP Auth Failed<br />

1044 Remote Auth Failed<br />

1045 Received Terminate<br />

1046 Upper Layer Req Close<br />

1100 <strong>AAA</strong>_VAL_DISC_SES_TIMOUT<br />

1101 Fail Security<br />

1102 <strong>AAA</strong>_VAL_DISC_CALLBACK<br />

1120 <strong>AAA</strong>_VAL_DISC_SERV_UNAVAIL<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

5-7


5.3 <strong>AAA</strong> Disconnect Cause Code Descriptions<br />

Chapter 5<br />

Implementing Server-Based <strong>AAA</strong> Accounting<br />

5-8<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


CHAPTER<br />

6<br />

Diagnosing and Troubleshooting <strong>AAA</strong><br />

Operations<br />

This chapter focuses on diagnosing and troubleshooting negotiations between <strong>AAA</strong> devices. This<br />

section reviews the case study environment and outlines the protocol flows associated with <strong>AAA</strong><br />

negotiations in the context of this network environment. The subsequent sections focus on specific<br />

troubleshooting techniques as follows:<br />

• 6.1 Overview of Authentication and Authorization Processes<br />

• 6.2 Troubleshooting <strong>AAA</strong> <strong>Implementation</strong><br />

• 6.3 <strong>AAA</strong> Troubleshooting Basics<br />

• 6.4 Troubleshooting Scenarios<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

6-1


6.1 Overview of Authentication and Authorization Processes<br />

Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

6.1 Overview of Authentication and Authorization Processes<br />

Before jumping immediately into troubleshooting <strong>AAA</strong> problems, it is useful to review authentication<br />

and authorization processes. Figure 6-1 provides the general scenario this case study is built around.<br />

The primary elements of this environment are the <strong>AAA</strong> server, the <strong>AAA</strong> database, and the NAS.<br />

Figure 6-1<br />

Basic <strong>AAA</strong> <strong>Case</strong> <strong>Study</strong> Environment<br />

Network element<br />

management server<br />

(NTP, Syslog, SNMP)<br />

Oracle dB server<br />

Analog lines<br />

PSTN<br />

PRI lines<br />

<strong>AAA</strong><br />

server<br />

Clients<br />

Modems<br />

<strong>Cisco</strong> AS5x00<br />

with integrated<br />

modems<br />

IP intranet<br />

DNS<br />

server<br />

Default<br />

gateway<br />

Internet<br />

firewall<br />

Internet<br />

35089<br />

6-2<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

6.1 Overview of Authentication and Authorization Processes<br />

The negotiation suggested in Figure 6-1 is expanded in Figure 6-2 which presents the logical flow of<br />

the authentication and authorization processes and illustrates the relationship between the elements<br />

within the TACACS+ based <strong>AAA</strong> negotiation. While the network access server (NAS) communicates<br />

directly with the <strong>AAA</strong> server, the <strong>AAA</strong> server in turn exchanges information with the Oracle database<br />

server.<br />

Figure 6-2<br />

Dial Access Authentication and Authorization Flow Diagram<br />

Network<br />

access server<br />

Result<br />

Fail<br />

Valid user<br />

TACACS+<br />

query<br />

<strong>Cisco</strong>Secure<br />

ACS<br />

Pass<br />

Fail<br />

Password = ?<br />

SQL<br />

Valid<br />

password<br />

Pass<br />

Fail<br />

Pass<br />

Authorization<br />

Pass<br />

Oracle<br />

database<br />

Pass<br />

27815<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

6-3


6.1 Overview of Authentication and Authorization Processes<br />

Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

The RADIUS dial-access authentication and authorization illustrated in Figure 6-3 describes RADIUS<br />

negotiation between the NAS and the <strong>AAA</strong> server. User rad_dial is permitted PPP access through<br />

EXEC shell (character mode) or autoselect PPP (packet mode).<br />

Figure 6-3<br />

RADIUS Dial Access Authentication and Authorization Process<br />

NAS<br />

Network<br />

time<br />

<strong>AAA</strong><br />

server<br />

Authentication and<br />

Authorization<br />

Access request<br />

Send username<br />

password<br />

Access accept<br />

User-Service-Type<br />

(Shell-User)<br />

User-Service-Type<br />

(Framed-User)<br />

Framed-Protocol =<br />

PPP<br />

<strong>AAA</strong> Server<br />

User Configuration<br />

user=rad_dial{<br />

password=PAP "****"<br />

radius=<strong>Cisco</strong>{<br />

reply_attributes={<br />

6=6<br />

6=2<br />

7=1<br />

}<br />

}<br />

35048<br />

Note<br />

Unlike TACACS+, the authentication and authorization processes are not handled as<br />

separate stages in RADIUS-based <strong>AAA</strong> access control.<br />

6-4<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

6.1 Overview of Authentication and Authorization Processes<br />

Figure 6-4 and Figure 6-5 expand on the basic negotiation flow depicted in Figur e6-2 by illustrating<br />

the specific TACACS+ negotiation process associated with particular users, as defined in their<br />

respective CSU profiles.<br />

Figure 6-4<br />

TACACS+ Dial Access Authentication and Authorization Session (EXEC Enabled)<br />

Access server<br />

Network<br />

time<br />

<strong>AAA</strong> server<br />

Authentication<br />

Send start<br />

Get user<br />

Send user<br />

Get pass<br />

Send password<br />

Pass<br />

Oracle<br />

DB<br />

CSU User Configuration<br />

Authorization<br />

Authorization<br />

User = x<br />

Send AV service = shell<br />

AV cmd*<br />

Pass<br />

user = x<br />

Send AV service = ppp<br />

protocol = IP<br />

addr-pool = default<br />

Pass<br />

user = x<br />

Send AV service = ppp<br />

protocol = lcp<br />

Pass<br />

user = x<br />

Send AV service = ppp<br />

protocol = ip<br />

Pass<br />

user x =<br />

password = PAP<br />

service = shell {<br />

default_cmd = permit<br />

}<br />

service = shell {<br />

protocol = ip {<br />

set addr-pool = default<br />

}<br />

protocol = lcp {<br />

}<br />

27812<br />

The difference in authorization behavior stems from the use of two commands in the <strong>AAA</strong> server user<br />

configurations. The default_cmd=permit command included in the example in Figure 6-4 enables<br />

default privilege level 15 commands for user x.<br />

As configured in Figure 6-4, the session for user x depicts a process that involves either a shell initiated<br />

or a standard PPP session. The same negotiations are used in initiating shell access to a router.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

6-5


6.1 Overview of Authentication and Authorization Processes<br />

Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

Both figures depict the stages of dial access authentication and authorization sessions between an access<br />

server and an <strong>AAA</strong> server. The key difference is defined in the CSU user configuration (profiles)<br />

included in each illustration. In Figure 6-4, EXEC shell access authorization is permitted while it is not<br />

permitted in the illustration depicted in Figure 6-5.<br />

Figure 6-5<br />

TACACS+ Dial Access Authentication and Authorization Session (EXEC Shell Disabled)<br />

Access server<br />

Network<br />

time<br />

<strong>AAA</strong> server<br />

Authentication<br />

Network<br />

Authorization<br />

Send start<br />

Get user<br />

Send Abort<br />

Autoselect PPP<br />

user = x<br />

Authenticate<br />

peer<br />

Send password<br />

Pass<br />

LCP<br />

request<br />

Pass<br />

user = y<br />

service = ppp<br />

protocol = lcp<br />

Pass<br />

CONFREQ<br />

for options<br />

Pass<br />

Oracle<br />

database<br />

CSU User Configuration<br />

user = y<br />

password = PAP<br />

service = shell {<br />

set autocmd = ppp negotiate<br />

}<br />

service = ppp {<br />

protocol = ip{<br />

set addr pool = default<br />

}<br />

protocol = lcp {<br />

}<br />

27813<br />

The example session illustrated in Figure 6-5 omits the default_cmd=permit AVP and instead includes<br />

the autocmd=ppp negotiate AVP disabling EXEC shell access to IOS devices. User y fails any attempt<br />

to access the router and receives the message PPP not allowed on this interface as a result of the<br />

PPP configuration statement. This distinction provides an element of security, blocking access to<br />

routers.<br />

6-6<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

6.2 Troubleshooting <strong>AAA</strong> <strong>Implementation</strong><br />

6.2 Troubleshooting <strong>AAA</strong> <strong>Implementation</strong><br />

These sections help you to accomplish the following tasks:<br />

• 6.2.1 Troubleshooting Methodology Overview<br />

• 6.2.2 <strong>Cisco</strong> IOS Debug Command Summary<br />

6.2.1 Troubleshooting Methodology Overview<br />

The troubleshooting methodology adopted in this chapter follows these general steps:<br />

1. Isolating the problem.<br />

– Gathering detailed information about trouble.<br />

– Determining the starting point and fault isolation procedures.<br />

2. Correcting the problem.<br />

– Making appropriate hardware, software, or configuration changes to correct the problem.<br />

3. Verifying that the trouble is corrected.<br />

– Performing operational tests to verify that trouble is corrected.<br />

The troubleshooting tables presented in “6.3 <strong>AAA</strong> Troubleshooting Basics” and the example scenarios<br />

presented in “6.4 Troubleshooting Scenarios” generally follow this methodology in listing typical<br />

symptoms, and provide associated problems and diagnostics measures.<br />

6.2.2 <strong>Cisco</strong> IOS Debug Command Summary<br />

Output from <strong>Cisco</strong> IOS debug commands provide a valuable source of information and feedback<br />

concerning state transitions and functions within the <strong>AAA</strong> subsystem environment.<br />

Use the debug commands that follow for capturing <strong>AAA</strong>-related transitions and functions:<br />

• debug condition user username<br />

Enabling this debug command sets conditional debugging for a specific user and generates output<br />

debugs related to the user. This command is helpful in an enterprise environment for<br />

troubleshooting.<br />

• debug aaa authentication<br />

Enabling this debug command displays authentication information withTACACS+ and RADIUS<br />

client/server interaction.<br />

• debug aaa authorization<br />

Enabling this debug command displays authorization information withTACACS+ and RADIUS<br />

client/server interaction.<br />

• debug aaa accounting<br />

Enabling this debug command displays accounting information withTACACS+ and RADIUS<br />

client/server interaction.<br />

• debug tacacs<br />

Enabling this debug command displays TACACS+ interaction between IOS client and <strong>AAA</strong> Server.<br />

• debug radius<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

6-7


6.3 <strong>AAA</strong> Troubleshooting Basics<br />

Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

Enabling this debug command displays RADIUS interaction between the IOS client and the <strong>AAA</strong><br />

server.<br />

In addition to debug command output gathered directly from devices running <strong>Cisco</strong> IOS, a <strong>Cisco</strong> <strong>AAA</strong><br />

server can be configured to collect important operational diagnostics.<br />

Go to the following link for information regarding configuring and using CSU ACS logs:<br />

http://www.cisco.com/univercd/cc/td/doc/product/access/acs_soft/cs_unx/csu23rg/troubles.htm<br />

6.3 <strong>AAA</strong> Troubleshooting Basics<br />

<strong>AAA</strong> operational diagnostic activity for access environments is divided into the following basic areas:<br />

• Dial-based versus router-based access<br />

• Local versus server access<br />

• Authentication and authorization processes<br />

These three areas can be associated with eightunderlying diagnostic situations which are addressed in<br />

the following subsections:<br />

• 6.3.1 Troubleshooting Dial-Based Local Authentication<br />

• 6.3.2 Troubleshooting Dial-Based Server Authentication<br />

• 6.3.3 Troubleshooting Dial-Based Local Authorization<br />

• 6.3.4 Troubleshooting Dial-Based Server Authorization<br />

• 6.3.5 Troubleshooting Router-Based Local Authentication<br />

• 6.3.6 Troubleshooting Router-Based Server Authentication<br />

• 6.3.7 Troubleshooting Router-Based Local Authorization<br />

• 6.3.8 Troubleshooting Router-Based Server Authorization<br />

The following sections address each of the diagnostic topics separately. Detailed scenarios are provided<br />

in “6.4 Troubleshooting Scenarios.”<br />

The diagnostics summaries address the troubleshooting process using three basic stages:<br />

1. Identifying symptoms<br />

2. Isolating problems<br />

3. Resolving problems<br />

Each diagnostic table includes suggestions for identifying and isolating problems. Diagnostic<br />

information is provided in “6.4 Troubleshooting Scenarios.” Specific diagnostic output is included to<br />

illustrate how network entities react to failures and how to discern specific failures.<br />

Note<br />

Some of the symptoms described in the following tables can be caused by a variety of<br />

problems other than <strong>AAA</strong> issues. Because this case study focuses on <strong>AAA</strong>-based security<br />

topics, the problems and diagnostics provided here focus on <strong>AAA</strong> issues.<br />

6-8<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

6.3 <strong>AAA</strong> Troubleshooting Basics<br />

6.3.1 Troubleshooting Dial-Based Local Authentication<br />

The following symptoms are addressed in separate tables in this section:<br />

• Single User Failure; Individual Dial-in User Connection Fails<br />

• Multiple User Failure; All Dial-in Users Unable to Connect to NAS<br />

Table 6-1<br />

Single User Failure; Individual Dial-in User Connection Fails<br />

Problem<br />

Suggested Diagnostic Steps<br />

User entered invalid username or password. 1. To verify local account, enter:<br />

#debug aaa authentication<br />

Test login with username/password.<br />

Look for “user not found” or “password<br />

validation” failure.<br />

2. If user is not found, add the user. If password<br />

validation failure, reenter login with<br />

username and password combination.<br />

Table 6-2<br />

Multiple User Failure; All Dial-in Users Unable to Connect to NAS<br />

Problem<br />

Suggested Diagnostic Steps<br />

<strong>AAA</strong> behavior configured incorrectly in NAS. 1. Enter this diagnostic command in NAS:<br />

#debug aaa authentication<br />

2. To verify local authentication is configured<br />

correctly, enter:<br />

#show running-config<br />

3. Verify inclusion of one of these commands:<br />

aaa authentication login default local<br />

or<br />

Shell initiated PPP session passes, but is torn<br />

down.<br />

aaa authentication login ppp default local<br />

1. Enter this diagnostic command in NAS:<br />

#debug aaa authentication<br />

2. To verify <strong>AAA</strong> is configured correctly in<br />

NAS, enter:<br />

#show running-config<br />

3. Verify inclusion of this command:<br />

aaa authentication ppp default if-needed<br />

local<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

6-9


6.3 <strong>AAA</strong> Troubleshooting Basics<br />

Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

6.3.2 Troubleshooting Dial-Based Server Authentication<br />

The following symptoms are addressed in separate tables in this section:<br />

• Single User Failure; Individual User Unable to Make Connection (RADIUS and TACACS+)<br />

• Multiple User Failure; All Dial-in Users Unable to Connect to NAS (RADIUS and TACACS+)<br />

Table 6-3<br />

Single User Failure; Individual User Unable to Make Connection (RADIUS andTACACS+)<br />

Problem<br />

Suggested Diagnostic Steps<br />

User name not in server database. 1. To verify user is in database, enter:<br />

$/opt/ciscosecure/CLI/ViewPr<br />

ofile –p 9900 –u username<br />

User entered password incorrectly. 1. Verify password case-sensitivity.<br />

2. Monitoruseractivityin<strong>AAA</strong>server:<br />

$tail –f<br />

/var/log/csuslog|grep username<br />

User profile configured incorrectly. The error<br />

message “bad method for user” reported in<br />

csuslog file.<br />

User account disabled due to too many failed<br />

logins.<br />

3. Review csuslog file for errors (for example, if<br />

user is configured for OTP, verify<br />

PASSCODE is accepted from OTP server.<br />

4. Reset user password or synchronize<br />

PASSCODE if needed.<br />

1. To verify user profile is programmed with<br />

correct password type, enter:<br />

$/opt/ciscosecure/CLI/ViewPr<br />

ofile –p 9900 –u username<br />

2. Verify user profile privilege is sufficient to<br />

perform task.<br />

3. Verify profile is configured for correct<br />

password type. For example, PAP for OTP.<br />

1. To view user profile, enter:<br />

$/opt/ciscosecure/utils/bin/<br />

ViewProfile -p 9900 -u username<br />

2. Verify that the profile is not disabled. If it is<br />

disabled, compare set server<br />

current-failed-login counters to max failed<br />

login setting in CSU.cfg file.<br />

3. If these attributes are the same, reset user<br />

profile status to enabled and reset the set<br />

server current-failed-login counter by using<br />

the web-based administration utility.<br />

6-10<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

6.3 <strong>AAA</strong> Troubleshooting Basics<br />

Table 6-3<br />

Single User Failure; Individual User Unable to Make Connection (RADIUS andTACACS+)<br />

Problem<br />

Suggested Diagnostic Steps<br />

User account password or profile expired. 1. To view profile, enter:<br />

$/opt/ciscosecure/CLI/ViewPr<br />

ofile –p 9900 –u username<br />

2. For TACACS+: Look for expiration in<br />

profile, such as:<br />

expires = "24 Jan 2000"<br />

3. For RADIUS: Look for expiration in profile,<br />

such as:<br />

Password-Expiration = "24 Jan 2000"<br />

User workstation configured incorrectly. 1. Review user dialup networking setup.<br />

2. To review user profile, enter:<br />

$/opt/ciscosecure/CLI/ViewPr<br />

ofile –p 9900 –u username<br />

User exceeded the maximum number of<br />

concurrent sessions.<br />

3. Check for setup for parameter such as<br />

“Requires encrypted password.”<br />

To review user profile, enter:<br />

$/opt/ciscosecure/CLI/ViewPr<br />

ofile –p 9900 –u username<br />

For TACACS+, look for this AVP:<br />

max-sessions<br />

For RADIUS, look for this AVP:<br />

Maximum-Channels<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

6-11


6.3 <strong>AAA</strong> Troubleshooting Basics<br />

Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

Table 6-4<br />

Multiple User Failure; All Dial-in Users Unable to Connect to NAS (RADIUS and<br />

TACACS+)<br />

Problem<br />

Connection between NAS and <strong>AAA</strong> server is<br />

down.<br />

TACACS+ or RADIUS key incorrect in NAS or<br />

<strong>AAA</strong> server.<br />

Suggested Diagnostic Steps<br />

Verify network connectivity between NAS and<br />

<strong>AAA</strong> server. Enter these diagnostic commands in<br />

NAS:<br />

#show tacacs<br />

#debug tacacs<br />

#debug radius<br />

#ping CSU-server-name<br />

Review NAS and CSU configurations for shared<br />

secret.<br />

In NAS, enter:<br />

#show running-config<br />

In <strong>AAA</strong> server, enter:<br />

$grep NAS-IP-Address<br />

/opt/ciscosecure/config/CSU.cfg<br />

$tail -f /var/log/csuslog<br />

Maximum number of users exceeded. 1. Verify license key is entered correctly in<br />

<strong>AAA</strong> server. Enter the following commands<br />

at the CSUserver:<br />

$grep license-key<br />

/opt/ciscosecure/config/CSU.cfg<br />

2. To review expiration date of license key,<br />

enter:<br />

$grep license-key<br />

/var/log/csuslog<br />

6-12<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

6.3 <strong>AAA</strong> Troubleshooting Basics<br />

Table 6-4<br />

Multiple User Failure; All Dial-in Users Unable to Connect to NAS (RADIUS and<br />

TACACS+)<br />

Problem<br />

Group profile password type does not match type<br />

specified in NAS group-async or dialer interface<br />

configuration (for example, PPP authentication<br />

PAP).<br />

Shell initiated PPP session passes, but is torn<br />

down.<br />

Suggested Diagnostic Steps<br />

1. To review NAS configuration, enter:<br />

# show running-config<br />

2. Verify group-async or dialer interface is<br />

configured with correct password type. For<br />

example, for OTP, PAP must be specified.<br />

3. Verify group profile matches group-async or<br />

dialer interface configuration in NAS.<br />

1. Enter this diagnostic command in NAS:<br />

#debug aaa authentication<br />

2. To verify correct <strong>AAA</strong> configuration is<br />

configured in NAS, enter:<br />

#show running-config<br />

3. Verify these commands are included in the<br />

NAS configuration:<br />

aaa authentication ppp default if-needed<br />

tacacs+<br />

or<br />

aaa authentication ppp default if-needed<br />

radius<br />

6.3.3 Troubleshooting Dial-Based Local Authorization<br />

The following symptoms are addressed in separate tables in this section:<br />

• User Cannot Start PPP<br />

• Network Authorization Fails<br />

• Unable to Access Specific Host or Network Service<br />

• Multilink Fails<br />

Table 6-5<br />

User Cannot Start PPP<br />

Problem<br />

User client configuration error.<br />

Suggested Diagnostic Steps<br />

Refer to MS troubleshooting chapter:<br />

http://support.microsoft.com/support/kb/arti<br />

cles/Q130/0/79.asp?LNG=ENG&SA=ALLK<br />

B<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

6-13


6.3 <strong>AAA</strong> Troubleshooting Basics<br />

Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

Table 6-6<br />

Network Authorization Fails<br />

Problem<br />

Attribute-value pairs (AVPs) not assigned 1 .<br />

Suggested Diagnostic Steps<br />

1. Enter this diagnostic command in NAS:<br />

#debug aaa authorization<br />

1. <strong>AAA</strong> authorization only supported on shell sessions with local accounts.<br />

2. To verify <strong>AAA</strong> is configured correctly in<br />

NAS, enter:<br />

#show running-config<br />

3. Verify inclusion of this command:<br />

aaa authorization exec default local<br />

Table 6-7<br />

Unable to Access Specific Host or Network Service<br />

Problem<br />

Suggested Diagnostic Steps<br />

Access list assigned to user. 1. Verify local account not restricted with<br />

access-class AVP:<br />

#show running-config<br />

2. Enter these NAS commands to determine<br />

whether access list is assigned to user:<br />

#show caller user userid detail<br />

#show line<br />

3. To review access list with this NAS<br />

command, enter:<br />

#show access-list ACL-number<br />

Table 6-8<br />

Multilink Fails<br />

Problem<br />

User profile restricted.<br />

Suggested Diagnostic Steps<br />

To verify user account is not restricted by<br />

inclusion of max-links AVP, enter:<br />

$/opt/ciscosecure/CLI/ViewPr<br />

ofile -p 9900 -u username<br />

6-14<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

6.3 <strong>AAA</strong> Troubleshooting Basics<br />

6.3.4 Troubleshooting Dial-Based Server Authorization<br />

The following symptoms are addressed in separate tables in this section:<br />

• Multiple Users Cannot Start PPP (RADIUS and TACACS+)<br />

• Network Authorization Fails (RADIUS and TACACS+)<br />

• User or Group Members Unable to Access Specific Host or Network Service (RADIUS and<br />

TACACS+)<br />

• Multilink Fails (TACACS+)<br />

• Multilink Fails (RADIUS)<br />

• Session Fails to Disconnect After Expected Idle Timeout (TACACS+)<br />

• Session Fails to Disconnect After Expected Idle Timeout (RADIUS)<br />

• No EXEC Shell for TACACS+<br />

• No EXEC Shell for RADIUS<br />

• Cannot Start Concurrent Sessions (TACACS+)<br />

• Cannot Start Concurrent Sessions (RADIUS)<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

6-15


6.3 <strong>AAA</strong> Troubleshooting Basics<br />

Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

Table 6-9<br />

Multiple Users Cannot Start PPP (RADIUS and TACACS+)<br />

Problem<br />

<strong>AAA</strong> authorization configured incorrectly in<br />

NAS.<br />

Suggested Diagnostic Steps<br />

1. Enter this diagnostic command in NAS:<br />

#debug aaa authorization<br />

2. To verify <strong>AAA</strong> is configured correctly in<br />

NAS, enter:<br />

#show running-config<br />

3. Verify inclusion of this command:<br />

aaa authorization network default group<br />

tacacs+<br />

aaa authorization network default group<br />

radius<br />

Does not have PPP service assigned. 1. To view group profile, enter:<br />

or<br />

$/opt/ciscosecure/CLI/ViewPr<br />

ofile –p 9900 –g groupname<br />

2. For TACACS+, verify the following<br />

commands are assigned to group:<br />

service=ppp<br />

protocol=lcp<br />

protocol=ip<br />

3. For RADIUS, verify the following commands<br />

are assigned to group:<br />

Service-Type=Framed<br />

Group lacks shell service assigned (EXEC<br />

shell-initiated PPP session only).<br />

Framed-Protocol=ppp<br />

1. To view group profile, enter:<br />

$/opt/ciscosecure/CLI/ViewPr<br />

ofile –p 9900 –g groupname<br />

2. For TACACS+, verify the following<br />

command is assigned to group:<br />

service=shell<br />

3. For RADIUS, verify the following command<br />

is assigned to group:<br />

User-Service-Type (Shell-User)<br />

6-16<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

6.3 <strong>AAA</strong> Troubleshooting Basics<br />

Table 6-10<br />

Network Authorization Fails (RADIUS and TACACS+)<br />

Problem<br />

Suggested Diagnostic Steps<br />

AVPs not assigned. 1. Enter this diagnostic command in NAS:<br />

#debug aaa authorization<br />

2. To verify <strong>AAA</strong> is configured correctly in<br />

NAS, enter:<br />

#show running-config<br />

3. Verify inclusion of this command:<br />

aaa authorization network default group<br />

tacacs+<br />

or<br />

aaa authorization network default group<br />

radius<br />

Table 6-11<br />

User or Group Members Unable to Access Specific Host or Network Service (RADIUS<br />

and TACACS+)<br />

Problem<br />

Suggested Diagnostic Steps<br />

Access list assigned to user. 1. To view group profile, enter:<br />

$/opt/ciscosecure/CLI/ViewPr<br />

ofile –p 9900 –g groupname<br />

Verify group account not restricted with inacl<br />

AVP.<br />

2. Enter these NAS commands to determine<br />

whether access list is assigned to user:<br />

#show caller user userid detail<br />

#show line<br />

3. Review access list with this NAS command:<br />

#show access-list ACL-number<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

6-17


6.3 <strong>AAA</strong> Troubleshooting Basics<br />

Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

Table 6-12<br />

Multilink Fails (TACACS+)<br />

Problem<br />

Suggested Diagnostic Steps<br />

User or group profile lacks proper AVP. 1. To verify group account includes<br />

protocol=multilink AVP assigned, enter:<br />

$/opt/ciscosecure/CLI/ViewPr<br />

ofile –p 9900 –g groupname<br />

User or group profile restricted.<br />

2. Review profile for load-threshold AVP and<br />

whether it is configured properly.<br />

To verify group account not restricted with<br />

max-links AVP, enter:<br />

$/opt/ciscosecure/CLI/ViewPr<br />

ofile –p 9900 –g groupname<br />

Table 6-13<br />

Multilink Fails (RADIUS)<br />

Problem<br />

User or group profile lacks proper AVP.<br />

User or group profile restricted.<br />

Suggested Diagnostic Steps<br />

To verify group account includes<br />

framed-protocol=multilink AVP assigned,<br />

enter:<br />

$/opt/ciscosecure/CLI/ViewPr<br />

ofile –p 9900 –g groupname<br />

To verify group account not restricted with<br />

max-links AVP, enter:<br />

$/opt/ciscosecure/CLI/ViewPr<br />

ofile –p 9900 –g groupname<br />

Table 6-14<br />

Session Fails to Disconnect After Expected Idle Timeout (TACACS+)<br />

Problem<br />

The idletime AVP not configured on group<br />

profile.<br />

Suggested Diagnostic Steps<br />

To verify group account includes idletime AVP<br />

assigned, enter:<br />

$/opt/ciscosecure/CLI/ViewPr<br />

ofile –p 9900 –g groupname<br />

Table 6-15<br />

Session Fails to Disconnect After Expected Idle Timeout (RADIUS)<br />

Problem<br />

The Idle-Timeout AVP not configured on group<br />

profile.<br />

Suggested Diagnostic Steps<br />

To verify group account includes Idle-Timeout<br />

AVP assigned, enter:<br />

$/opt/ciscosecure/CLI/ViewPr<br />

ofile –p 9900 –g groupname<br />

6-18<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

6.3 <strong>AAA</strong> Troubleshooting Basics<br />

Table 6-16<br />

No EXEC Shell for TACACS+<br />

Problem<br />

User or group lacks service=shell AVP assigned.<br />

Suggested Diagnostic Steps<br />

To verify service=shell isassignedtouseror<br />

group, enter:<br />

$/opt/ciscosecure/CLI/ViewPr<br />

ofile –p 9900 –g groupname<br />

$/opt/ciscosecure/CLI/ViewPr<br />

ofile –p 9900 –u username<br />

Table 6-17<br />

No EXEC Shell for RADIUS<br />

Problem<br />

User or group does not have User-Service-Type<br />

AVP assigned.<br />

Suggested Diagnostic Steps<br />

To verify User-Service-Type (Shell-User) is<br />

assignedtouserorgroup,enter:<br />

$/opt/ciscosecure/CLI/ViewPr<br />

ofile –p 9900 –g groupname<br />

$/opt/ciscosecure/CLI/ViewPr<br />

ofile –p 9900 –u username<br />

Table 6-18<br />

Cannot Start Concurrent Sessions (TACACS+)<br />

Problem<br />

User exceeds the maximum number of concurrent<br />

sessions.<br />

Suggested Diagnostic Steps<br />

1. To review the user profile, enter:<br />

$/opt/ciscosecure/CLI/ViewPr<br />

ofile –p 9900 –u username<br />

2. Look for the following AVP:<br />

server max sessions<br />

Table 6-19<br />

Cannot Start Concurrent Sessions (RADIUS)<br />

Problem<br />

User exceeds the maximum number of concurrent<br />

sessions.<br />

Suggested Diagnostic Steps<br />

1. To review the user profile, enter:<br />

$/opt/ciscosecure/CLI/ViewPr<br />

ofile –p 9900 –u username<br />

2. Look for the following AVP:<br />

Maximum-Channels<br />

6.3.5 Troubleshooting Router-Based Local Authentication<br />

The following symptoms are addressed in separate tables in this section:<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

6-19


6.3 <strong>AAA</strong> Troubleshooting Basics<br />

Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

• Single User Failure; Individual Dial-in User Connection Fails<br />

• Multiple User Failure; All Dial-in Users Unable to Connect to Router<br />

• Users Can Access Router by Using Console or VTY, but Not Both<br />

Table 6-20<br />

Single User Failure; Individual Dial-in User Connection Fails<br />

Problem<br />

Suggested Diagnostic Steps<br />

User entered invalid username or password. 1. To verify local account, enter:<br />

#debug aaa authentication<br />

2. Test login with username/password.<br />

3. Look for user not found or password<br />

validation failure.<br />

Table 6-21<br />

Multiple User Failure; All Dial-in Users Unable to Connect to Router<br />

Problem<br />

Suggested Diagnostic Steps<br />

<strong>AAA</strong> behavior configured incorrectly in router. 1. Enter this diagnostic command in router:<br />

#debug aaa authentication<br />

2. To verify local authentication is configured<br />

correctly, enter:<br />

#show running-config<br />

3. Verify inclusion of this command:<br />

aaa authentication login/ppp default local<br />

6-20<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

6.3 <strong>AAA</strong> Troubleshooting Basics<br />

Table 6-22<br />

Users Can Access Router by Using Console or VTY, but Not Both<br />

Problem<br />

Suggested Diagnostic Steps<br />

Incorrect <strong>AAA</strong> configuration in router. 1. Enter this diagnostic command in router:<br />

#debug aaa authentication<br />

2. To verify <strong>AAA</strong> is configured correctly in<br />

router, enter:<br />

#show running-config<br />

3. Verify method used for console<br />

authentication matches VTY method.<br />

For example:<br />

• <strong>AAA</strong> configuration:<br />

aaa authentication login listname group<br />

tacacs+<br />

• Console line configuration:<br />

line con 0<br />

login authentication listname<br />

• VTY line configuration:<br />

line vty 0 4<br />

login authentication listname<br />

6.3.6 Troubleshooting Router-Based Server Authentication<br />

The following symptoms are addressed in separate tables in this section:<br />

• Single User Failure; Individual User Unable to Make a Connection<br />

• Multiple User Failure; All Dial-In Users Unable to Connect to the Router<br />

• Users Pass Authentication on Console or VTY, but Not Both<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

6-21


6.3 <strong>AAA</strong> Troubleshooting Basics<br />

Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

Table 6-23<br />

Single User Failure; Individual User Unable to Make a Connection<br />

Problem<br />

Suggested Diagnostic Steps<br />

User name not in server database. 1. To verify user is in database, enter:<br />

$/opt/ciscosecure/CLI/ViewPr<br />

ofile –p 9900 –u username<br />

User entered password incorrectly. 1. Verify password case sensitivity.<br />

2. Tomonitoruseractivityin<strong>AAA</strong>server,enter:<br />

$tail –f<br />

/var/log/csuslog|grep username<br />

User profile configured incorrectly. The error<br />

message “bad method for user” reported in<br />

csuslog file.<br />

User account disabled due to too many failed<br />

logins.<br />

3. Review csuslog file for errors.<br />

1. To verify user profile is programmed with<br />

correct password type, enter:<br />

$/opt/ciscosecure/CLI/ViewPr<br />

ofile –p 9900 –u username<br />

2. Verify user profile privilege is sufficient to<br />

perform task.<br />

3. Verify profile is configured for correct<br />

password type. For example, DES or clear<br />

text.<br />

1. To view user profile, enter:<br />

$/opt/ciscosecure/utils/bin/<br />

ViewProfile -p 9900 -u username<br />

2. Verify that the profile is not disabled. If it is<br />

disabled, compared set server<br />

current-failed-login counters to max failed<br />

login setting in CSU.cfg file.<br />

3. If these attributes are the same, reset user<br />

profile status to enabled and reset the set<br />

server current-failed-login counter by using<br />

the web-based administration utility.<br />

User account password or profile expired. 1. To view profile, enter:<br />

$/opt/ciscosecure/CLI/ViewPr<br />

ofile –p 9900 –u username<br />

User exceeds the maximum number of concurrent<br />

sessions.<br />

2. Look for expiration in profile, such as:<br />

expires = "24 Jan 2000"<br />

1. To review the user profile, enter:<br />

$/opt/ciscosecure/CLI/ViewPr<br />

ofile –p 9900 –u username<br />

2. Look for the following AVP:<br />

server max sessions<br />

6-22<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

6.3 <strong>AAA</strong> Troubleshooting Basics<br />

Table 6-24<br />

Multiple User Failure; All Dial-In Users Unable to Connect to the Router<br />

Problem<br />

Connection between router and <strong>AAA</strong> server<br />

down.<br />

TACACS+ key incorrect in router or <strong>AAA</strong> server.<br />

Suggested Diagnostic Steps<br />

Verify network connectivity between router and<br />

<strong>AAA</strong> server. Enter these diagnostic commands in<br />

router:<br />

#show tacacs<br />

#debug tacacs<br />

#debug radius<br />

#ping CSU-IP-address<br />

Review router and CSU configurations for shared<br />

secret.<br />

In the router, enter:<br />

#show running-config<br />

In the <strong>AAA</strong> server, enter:<br />

$grep router-IP-address<br />

/opt/ciscosecure/config/CSU.cfg<br />

Maximum number of users exceeded. 1. Verify license key is entered correctly in<br />

<strong>AAA</strong> server. Enter the following commands<br />

at the CSUserver:<br />

$grep license-key<br />

/opt/ciscosecure/config/CSU.cfg<br />

2. To review the expiration date of the license<br />

key, enter:<br />

$grep license-key<br />

/var/log/csuslog<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

6-23


6.3 <strong>AAA</strong> Troubleshooting Basics<br />

Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

Table 6-25<br />

Users Pass Authentication on Console or VTY, but Not Both<br />

Problem<br />

Incorrect <strong>AAA</strong> configuration in<br />

router.<br />

Suggested Diagnostic Steps<br />

1. Enter this diagnostic command in router:<br />

#debug aaa authentication<br />

2. To verify <strong>AAA</strong> is configured correctly in router, enter.<br />

#show running-config<br />

3. Verify method used for console authentication matches VTY<br />

method.<br />

For example:<br />

• <strong>AAA</strong> configuration:<br />

aaa authentication login listname group tacacs+<br />

• Console line configuration:<br />

line con 0<br />

login authentication listname<br />

• VTY line configuration:<br />

line vty 0 4<br />

login authentication listname<br />

6.3.7 Troubleshooting Router-Based Local Authorization<br />

The following symptoms are addressed in separate tables in this section:<br />

• User Fails Router Command<br />

• User Disconnected After Entering a Password<br />

• Users Access Incorrect Privilege Level Commands<br />

• Router User Receives Error Message Stating “This Line Not Allowed to Run PPP and is<br />

Disconnected”<br />

6-24<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

6.3 <strong>AAA</strong> Troubleshooting Basics<br />

Table 6-26<br />

User Fails Router Command<br />

Problem<br />

Suggested Diagnostic Steps<br />

<strong>AAA</strong> configuration error. 1. Enter this diagnostic command in router to<br />

determine method of authorization and<br />

failure:<br />

#debug aaa authorization<br />

2. To verify <strong>AAA</strong> is configured correctly in<br />

router, enter:<br />

#show running-config<br />

User profile lacks appropriate privilege level to<br />

perform command.<br />

User profile lacks appropriate enable level to<br />

perform command.<br />

Example:<br />

If aaa authorization commands is used, ensure<br />

method specified is local.<br />

To review privilege configuration in router, enter:<br />

#show running-config<br />

Example:<br />

<strong>Cisco</strong> IOS command aaa authorization<br />

commands 15 default local is used, but user does<br />

not have a corresponding privilege level assigned.<br />

To review enable privilege level configuration in<br />

router, enter.<br />

#show running-config<br />

Example of relevant <strong>Cisco</strong> IOS commands:<br />

aaa authentication enable default local<br />

enable 15 secret<br />

enable 10 secret2<br />

In this example, users at enable level 10 cannot<br />

perform privilege level 15 commands.<br />

Table 6-27<br />

User Disconnected After Entering a Password<br />

Problem<br />

Authorization failed service. Looks like an<br />

authentication problem, but is an authorization<br />

failure.<br />

Suggested Diagnostic Steps<br />

To review <strong>AAA</strong> configuration, enter:<br />

#show running-config<br />

If aaa authorization exec command specifies<br />

method other than local, user fails shell access.<br />

For example, aaa authorization exec default<br />

tacacs+ results in local user failing authorization.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

6-25


6.3 <strong>AAA</strong> Troubleshooting Basics<br />

Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

Table 6-28<br />

Users Access Incorrect Privilege Level Commands<br />

Problem<br />

Suggested Diagnostic Steps<br />

<strong>AAA</strong> behavior incorrectly configured. 1. Enter this diagnostic command in router to<br />

determine level of command authorization:<br />

#debug aaa authorization<br />

2. To review <strong>AAA</strong> configuration in router, enter:<br />

#show running-config<br />

3. Verify <strong>AAA</strong> configured properly in router.<br />

For example:<br />

aaa authorization commands 15 default<br />

local<br />

Table 6-29<br />

Router User Receives Error Message Stating “This Line Not Allowed to Run PPP and is<br />

Disconnected”<br />

Problem<br />

The autocommand ppp negotiate command<br />

assigned to user.<br />

Suggested Diagnostic Steps<br />

1. To review correct configuration is configured<br />

in router, enter:<br />

#show running-config<br />

Look for autocommand ppp negotiate<br />

command assigned to user.<br />

2. Delete autocommand ppp negotiate if<br />

appropriate.<br />

6.3.8 Troubleshooting Router-Based Server Authorization<br />

The following symptoms are addressed in separate tables in this section:<br />

• User Fails Router Command<br />

• User Disconnected After Entering Password<br />

• Users Access Incorrect Privilege Level Commands<br />

• Router User Receives Error Message Stating “This Line Not Allowed to Run PPP and is<br />

Disconnected”<br />

• Router User Unable to Initiate Shell Session with Router<br />

• AVPs Not Working on Console Port<br />

6-26<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

6.3 <strong>AAA</strong> Troubleshooting Basics<br />

Table 6-30<br />

User Fails Router Command<br />

Problem<br />

Suggested Diagnostic Steps<br />

<strong>AAA</strong> configuration error. 1. Enter this diagnostic command in router to<br />

determine method of authorization and<br />

failure:<br />

#debug aaa authorization<br />

2. To review <strong>AAA</strong> configuration in router, enter:<br />

#show running-config<br />

User profile lacks appropriate privilege level to<br />

perform command.<br />

User profile lacks appropriate enable privilege<br />

level to perform command.<br />

Example:<br />

If aaa authorization commands is used, ensure<br />

method specified is tacacs+.<br />

To view user profile for appropriate priv-lvl=x<br />

AVP, enter:<br />

$/opt/ciscosecure/utils/bin/<br />

ViewProfile -p 9900 -u username<br />

To view user profile for appropriate enable<br />

privilege level, enter:<br />

$/opt/ciscosecure/utils/bin/<br />

ViewProfile -p 9900 -u username<br />

For example:<br />

privilege = des "********" 15<br />

Table 6-31<br />

User Disconnected After Entering Password<br />

Problem<br />

Authorization failed service.<br />

Suggested Diagnostic Steps<br />

To review <strong>AAA</strong> configuration, enter:<br />

#show running-config<br />

If aaa authorization exec command specifies<br />

method other than TACACS+, user fails shell<br />

access.<br />

For example, aaa authorization exec default<br />

local results in TACACS+ user failing<br />

authorization.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

6-27


6.3 <strong>AAA</strong> Troubleshooting Basics<br />

Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

Table 6-32<br />

Users Access Incorrect Privilege Level Commands<br />

Problem<br />

Suggested Diagnostic Steps<br />

<strong>AAA</strong> behavior incorrectly configured. 1. Enter this diagnostic command in router to<br />

determine level of command authorization:<br />

#debug aaa authorization<br />

2. To verify <strong>AAA</strong> is configured correctly in<br />

router, enter<br />

#show running-config<br />

User profile configured incorrectly.<br />

Example of relevant <strong>Cisco</strong> IOS command:<br />

aaa authorization commands 15 default<br />

group tacacs+<br />

To view user profile for appropriate priv-lvl=x<br />

AVP, enter:<br />

$/opt/ciscosecure/utils/bin/<br />

ViewProfile -p 9900 -u username<br />

Table 6-33<br />

Router User Receives Error Message Stating “This Line Not Allowed to Run PPP and is<br />

Disconnected”<br />

Problem<br />

The autocommand ppp negotiate AVP assigned<br />

to user.<br />

Suggested Diagnostic Steps<br />

1. To view user profile for inclusion of<br />

autocommand ppp negotiate AVP assigned<br />

to user, enter:<br />

$/opt/ciscosecure/utils/bin/<br />

ViewProfile -p 9900 -u username<br />

2. Delete autocommand ppp negotiate if<br />

appropriate.<br />

Table 6-34<br />

Router User Unable to Initiate Shell Session with Router<br />

Problem<br />

Lack of service=shell AVP; user sees<br />

“Authorization failed service” error message.<br />

Suggested Diagnostic Steps<br />

To view user profile for inclusion of service=shell<br />

AVP, enter:<br />

$/opt/ciscosecure/utils/bin/<br />

ViewProfile -p 9900 -u username<br />

Table 6-35<br />

AVPs Not Working on Console Port<br />

Problem<br />

Feature is not supported on console ports.<br />

Suggested Diagnostic Steps<br />

None. Feature not supported.<br />

6-28<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

6.4 Troubleshooting Scenarios<br />

6.4 Troubleshooting Scenarios<br />

The following example troubleshooting scenarios elaborate the process of diagnosing, correcting, and<br />

testing several problems addressed in “6.3 <strong>AAA</strong> Troubleshooting Basics”:<br />

• 6.4.1 Isolating Incorrect TACACS+ Key in NAS or <strong>AAA</strong> Server (TACACS+ Dial-Based Server<br />

Authentication)<br />

• 6.4.2 Isolating Invalid User Password (TACACS+ Dial-Based Server Authentication)<br />

• 6.4.3 Isolating Non-Existent User (TACACS+ Dial-Based Server Authentication)<br />

• 6.4.4 Isolating Missing PPP Service Definition (TACACS+ Dial-Based Server Authorization)<br />

• 6.4.5 Isolating Defined AVPs not Being Assigned (TACACS+ Dial-Based Server Authorization)<br />

• 6.4.6 Isolating Missing Shell Service Definition (TACACS+ Dial-Based Server Authorization)<br />

• 6.4.7 Isolating Incorrect PPP Reply Attributes (RADIUS Dial-Based Server Authorization)<br />

6.4.1 Isolating Incorrect TACACS+ Key in NAS or <strong>AAA</strong> Server (TACACS+<br />

Dial-Based Server Authentication)<br />

This scenario focuses on a server-authentication failure for a dial-based connection and provides a<br />

statement of a symptom, suggests a specific problem, and summarizes diagnostic steps. Diagnostics<br />

include output from relevant debug commands and other troubleshooting tools. See Tabl e6-4 for<br />

additional related problems.<br />

Symptom<br />

Multiple user failure; all dial-in users unable to connect to NAS. See Tabl e6-4.<br />

Possible Cause TACACS+ key incorrect in NAS or <strong>AAA</strong> server. See Table 6-4.<br />

Action<br />

Complete troubleshooting steps to isolate and resolve this possible cause.<br />

Step 1<br />

Step 2<br />

Gather general debug command information from the NAS. The following output is from a debug aaa<br />

authentication command executed on a NAS. The last line of this debug output shows the failure<br />

expressed for user dial_tac.<br />

088189: Jan 27 18:37:22.972 CST: <strong>AAA</strong>/MEMORY: create_user (0x61D7A2E0) user=’’ ruser=’’<br />

port=’tty51’ rem_addr=’172.22.2.3’ authen_type=ASCII service=LOGIN priv=1<br />

088190: Jan 27 18:37:22.976 CST: <strong>AAA</strong>/AUTHEN/START (953379418): port=’tty51’ list= =30356<br />

25154<br />

088203: Jan 27 18:37:26.216 CST: TAC+: ver=192 id=3035625154 received AUTHEN status =<br />

GETPASS<br />

088204: Jan 27 18:37:26.216 CST: <strong>AAA</strong>/AUTHEN (3035625154): status = GETPASS<br />

088205: Jan 27 18:37:30.337 CST: <strong>AAA</strong>/AUTHEN/CONT (3035625154): continue_login<br />

(user=’dial_tac’)<br />

088206: Jan 27 18:37:30.337 CST: <strong>AAA</strong>/AUTHEN (3035625154): status = GETPASS<br />

088207: Jan 27 18:37:30.337 CST: <strong>AAA</strong>/AUTHEN (3035625154): Method=ADMIN (tacacs+)<br />

088208: Jan 27 18:37:30.337 CST: TAC+: send AUTHEN/CONT packet id=3035625154<br />

088209: Jan 27 18:37:30.637 CST: TAC+: ver=192 id=3035625154 received AUTHEN status =<br />

FAIL<br />

Enter the following command to assess warnings and errors reported in the <strong>AAA</strong> server log file:<br />

$tail -f /var/log/csuslog<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

6-29


6.4 Troubleshooting Scenarios<br />

Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

The <strong>AAA</strong> server log file reports the following warning when no key is specified (indicating that there<br />

is no encryption key):<br />

Jan 27 18:35:17 coachella <strong>Cisco</strong>Secure: WARNING - Insecure configuration: No encryption<br />

key for NAS <br />

Step 3<br />

Review NAS configurations for shared secret configuration. To obtain the NAS configuration, enter:<br />

#show running-config<br />

The following configuration fragment specifies the TACACS+ server and key. In this case, the key is<br />

bobbit.<br />

tacacs-server host 172.22.53.201 key bobbit<br />

Review the <strong>AAA</strong> server configuration for the corresponding server shared secret configuration. View<br />

the CSU.cfg file with vi (or a similar tool):<br />

$vi /opt/ciscosecure/config/CSU.cfg<br />

Find the key configuration in the CSU.cfg <strong>AAA</strong> server configuration file and review it for the NAS<br />

specification. In this example, this configuration is missing.<br />

NAS config_nas_config =<br />

{<br />

{<br />

"172.22.53.201",<br />

"",<br />

Step 4<br />

If the key is properly configured, it appears between the quotation marks following the IP address<br />

specification. In this case, the key is missing. Because it is not specified in the <strong>AAA</strong> server<br />

configuration file, users’ access is blocked.<br />

Update key specifications and restart the <strong>AAA</strong> server. Verify successful dialup operation.<br />

6.4.2 Isolating Invalid User Password (TACACS+ Dial-Based Server<br />

Authentication)<br />

This scenario focuses on a server-authentication failure for a dial-based connection and provides a<br />

statement of a symptom, suggests a specific problem, and summarizes diagnostic steps. Diagnostics<br />

include output from relevant debug commands and other troubleshooting tools. See Table 6-3 for<br />

additional related problems.<br />

Symptom<br />

Single user failure; individual dial-in user unable to connect to NAS. See Tabl e6-3.<br />

Possible Cause User enters invalid password. See Table 6-3.<br />

Action<br />

Complete troubleshooting steps to isolate and resolve this possible cause.<br />

Step 1<br />

Gather general debug command information from the NAS. The following output is from a debug aaa<br />

authentication command executed on a NAS. This command results in a stream of diagnostic output.<br />

6-30<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

6.4 Troubleshooting Scenarios<br />

The last line in the following output shows the <strong>AAA</strong> authentication request sent to <strong>AAA</strong> server for user<br />

dial_tac:<br />

092852: Jan 27 22:19:06.713 CST: <strong>AAA</strong>/AUTHEN (543609479): status = GETPASS<br />

092853: Jan 27 22:19:07.985 CST: <strong>AAA</strong>/AUTHEN/CONT (543609479): continue_login<br />

(user=’dial_tac’)<br />

The NAS receives FAIL from <strong>AAA</strong> server for user:<br />

092854: Jan 27 22:19:07.985 CST: <strong>AAA</strong>/AUTHEN (543609479): status = GETPASS<br />

092855: Jan 27 22:19:07.985 CST: <strong>AAA</strong>/AUTHEN (543609479): Method=ADMIN (tacacs+)<br />

092856: Jan 27 22:19:07.985 CST: TAC+: send AUTHEN/CONT packet id=543609479<br />

092857: Jan 27 22:19:08.185 CST: TAC+: ver=192 id=543609479 received AUTHEN status = FAIL<br />

092858: Jan 27 22:19:08.185 CST: <strong>AAA</strong>/AUTHEN (543609479): status = FAIL<br />

The user session is torn down and <strong>AAA</strong> process is freed:<br />

092859: Jan 27 22:19:10.185 CST: <strong>AAA</strong>/MEMORY: free_user (0x61D87A70) user=’dial_tac’<br />

ruser=’’ port=’tty51’ rem_addr=’172.22.2.3’ authen_type=ASCII service=LOGIN<br />

priv=1<br />

Step 2<br />

Enter the tail command to assess warning and errors reported in the <strong>AAA</strong> server log file:<br />

$tail -f /var/log/csuslog<br />

In this case, the <strong>AAA</strong> server log reports an incorrect password for user dial_tac:<br />

Jan 27 22:19:08 coachella <strong>Cisco</strong>Secure: NOTICE - Authentication - Incorrect password; [NAS<br />

= 172.22.63.1, Port = tty51, User = dial_tac, Service = 1, Priv = 1]<br />

Jan 27 22:19:08 coachella <strong>Cisco</strong>Secure: INFO - Profile: user = dial_tac {<br />

Jan 27 22:19:08 coachella set server current-failed-logins = 1<br />

Note<br />

Following the failure, the current-failed-login counter increments. This counter<br />

is described in Table 6-3.<br />

Step 3<br />

If the user does not exist in the database (but should), create a new user, or provide feedback if password<br />

or login were entered incorrectly by the user.<br />

6.4.3 Isolating Non-Existent User (TACACS+ Dial-Based Server Authentication)<br />

This scenario focuses on a server-authentication failure for a dial-based connection and provides a<br />

statement of a symptom, suggests a specific problem, and summarizes diagnostic steps. Diagnostics<br />

include output from relevant debug commands and other troubleshooting tools. See Tabl e6-3 for<br />

additional related problems.<br />

Symptom<br />

Single user failure; individual dial-in user unable to connect to NAS. See Tabl e6-3.<br />

Possible Cause User does not exist in the database. See Table 6-3.<br />

Action<br />

Complete troubleshooting steps to isolate and resolve this possible cause.<br />

Step 1<br />

Gather general debug command information from the NAS. The following output is from a debug aaa<br />

authentication command executed on a NAS.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

6-31


6.4 Troubleshooting Scenarios<br />

Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

The following output fragment shows the <strong>AAA</strong> process starting on NAS.<br />

092794: Jan 27 22:15:39.132 CST: <strong>AAA</strong>/MEMORY: create_user (0x61D87A70) user=’’ ruser=’’<br />

port=’tty51’ rem_addr=’172.22.2.3’ authen_type=ASCII service=LOGIN priv=1<br />

092795: Jan 27 22:15:39.132 CST: <strong>AAA</strong>/AUTHEN/START (3576082779): port=’tty51’<br />

list=’INSIDE’ action=LOGIN service=LOGIN<br />

GETPASS is sent to <strong>AAA</strong> server for verification for user dial_test:<br />

092806: Jan 27 22:15:41.132 CST: <strong>AAA</strong>/AUTHEN/START (3285027777): Method=ADMIN (tacacs+)<br />

092807: Jan 27 22:15:41.132 CST: TAC+: send AUTHEN/START packet ver=192 id=32850=27777<br />

092808: Jan 27 22:15:41.936 CST: TAC+: ver=192 id=3285027777 received AUTHEN status =<br />

GETPASS<br />

092809: Jan 27 22:15:41.936 CST: <strong>AAA</strong>/AUTHEN (3285027777): status = GETPASS<br />

092810: Jan 27 22:15:43.340 CST: <strong>AAA</strong>/AUTHEN/CONT (3285027777): continue_login<br />

(user=’dial_test’)<br />

092811: Jan 27 22:15:43.340 CST: <strong>AAA</strong>/AUTHEN (3285027777): status = GETPASS<br />

092812: Jan 27 22:15:43.340 CST: <strong>AAA</strong>/AUTHEN (3285027777): Method=ADMIN (tacacs+)<br />

The NAS then receives the authenticationFAIL message from the <strong>AAA</strong> server:<br />

092813: Jan 27 22:15:43.340 CST: TAC+: send AUTHEN/CONT packet id=3285027777<br />

092814: Jan 27 22:15:43.540 CST: TAC+: ver=192 id=3285027777 received AUTHEN status =<br />

FAIL<br />

092815: Jan 27 22:15:43.540 CST: <strong>AAA</strong>/AUTHEN (3285027777): status = FAIL<br />

The session is torn down and <strong>AAA</strong> process is freed:<br />

092816: Jan 27 22:15:45.540 CST: <strong>AAA</strong>/MEMORY: free_user (0x61D87A70) user=’dial_test’<br />

ruser=’’ port=’tty51’ rem_addr=’172.22.2.3’ authen_type=ASCII service=LOGIN priv=1<br />

092817: Jan 27 22:15:45.540 CST: <strong>AAA</strong>: parse name=tty51 idb type=-1 tty=-1<br />

092818: Jan 27 22:15:45.540 CST: <strong>AAA</strong>: name=tty51 flags=0x11 type=5 shelf=0 slot<br />

Step 2<br />

Enter the following command to assess warning and errors reported in the <strong>AAA</strong> server log file:<br />

$tail -f /var/log/csuslog<br />

<strong>AAA</strong> server log file shows that the <strong>AAA</strong> server did not find user dial_test in cache (profile caching is<br />

enabled):<br />

Jan 27 22:15:41 coachella <strong>Cisco</strong>Secure: DEBUG - Profile USER = dial_test not found in<br />

cache.<br />

The <strong>AAA</strong> server log file also shows that <strong>AAA</strong> server did not find user in the database; next, the <strong>AAA</strong><br />

server conducts a search for the unknown_user account:<br />

Jan 27 22:15:41 coachella <strong>Cisco</strong>Secure: WARNING - User dial_test not found, using<br />

unknown_user<br />

<strong>AAA</strong> server finally again reports user not found after exhausting its search:<br />

Jan 27 22:15:41 coachella <strong>Cisco</strong>Secure: DEBUG - Password:<br />

Jan 27 22:15:43 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHENTICATION CONTINUE request (c3cd8bc1)<br />

Jan 27 22:15:43 coachella <strong>Cisco</strong>Secure: DEBUG - Authentication - User not found;<br />

[NAS = 172.22.63.1, Port = tty51, User = dial_test, Service = 1]<br />

Step 3<br />

Enter the following command to view a user profile in the database:<br />

$/opt/ciscosecure/CLI/ViewProfile -p 9900 -u dial_test<br />

Error: Unable to find profile<br />

RC = 3<br />

6-32<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

6.4 Troubleshooting Scenarios<br />

Step 4<br />

If the user does not exist in the database (but should), create a new user, or provide feedback if password<br />

or login were entered incorrectly by the user.<br />

6.4.4 Isolating Missing PPP Service Definition (TACACS+ Dial-Based Server<br />

Authorization)<br />

This scenario focuses on a server-authorization failure for a dial-based connection and provides a<br />

statement of a symptom, suggests a specific problem, and summarizes diagnostic steps. Diagnostics<br />

include output from relevant debug commands and other troubleshooting tools. See Table 6-9 for<br />

additional related problems.<br />

Symptom Multiple users cannot start PPP. See Table 6-9.<br />

Possible Cause Group does not have service=ppp AVP assigned. See Table 6-9.<br />

Action<br />

Complete troubleshooting steps to isolate and resolve this possible cause.<br />

Step 1<br />

Step 2<br />

Gather general debug command information from the NAS. The following output is from a debug aaa<br />

authentication command executed on a NAS. The following output fragment shows the PPP service<br />

authorization request being initiated for user dial_tac; then, being denied by the <strong>AAA</strong> server:<br />

111802: Feb 3 20:48:53.015 CST: As2 <strong>AAA</strong>/AUTHOR/LCP (153050196): send AV service=ppp<br />

111803: Feb 3 20:48:53.015 CST: As2 <strong>AAA</strong>/AUTHOR/LCP (153050196): send AV protocol=lcp<br />

111804: Feb 3 20:48:53.015 CST: As2 <strong>AAA</strong>/AUTHOR/LCP (153050196): found list "default"<br />

111805: Feb 3 20:48:53.015 CST: As2 <strong>AAA</strong>/AUTHOR/LCP (153050196): Method=tacacs+(tacacs+)<br />

111806: Feb 3 20:48:53.015 CST: <strong>AAA</strong>/AUTHOR/TAC+: (153050196): user=dial_tac<br />

111807: Feb 3 20:48:53.015 CST: <strong>AAA</strong>/AUTHOR/TAC+: (153050196): send AV service=ppp<br />

111808: Feb 3 20:48:53.015 CST: <strong>AAA</strong>/AUTHOR/TAC+: (153050196): send AV protocol=lcp<br />

111809: Feb 3 20:48:53.219 CST: As2 <strong>AAA</strong>/AUTHOR (153050196): Post authorization status =<br />

FAIL<br />

111810: Feb 3 20:48:53.219 CST: As2 <strong>AAA</strong>/AUTHOR/LCP: Denied<br />

Enter the following command to assess warning and errors reported in the <strong>AAA</strong> server log file:<br />

$tail -f /var/log/csuslog<br />

<strong>AAA</strong> server log file shows that the <strong>AAA</strong> server successfully authenticated the user, but that the PPP<br />

service request was denied due to an authorization failure:<br />

Feb 3 20:48:58 coachella <strong>Cisco</strong>Secure: DEBUG - Authentication - LOGIN successful; [NAS =<br />

172.22.63.1, Port = Async2, User = dial_tac, Priv = 1]<br />

Feb 3 20:48:58 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (468d69de)<br />

Feb 3 20:48:58 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Failed service; [<br />

NAS = 172.22.63.1, user = dial_tac, port = Async2, input: service=ppp protocol=lcp<br />

output: ]<br />

Step 3<br />

Add service=ppp and related AVPs protocol=ip and protocol=lcp.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

6-33


6.4 Troubleshooting Scenarios<br />

Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

6.4.5 Isolating Defined AVPs not Being Assigned (TACACS+ Dial-Based Server<br />

Authorization)<br />

This scenario focuses on a server-authorization failure for a dial-based connection and provides a<br />

statement of a symptom, suggests a specific problem, and summarizes diagnostic steps. Diagnostics<br />

include output from relevant debug commands and other troubleshooting tools. See Table 6-10 for<br />

additional related problems.<br />

Symptom Network authorization fails. See Table 6-10.<br />

Possible Cause AVPs not assigned. See Table 6-10.<br />

Action<br />

Complete troubleshooting steps to isolate and resolve this possible cause.<br />

Step 1<br />

Step 2<br />

Step 3<br />

Review the group profile. In this case, the group profile shows inacl=110 is assigned to the<br />

aaa_test_group profile:<br />

$/opt/ciscosecure/CLI/ViewProfile -p 9900 -g aaa_test_group<br />

Group Profile Information<br />

group = aaa_test_group{<br />

profile_id = 64<br />

profile_cycle = 7<br />

service=ppp {<br />

protocol=ip {<br />

inacl=110<br />

}<br />

protocol=lcp {<br />

}<br />

}<br />

}<br />

Gather general debug command information from the NAS. The following output is from a debug aaa<br />

authentication command executed on a NAS. The following output fragment shows that no<strong>AAA</strong><br />

authorization for service=net taking place.<br />

112037: Feb 3 21:18:04.994 CST: <strong>AAA</strong>/MEMORY: create_user (0x61DF0AE8) user=’dial_tac’<br />

ruser=’’ port=’Async5’ rem_addr=’async/81560’ authen_type=PAP service=PPP priv=1<br />

Enter the following command to assess warning and errors reported in the <strong>AAA</strong> server log file:<br />

$tail -f /var/log/csuslog<br />

The following log file fragment confirms that access is permitted with no <strong>AAA</strong> authentication.<br />

Feb 3 21:18:05 coachella <strong>Cisco</strong>Secure: DEBUG - Authentication - LOGIN successful; [NAS =<br />

172.22.63.1, Port = Async5, User = dial_tac, Priv = 1]<br />

Feb 3 21:18:05 coachella <strong>Cisco</strong>Secure: INFO - Profile: user = dial_tac {<br />

Feb 3 21:18:05 coachella set server current-failed-logins = 0<br />

Feb 3 21:18:05 coachella profile_cycle = 12<br />

Feb 3 21:18:05 coachella }<br />

Step 4<br />

Add aaa authorization network default group tacacs+ global command to the NAS configuration.<br />

6-34<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

6.4 Troubleshooting Scenarios<br />

6.4.6 Isolating Missing Shell Service Definition (TACACS+ Dial-Based Server<br />

Authorization)<br />

This scenario focuses on a server-authorization failure for a dial-based connection and provides a<br />

statement of a symptom, suggests a specific problem, and summarizes diagnostic steps. Diagnostics<br />

include output from relevant debug commands and other troubleshooting tools. See Table 6-16 for<br />

additional related problems.<br />

Symptom No EXEC shell (terminal window after dial). See Table 6-16.<br />

Possible Cause User or group does not have service=shell AVP assigned. See Table 6-16.<br />

Action<br />

Complete troubleshooting steps to isolate and resolve this possible cause.<br />

Step 1<br />

Gather general debug command information from the NAS. The following output is from a debug aaa<br />

authentication command executed on a NAS. The following output fragment shows the request sent to<br />

<strong>AAA</strong> server to start service=shell:<br />

092730: Jan 27 21:57:41.355 CST: tty52 <strong>AAA</strong>/AUTHOR/EXEC (3818889333): Port=’tty52’<br />

list=’INSIDE’ service=EXEC<br />

092738: Jan 27 21:57:41.355 CST: tty52 <strong>AAA</strong>/AUTHOR/EXEC (3818889333): Method=ADMIN<br />

(tacacs+)<br />

092739: Jan 27 21:57:41.355 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3818889333): user=dial_tac<br />

092740: Jan 27 21:57:41.355 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3818889333): send AV service=shell<br />

The following output fragments illustrate notification of the failure from <strong>AAA</strong> server for service=shell:<br />

092741: Jan 27 21:57:41.355 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3818889333): send AV cmd*<br />

092742: Jan 27 21:57:41.559 CST: <strong>AAA</strong>/AUTHOR (3818889333): Post authorization status =<br />

FAIL<br />

The following fragment illustrates the Authorization FAILED message being detected by the debug aaa<br />

authorization process:<br />

092743: Jan 27 21:57:41.559 CST: <strong>AAA</strong>/AUTHOR/EXEC: Authorization FAILED<br />

092744: Jan 27 21:57:43.559 CST: <strong>AAA</strong>/MEMORY: free_user (0x61D87A70) user=’dial_tac’<br />

ruser=’’ port=’tty52’ rem_addr=’172.22.2.3’ authen_type=ASCII service=LOGIN priv=1<br />

Step 2<br />

Enter the following command to assess warning and errors reported in the <strong>AAA</strong> server log file:<br />

$tail -f /var/log/csuslog<br />

In this case, the authentication succeeds for user dial_tac, as illustrated in the following csuslog file<br />

fragment:<br />

Jan 27 21:57:40 coachella <strong>Cisco</strong>Secure: DEBUG - Authentication - LOGIN successful; [NAS =<br />

172.22.63.1, Port = tty52, User = dial_tac, Priv = 1]<br />

However, the csuslog file also shows that the authorization failed service for user dial_tac because the<br />

service=shell AVP is not assigned:<br />

Jan 27 21:57:40 coachella <strong>Cisco</strong>Secure: DEBUG -<br />

Jan 27 21:57:41 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (e39fa075)<br />

Jan 27 21:57:41 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Failed service; [NAS =<br />

172.22.63.1, user = dial_tac, port = tty52, input: service=shell cmd* output: ]<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

6-35


6.4 Troubleshooting Scenarios<br />

Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

Step 3<br />

Step 4<br />

Enter the following command to review the user profile. This profile shows that the AVP service=shell<br />

is not assigned to user dial_tac:<br />

$/opt/ciscosecure/CLI/ViewProfile -p 9900 -u dial_tac<br />

User Profile Information<br />

user = dial_tac{<br />

profile_id = 63<br />

profile_cycle = 4<br />

member = aaa_test_group<br />

password = des "********"<br />

password = pap "********"<br />

}<br />

Assign service=shell AVP.<br />

6.4.7 Isolating Incorrect PPP Reply Attributes (RADIUS Dial-Based Server<br />

Authorization)<br />

This scenarios focuses on a server-authorization failure for a dial-based connection using the RADIUS<br />

protocol and provides a statement of a symptom, suggests a specific problem, and summarizes<br />

diagnostic steps. Diagnostics include output from relevant debug commands and other troubleshooting<br />

tools. See Table 6-9 for additional related problems.<br />

Symptom PPP session is not established. See Table 6-9.<br />

Possible Cause User or group does not have correct PPP reply attributes. See Table 6-9.<br />

Action<br />

Complete troubleshooting steps to isolate and resolve this possible cause.<br />

Step 1<br />

Step 2<br />

Gather general debug command information from the NAS. The following output is from a debug aaa<br />

authentication command executed on a NAS. The following fragment illustrates the Authorization<br />

FAILED message being detected by the debug aaa authorization process:<br />

*Apr 5 23:12:28.228: <strong>AAA</strong>/AUTHOR/EXEC: Authorization FAILED<br />

*Apr 5 23:12:30.228: <strong>AAA</strong>/MEMORY: free_user (0x612311BC) user='rad_dial' ruser=''<br />

port='tty4' rem_addr='408/3241933' authen_type=ASCII service=LOGIN priv=1<br />

*Apr 5 23:12:30.936: %ISDN-6-DISCONNECT: Interface Serial0:0 disconnected from unknown<br />

, call lasted 61 seconds<br />

*Apr 5 23:12:30.980: %LINK-3-UPDOWN: Interface Serial0:0, changed state to down<br />

Enter the tail command to assess warning and errors reported in the <strong>AAA</strong> server log file:<br />

$tail -f /var/log/csuslog<br />

In this case, the authorization fails for user rad_dial, as illustrated in the following csuslog file<br />

fragment:<br />

Apr 6 15:14:03 sleddog <strong>Cisco</strong>Secure: INFO - RADIUS: Servicing requests from NAS<br />

(172.23.84.35), sending host <br />

6-36<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

6.4 Troubleshooting Scenarios<br />

However, the csuslog file also shows that the authorization failed service for user dial_tac because the<br />

service=shell AVP is not assigned:<br />

Jan 27 21:57:40 coachella <strong>Cisco</strong>Secure: DEBUG -<br />

Jan 27 21:57:41 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (e39fa075)<br />

Jan 27 21:57:41 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Failed service; [NAS =<br />

172.22.63.1, user = dial_tac, port = tty52, input: service=shell cmd* output: ]<br />

Step 3<br />

Enter the following command to view a user profile in the database:<br />

$/opt/ciscosecure/CLI/ViewProfile -p 9900 -u rad_dial<br />

User Profile Information<br />

user = rad_dial{<br />

profile_id = 23<br />

set server current-failed-logins = 0<br />

profile_cycle = 4<br />

password = pap "********"<br />

radius=<strong>Cisco</strong> {<br />

reply_attributes= {<br />

7=1<br />

9,1="ip:inacl=110"<br />

}<br />

}<br />

}<br />

Note In this profile, the missing reply_attribute is 6=2.<br />

Step 4<br />

Add the following RADIUS AVP: Frame-Protocol=ppp (entered as 6=2 in AddProfile command<br />

input).<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

6-37


6.4 Troubleshooting Scenarios<br />

Chapter 6<br />

Diagnosing and Troubleshooting <strong>AAA</strong> Operations<br />

6-38<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


APPENDIX<br />

A<br />

<strong>AAA</strong> Device Configuration Listings<br />

This appendix provides the following configuration listings:<br />

• A.1.1 Example Local-Based Router <strong>AAA</strong> Configuration<br />

• A.1.2 Example Server-Based TACACS+ NAS Configuration<br />

• A.1.3 Example Server-Based RADIUS NAS Configuration<br />

• A.4.1 CSU.cfg Listing<br />

• A.4.2 CSConfig.ini Listing<br />

• A.4.3 Oracle User Environment Variable<br />

• A.4.4 listener.ora Listing<br />

A.1 Sample <strong>Cisco</strong> IOS Configuration Listings<br />

The following listing represents the complete running configuration for the router and NAS used to<br />

illustrate <strong>AAA</strong> implementation in this solution guide. Listings are included for TACACS+ and RADIUS<br />

configurations.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

A-1


A.1 Sample <strong>Cisco</strong> IOS Configuration Listings<br />

Appendix A<br />

<strong>AAA</strong> Device Configuration Listings<br />

A.1.1 Example Local-Based Router <strong>AAA</strong> Configuration<br />

The following example of a local-based router configuration includes both dial-in and EXEC shell<br />

access configurations.<br />

maui-rtr-03#show running-config<br />

Building configuration...<br />

Current configuration:<br />

!<br />

! Last configuration change at 09:19:35 CST Thu Apr 13 2000 by brownr<br />

! NVRAM config last updated at 09:14:55 CST Thu Apr 13 2000 by brownr<br />

!<br />

version 12.0<br />

service timestamps debug datetime msec localtime show-timezone<br />

service timestamps log datetime msec localtime show-timezone<br />

service password-encryption<br />

!<br />

hostname maui-rtr-03<br />

!<br />

no logging console<br />

aaa new-model<br />

aaa authentication login default local enable<br />

aaa authentication login NO_AUTHEN none<br />

aaa authorization exec default local<br />

aaa authorization exec NO_AUTHOR none<br />

aaa authorization commands 15 default local<br />

aaa authorization commands 15 NO_AUTHOR none<br />

aaa accounting exec default start-stop group tacacs+<br />

aaa accounting commands 15 default stop-only group tacacs+<br />

enable secret 5 xxxxxxxxxxxxxxxxx<br />

!<br />

username admin privilege 15 password 7 xxxxxxxxxxxx<br />

!<br />

!<br />

!<br />

clock timezone cst -6<br />

clock summer-time CST recurring<br />

ip subnet-zero<br />

ip domain-name maui-onions.com<br />

ip name-server x.x.x.x<br />

ip name-server x.x.x.x<br />

!<br />

!<br />

!<br />

!<br />

!<br />

!<br />

!<br />

interface Loopback0<br />

ip address 172.22.255.3 255.255.255.255<br />

no ip directed-broadcast<br />

!<br />

interface ATM1/0<br />

no ip address<br />

no ip directed-broadcast<br />

shutdown<br />

no atm ilmi-keepalive<br />

!<br />

interface Serial2/0<br />

ip address 10.10.10.1 255.255.255.0<br />

no ip directed-broadcast<br />

!<br />

A-2<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Appendix A<br />

<strong>AAA</strong> Device Configuration Listings<br />

A.1 Sample <strong>Cisco</strong> IOS Configuration Listings<br />

interface Serial2/1<br />

no ip address<br />

no ip directed-broadcast<br />

shutdown<br />

!<br />

interface Serial2/2<br />

no ip address<br />

no ip directed-broadcast<br />

shutdown<br />

!<br />

interface Serial2/3<br />

no ip address<br />

no ip directed-broadcast<br />

shutdown<br />

!<br />

interface Ethernet3/0<br />

ip address 172.22.241.3 255.255.255.0<br />

no ip directed-broadcast<br />

ip summary-address eigrp 69 172.22.80.0 255.255.240.0 5<br />

!<br />

interface Ethernet3/1<br />

no ip address<br />

no ip directed-broadcast<br />

shutdown<br />

!<br />

interface Ethernet3/2<br />

no ip address<br />

no ip directed-broadcast<br />

shutdown<br />

!<br />

interface Ethernet3/3<br />

no ip address<br />

no ip directed-broadcast<br />

shutdown<br />

!<br />

interface FastEthernet4/0<br />

ip address 172.22.80.1 255.255.255.0<br />

no ip directed-broadcast<br />

ip summary-address eigrp 69 172.22.240.0 255.255.240.0 5<br />

half-duplex<br />

!<br />

router eigrp 69<br />

network 172.22.0.0<br />

!<br />

ip default-gateway 172.22.53.1<br />

ip classless<br />

ip http server<br />

ip http authentication aaa<br />

ip tacacs source-interface Loopback0<br />

!<br />

snmp-server engineID local 00000009020000D0BB7F5054<br />

snmp-server community cisco xx<br />

snmp-server community rules xx<br />

snmp-server trap-source Loopback0<br />

snmp-server contact<br />

snmp-server enable traps isdn call-information<br />

snmp-server enable traps isdn layer2<br />

snmp-server enable traps config<br />

snmp-server enable traps envmon<br />

tacacs-server host 172.22.53.201 key biteme<br />

tacacs-server key ciscorules<br />

!<br />

line con 0<br />

authorization commands 15 NO_AUTHOR<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

A-3


A.1 Sample <strong>Cisco</strong> IOS Configuration Listings<br />

Appendix A<br />

<strong>AAA</strong> Device Configuration Listings<br />

authorization exec NO_AUTHOR<br />

accounting commands 15 NO_ACCOUNT<br />

login authentication NO_AUTHEN<br />

transport input none<br />

line aux 0<br />

line vty 0 4<br />

!<br />

ntp clock-period 17179912<br />

ntp source Loopback0<br />

ntp update-calendar<br />

ntp server 172.22.255.1<br />

end<br />

A-4<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Appendix A<br />

<strong>AAA</strong> Device Configuration Listings<br />

A.1 Sample <strong>Cisco</strong> IOS Configuration Listings<br />

A.1.2 Example Server-Based TACACS+ NAS Configuration<br />

The following example of a server-based NAS configuration includes both dial-in and EXEC shell<br />

access configurations for TACACS+ implementations:<br />

maui-nas-03#show running-config<br />

Building configuration...<br />

Current configuration:<br />

maui-nas-03#sh run<br />

Building configuration...<br />

Current configuration:<br />

!<br />

version 12.0<br />

service timestamps debug datetime msec localtime show-timezone<br />

service timestamps log datetime msec localtime show-timezone<br />

service password-encryption<br />

!<br />

hostname maui-nas-03<br />

!<br />

aaa new-model<br />

aaa authentication login default group tacacs+ local<br />

aaa authentication login NO_AUTHEN none<br />

aaa authentication ppp default if-needed group tacacs+ local<br />

aaa authorization exec default group tacacs+ if-authenticated<br />

aaa authorization exec NO_AUTHOR none<br />

aaa authorization commands 15 default group tacacs+<br />

aaa authorization commands 15 NO_AUTHOR none<br />

aaa accounting exec default stop-only group tacacs+<br />

aaa accounting commands 15 default stop-only group tacacs+<br />

aaa accounting network default start-stop group tacacs+<br />

!<br />

username admin privilege 15 password 7 xxxxxxxxxxxxx<br />

username diallocal access-class 110 password 7 xxxxxxxxxxx<br />

username diallocal autocommand ppp<br />

spe 1/0 1/7<br />

firmware location system:/ucode/mica_port_firmware<br />

spe 2/0 2/7<br />

firmware location system:/ucode/mica_port_firmware<br />

!<br />

!<br />

resource-pool disable<br />

!<br />

!<br />

!<br />

!<br />

!<br />

clock timezone CST -6<br />

clock summer-time CST recurring<br />

ip subnet-zero<br />

no ip domain-lookup<br />

ip domain-name maui-onions.com<br />

ip name-server 172.22.53.210<br />

!<br />

isdn switch-type primary-ni<br />

isdn voice-call-failure 0<br />

partition flash 2 24 8<br />

!<br />

!<br />

!<br />

controller T1 0<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

A-5


A.1 Sample <strong>Cisco</strong> IOS Configuration Listings<br />

Appendix A<br />

<strong>AAA</strong> Device Configuration Listings<br />

framing esf<br />

clock source line primary<br />

linecode b8zs<br />

pri-group timeslots 1-24<br />

!<br />

controller T1 1<br />

clock source line secondary 1<br />

!<br />

controller T1 2<br />

clock source line secondary 2<br />

!<br />

controller T1 3<br />

clock source line secondary 3<br />

!<br />

controller T1 4<br />

clock source line secondary 4<br />

!<br />

controller T1 5<br />

clock source line secondary 5<br />

!<br />

controller T1 6<br />

clock source line secondary 6<br />

!<br />

controller T1 7<br />

clock source line secondary 7<br />

!<br />

!<br />

interface Loopback0<br />

ip address 172.22.87.3 255.255.255.255<br />

no ip directed-broadcast<br />

no ip route-cache<br />

no ip mroute-cache<br />

!<br />

interface Loopback1<br />

ip address 172.22.83.1 255.255.255.0<br />

no ip directed-broadcast<br />

no ip route-cache<br />

no ip mroute-cache<br />

!<br />

interface Ethernet0<br />

no ip address<br />

no ip directed-broadcast<br />

no ip route-cache<br />

no ip mroute-cache<br />

shutdown<br />

!<br />

interface Serial0<br />

no ip address<br />

no ip directed-broadcast<br />

encapsulation ppp<br />

no ip route-cache<br />

no ip mroute-cache<br />

shutdown<br />

no fair-queue<br />

clockrate 2015232<br />

!<br />

interface Serial1<br />

no ip address<br />

no ip directed-broadcast<br />

no ip route-cache<br />

no ip mroute-cache<br />

shutdown<br />

no fair-queue<br />

clockrate 2015232<br />

A-6<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Appendix A<br />

<strong>AAA</strong> Device Configuration Listings<br />

A.1 Sample <strong>Cisco</strong> IOS Configuration Listings<br />

!<br />

interface Serial2<br />

no ip address<br />

no ip directed-broadcast<br />

no ip route-cache<br />

no ip mroute-cache<br />

shutdown<br />

no fair-queue<br />

clockrate 2015232<br />

!<br />

interface Serial3<br />

no ip address<br />

no ip directed-broadcast<br />

no ip route-cache<br />

no ip mroute-cache<br />

shutdown<br />

no fair-queue<br />

clockrate 2015232<br />

!<br />

interface Serial0:23<br />

description "PRI D channel"<br />

ip unnumbered Dialer1<br />

no ip directed-broadcast<br />

encapsulation ppp<br />

no ip route-cache<br />

no logging event link-status<br />

timeout absolute 240 0<br />

dialer rotary-group 1<br />

dialer-group 5<br />

no snmp trap link-status<br />

isdn switch-type primary-5ess<br />

isdn incoming-voice modem<br />

no fair-queue<br />

compress stac<br />

no cdp enable<br />

!<br />

interface FastEthernet0<br />

ip address 172.22.80.3 255.255.255.0<br />

no ip directed-broadcast<br />

no ip route-cache<br />

no ip mroute-cache<br />

duplex auto<br />

speed auto<br />

!<br />

interface Group-Async1<br />

ip unnumbered Loopback0<br />

no ip directed-broadcast<br />

encapsulation ppp<br />

no ip route-cache<br />

ip tcp header-compression passive<br />

no ip mroute-cache<br />

no logging event link-status<br />

dialer in-band<br />

dialer idle-timeout 900<br />

async mode interactive<br />

no snmp trap link-status<br />

peer default ip address pool default<br />

no fair-queue<br />

no cdp enable<br />

ppp max-bad-auth 3<br />

ppp authentication pap chap<br />

group-range 1 192<br />

!<br />

interface Dialer1<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

A-7


A.1 Sample <strong>Cisco</strong> IOS Configuration Listings<br />

Appendix A<br />

<strong>AAA</strong> Device Configuration Listings<br />

no ip address<br />

no ip directed-broadcast<br />

encapsulation ppp<br />

no ip route-cache<br />

no ip mroute-cache<br />

no logging event link-statustimeout absolute 240 0<br />

dialer in-band<br />

dialer idle-timeout 300 either<br />

dialer-group 5<br />

no snmp trap link-status<br />

peer default ip address pool default<br />

no fair-queue<br />

compress stac<br />

no cdp enable<br />

ppp max-bad-auth 3<br />

ppp multilink<br />

!<br />

router eigrp 69<br />

network 172.22.0.0<br />

!<br />

ip local pool default 172.22.83.2 172.22.83.254<br />

ip default-gateway 172.22.80.1<br />

ip classless<br />

ip tacacs source-interface Loopback0<br />

ip http server<br />

!<br />

access-list 110 deny tcp any any eq telnet<br />

access-list 110 permit tcp any any<br />

tacacs-server host 172.22.53.204<br />

tacacs-server key ciscorules<br />

snmp-server engineID local 0000000902000050546B87BC<br />

snmp-server community xxxxxxxxx RO<br />

snmp-server community xxxxxxxxx RW<br />

radius-server host 172.22.53.204 auth-port 1645 acct-port 1646 key ciscorules<br />

banner login ^CC<br />

Welcome to maui-nas-03<br />

Maui-onions Lab<br />

Learning Rack ISG<br />

^C<br />

!<br />

line con 0<br />

authorization commands 15 NO_AUTHOR<br />

authorization exec NO_AUTHOR<br />

login authentication NO_AUTHEN<br />

transport input none<br />

line 1 192<br />

session-timeout 15<br />

exec-timeout 48 0<br />

autoselect during-login<br />

autoselect ppp<br />

absolute-timeout 240<br />

script dialer cisco_default<br />

refuse-message ^CCCCCCCC!!! All lines are busy, try again later ###^C<br />

modem InOut<br />

modem autoconfigure type mica<br />

transport preferred telnet<br />

transport input all<br />

transport output pad telnet rlogin udptn<br />

line aux 0<br />

line vty 0 4<br />

!<br />

end<br />

A-8<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Appendix A<br />

<strong>AAA</strong> Device Configuration Listings<br />

A.1 Sample <strong>Cisco</strong> IOS Configuration Listings<br />

A.1.3 Example Server-Based RADIUS NAS Configuration<br />

The following example of a server-based NAS configuration includes both dial-in and EXEC shell<br />

access configurations for RADIUS implementations:<br />

maui-nas-03#show running-config<br />

Building configuration...<br />

Current configuration:<br />

maui-nas-03#sh run<br />

Building configuration...<br />

Current configuration:<br />

!<br />

version 12.0<br />

service timestamps debug datetime msec localtime show-timezone<br />

service timestamps log datetime msec localtime show-timezone<br />

service password-encryption<br />

!<br />

hostname maui-nas-03<br />

!<br />

aaa new-model<br />

aaa authentication login default group radius local<br />

aaa authentication login NO_AUTHEN none<br />

aaa authentication ppp default if-needed group radius local<br />

aaa authorization exec default group radius if-authenticated<br />

aaa authorization exec NO_AUTHOR none<br />

aaa authorization commands 15 NO_AUTHOR none<br />

aaa accounting exec default stop-only group radius<br />

aaa accounting network default start-stop group radius<br />

!<br />

username admin privilege 15 password 7 xxxxxxxxxxxxx<br />

username diallocal access-class 110 password 7 xxxxxxxxxxx<br />

username diallocal autocommand ppp<br />

spe 1/0 1/7<br />

firmware location system:/ucode/mica_port_firmware<br />

spe 2/0 2/7<br />

firmware location system:/ucode/mica_port_firmware<br />

!<br />

!<br />

resource-pool disable<br />

!<br />

!<br />

!<br />

!<br />

!<br />

clock timezone CST -6<br />

clock summer-time CST recurring<br />

ip subnet-zero<br />

no ip domain-lookup<br />

ip domain-name maui-onions.com<br />

ip name-server 172.22.53.210<br />

!<br />

isdn switch-type primary-ni<br />

isdn voice-call-failure 0<br />

partition flash 2 24 8<br />

!<br />

!<br />

!<br />

controller T1 0<br />

framing esf<br />

clock source line primary<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

A-9


A.1 Sample <strong>Cisco</strong> IOS Configuration Listings<br />

Appendix A<br />

<strong>AAA</strong> Device Configuration Listings<br />

linecode b8zs<br />

pri-group timeslots 1-24<br />

!<br />

controller T1 1<br />

clock source line secondary 1<br />

!<br />

controller T1 2<br />

clock source line secondary 2<br />

!<br />

controller T1 3<br />

clock source line secondary 3<br />

!<br />

controller T1 4<br />

clock source line secondary 4<br />

!<br />

controller T1 5<br />

clock source line secondary 5<br />

!<br />

controller T1 6<br />

clock source line secondary 6<br />

!<br />

controller T1 7<br />

clock source line secondary 7<br />

!<br />

!<br />

interface Loopback0<br />

ip address 172.22.87.3 255.255.255.255<br />

no ip directed-broadcast<br />

no ip route-cache<br />

no ip mroute-cache<br />

!<br />

interface Loopback1<br />

ip address 172.22.83.1 255.255.255.0<br />

no ip directed-broadcast<br />

no ip route-cache<br />

no ip mroute-cache<br />

!<br />

interface Ethernet0<br />

no ip address<br />

no ip directed-broadcast<br />

no ip route-cache<br />

no ip mroute-cache<br />

shutdown<br />

!<br />

interface Serial0<br />

no ip address<br />

no ip directed-broadcast<br />

encapsulation ppp<br />

no ip route-cache<br />

no ip mroute-cache<br />

shutdown<br />

no fair-queue<br />

clockrate 2015232<br />

!<br />

interface Serial1<br />

no ip address<br />

no ip directed-broadcast<br />

no ip route-cache<br />

no ip mroute-cache<br />

shutdown<br />

no fair-queue<br />

clockrate 2015232<br />

!<br />

interface Serial2<br />

A-10<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Appendix A<br />

<strong>AAA</strong> Device Configuration Listings<br />

A.1 Sample <strong>Cisco</strong> IOS Configuration Listings<br />

no ip address<br />

no ip directed-broadcast<br />

no ip route-cache<br />

no ip mroute-cache<br />

shutdown<br />

no fair-queue<br />

clockrate 2015232<br />

!<br />

interface Serial3<br />

no ip address<br />

no ip directed-broadcast<br />

no ip route-cache<br />

no ip mroute-cache<br />

shutdown<br />

no fair-queue<br />

clockrate 2015232<br />

!<br />

interface Serial0:23<br />

description "PRI D channel"<br />

ip unnumbered Dialer1<br />

no ip directed-broadcast<br />

encapsulation ppp<br />

no ip route-cache<br />

no logging event link-status<br />

timeout absolute 240 0<br />

dialer rotary-group 1<br />

dialer-group 5<br />

no snmp trap link-status<br />

isdn switch-type primary-5ess<br />

isdn incoming-voice modem<br />

no fair-queue<br />

compress stac<br />

no cdp enable<br />

!<br />

interface FastEthernet0<br />

ip address 172.22.80.3 255.255.255.0<br />

no ip directed-broadcast<br />

no ip route-cache<br />

no ip mroute-cache<br />

duplex auto<br />

speed auto<br />

!<br />

interface Group-Async1<br />

ip unnumbered Loopback0<br />

no ip directed-broadcast<br />

encapsulation ppp<br />

no ip route-cache<br />

ip tcp header-compression passive<br />

no ip mroute-cache<br />

no logging event link-status<br />

dialer in-band<br />

dialer idle-timeout 900<br />

async mode interactive<br />

no snmp trap link-status<br />

peer default ip address pool default<br />

no fair-queue<br />

no cdp enable<br />

ppp max-bad-auth 3<br />

ppp authentication pap chap<br />

group-range 1 192<br />

!<br />

interface Dialer1<br />

no ip address<br />

no ip directed-broadcast<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

A-11


A.1 Sample <strong>Cisco</strong> IOS Configuration Listings<br />

Appendix A<br />

<strong>AAA</strong> Device Configuration Listings<br />

encapsulation ppp<br />

no ip route-cache<br />

no ip mroute-cache<br />

no logging event link-statustimeout absolute 240 0<br />

dialer in-band<br />

dialer idle-timeout 300 either<br />

dialer-group 5<br />

no snmp trap link-status<br />

peer default ip address pool default<br />

no fair-queue<br />

compress stac<br />

no cdp enable<br />

ppp max-bad-auth 3<br />

ppp multilink<br />

!<br />

router eigrp 69<br />

network 172.22.0.0<br />

!<br />

ip local pool default 172.22.83.2 172.22.83.254<br />

ip default-gateway 172.22.80.1<br />

ip classless<br />

ip tacacs source-interface Loopback0<br />

ip http server<br />

!<br />

access-list 110 deny tcp any any eq telnet<br />

access-list 110 permit tcp any any<br />

tacacs-server host 172.22.53.204<br />

tacacs-server key ciscorules<br />

snmp-server engineID local 0000000902000050546B87BC<br />

snmp-server community xxxxxxxxx RO<br />

snmp-server community xxxxxxxxx RW<br />

radius-server host 172.22.53.204 auth-port 1645 acct-port 1646 key ciscorules<br />

banner login ^CC<br />

Welcome to maui-nas-03<br />

Maui-onions Lab<br />

Learning Rack ISG<br />

^C<br />

!<br />

line con 0<br />

authorization commands 15 NO_AUTHOR<br />

authorization exec NO_AUTHOR<br />

login authentication NO_AUTHEN<br />

transport input none<br />

line 1 192<br />

session-timeout 15<br />

exec-timeout 48 0<br />

autoselect during-login<br />

autoselect ppp<br />

absolute-timeout 240<br />

script dialer cisco_default<br />

refuse-message ^CCCCCCCC!!! All lines are busy, try again later ###^C<br />

modem InOut<br />

modem autoconfigure type mica<br />

transport preferred telnet<br />

transport input all<br />

transport output pad telnet rlogin udptn<br />

line aux 0<br />

line vty 0 4<br />

!<br />

end<br />

A-12<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Appendix A<br />

<strong>AAA</strong> Device Configuration Listings<br />

A.2 Router <strong>AAA</strong> Command <strong>Implementation</strong> Descriptions<br />

A.2 Router <strong>AAA</strong> Command <strong>Implementation</strong> Descriptions<br />

Configurations addressed in this section focus on router administration configurations. Router<br />

administration configurations cause functions to run within the router shell. Examples include<br />

commands executed from a the router console, commands executed with a VTY connection, and a<br />

shell-initiated session established using a modem. Each is an example of an EXEC function. Table A-1<br />

provides commands relevant for a router in a <strong>Cisco</strong> IOS <strong>AAA</strong> environment.<br />

Table A-1<br />

<strong>Cisco</strong> IOS Commands Required to Set <strong>AAA</strong> for a Router<br />

<strong>Cisco</strong> IOS Command<br />

tacacs-server key secret-key<br />

aaa new-model<br />

aaa authentication login default group<br />

tacacs+<br />

aaa authorization exec default group tacacs+<br />

if-authenticated<br />

aaa authorization commands 15 default<br />

group tacacs+ if-authenticated<br />

aaa accounting exec default start-stop group<br />

tacacs+<br />

aaa accounting commands 15 default<br />

stop-only group tacacs+<br />

aaa accounting system default stop-only<br />

group tacacs+<br />

ip tacacs source-interface FastEthernet0/0/0<br />

Description/Application Comment<br />

Specifies encryption key; must be the same in <strong>AAA</strong> server.<br />

Enables <strong>AAA</strong>. Forces an implicit login authentication default<br />

against all lines/console interfaces and an implicit<br />

ppp authentication pap default against all PPP interfaces.<br />

Causes router to forward all login requests to <strong>AAA</strong> server.<br />

Use default list for authorization to verify service=shell attribute is<br />

assigned to user and download appropriate shell attributes assigned<br />

in <strong>AAA</strong> server.<br />

Use command authorization for privilege level 15 commands that<br />

must be assigned to router users for successful operation of these<br />

commands.<br />

Logs EXEC shell information for user profile in start-stop<br />

TACACS+ format.<br />

Sends TACACS+ accounting stop record at the end of a privilege<br />

level 15 command.<br />

Performs accounting for all system level events not associated with<br />

users, such as reloads in stop-start TACACS+ format.<br />

Specifies this interface IP address for management in the <strong>AAA</strong><br />

server.<br />

ip http server<br />

Enables HTTP server access.<br />

ip http authentication aaa Forces <strong>AAA</strong> authentication and authorization at privilege level 15.<br />

tacacs-server host IP-address<br />

Specifies <strong>AAA</strong> server.<br />

A.3 NAS <strong>AAA</strong> Command <strong>Implementation</strong> Descriptions<br />

Configurations addressed in this section focus on <strong>AAA</strong> withPPP. These configurations differ from<br />

router administration configurations. PPP is a network level function and is separate from router shell<br />

functions. You can configure PPP to be initiated automatically or you can initiate PPP with a terminal<br />

window after dialing in to a NAS. Table A-2 lists commands relevant for a NAS providing PPP access<br />

a <strong>Cisco</strong> IOS <strong>AAA</strong> environment.<br />

Note<br />

The following table lists <strong>Cisco</strong> IOS configuration commands required to support both<br />

TACACS+ and RADIUS <strong>AAA</strong> implementations.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

A-13


A.3 NAS <strong>AAA</strong> Command <strong>Implementation</strong> Descriptions<br />

Appendix A<br />

<strong>AAA</strong> Device Configuration Listings<br />

Table A-2<br />

<strong>Cisco</strong> IOS Commands Used to Set <strong>AAA</strong> with PPP for NAS (RADIUS and TACACS+)<br />

IOS Command<br />

aaa new-model<br />

aaa authentication login default group<br />

tacacs+<br />

aaa authentication login default group radius<br />

aaa authentication ppp default if-needed<br />

group radius<br />

aaa authentication ppp default if-needed<br />

group tacacs+<br />

aaa authorization exec default group radius<br />

if-authenticated<br />

aaa authorization exec default group tacacs+<br />

if-authenticated<br />

aaa authorization network default group<br />

tacacs+ if-authenticated<br />

aaa authorization network default group<br />

radius if-authenticated<br />

aaa accounting exec default start-stop group<br />

tacacs+<br />

aaa accounting network default start-stop<br />

group tacacs+<br />

aaa accounting exec default start-stop group<br />

radius<br />

aaa accounting network default start-stop<br />

group radius<br />

Description/Application Comment<br />

Enables authentication, authorization, and accounting. Forces an<br />

implicit login authentication default against all lines/console<br />

interfaces and an implicit ppp authentication pap default against<br />

all ppp interfaces.<br />

Causes router to forward all login requests to a TACACS+ server.<br />

Causes router to forward all login requests to a RADIUS server.<br />

Use default list for PPP authentication; the if-needed keyword<br />

allows clients using “Terminal Window after Dial” option to<br />

successfully authenticate to RADIUS server and negotiate PPP,<br />

without using Windows dialup networking username and password<br />

combination.<br />

Use default list for PPP authentication; the if-needed keyword<br />

allows clients using “Terminal Window after Dial” option to<br />

successfully authenticate to TACACS+ server and negotiate PPP,<br />

without using Windows dialup networking username and password<br />

combination.<br />

Use default list to verify authorization.<br />

Use default list for authorization to verify service=shell attribute is<br />

assigned to user and download appropriate shell attributes assigned<br />

in <strong>AAA</strong> server.<br />

Use default list for authorization to verify service=-ppp attribute is<br />

assigned to user or group and download appropriate PPP attributes<br />

assigned in <strong>AAA</strong> server. Command specifies that authorization is<br />

only permitted if user or group is properly authenticated through<br />

TACACS+.<br />

Use default list for authorization to verify Service-Type=Framed<br />

attribute is assigned to user or group and download appropriate PPP<br />

attributes assigned in <strong>AAA</strong> server. Command specifies that<br />

authorization is only permitted if user or group is properly<br />

authenticated through RADIUS.<br />

Logs EXEC shell information for user profile in start-stop<br />

TACACS+ format.<br />

Logs all network related services requests, such as PPP in<br />

stop-start TACACS+ format.<br />

Logs EXEC shell information for user profile in start-stop<br />

RADIUS format.<br />

Logs all network related services requests, such as PPP in<br />

stop-start RADIUS format.<br />

A-14<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Appendix A<br />

<strong>AAA</strong> Device Configuration Listings<br />

A.4 <strong>Cisco</strong>Secure for UNIX Configuration Listings<br />

Table A-2<br />

<strong>Cisco</strong> IOS Commands Used to Set <strong>AAA</strong> with PPP for NAS (RADIUS and TACACS+)<br />

IOS Command<br />

tacacs-server host IP-address key secret-key<br />

radius-server host IP-address auth-port 1645<br />

acct-port 1646 key secret-keys<br />

Description/Application Comment<br />

Specifies <strong>AAA</strong> server. Specifies encryption key; must be the same<br />

in <strong>AAA</strong> server.<br />

Specifies RADIUS <strong>AAA</strong> server IP address by using default UDP<br />

Port 1645 for authentication and authorization and UDP Port 1646<br />

for accounting.<br />

A.4 <strong>Cisco</strong>Secure for UNIX Configuration Listings<br />

This section provides the following listings:<br />

• A.4.1 CSU.cfg Listing<br />

• A.4.2 CSConfig.ini Listing<br />

• A.4.4 listener.ora Listing<br />

• A.4.3 Oracle User Environment Variable<br />

For a complete description of <strong>AAA</strong> server files, go to:<br />

http://www.cisco.com/univercd/cc/td/doc/product/access/acs_soft/cs_unx<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

A-15


A.4 <strong>Cisco</strong>Secure for UNIX Configuration Listings<br />

Appendix A<br />

<strong>AAA</strong> Device Configuration Listings<br />

A.4.1 CSU.cfg Listing<br />

# cd /opt/ciscosecure/config<br />

# ls<br />

CSConfig.ini CSU.cfg CSU.cfg.sav<br />

# cat CSU.cfg<br />

LIST config_license_key = {"a73dc113d300a5ba3459"};<br />

STRING config_update_log_filename = "/opt/ciscosecure/logfiles/passwd_chg.log";<br />

/* store accounting records here when database fails */<br />

/* default = /var/log/CSAccountingLog */<br />

STRING config_acct_filename = "/var/log/CSAccountingLog";<br />

/* <strong>AAA</strong> Server Metrics */<br />

/* default = 0 (disable) */<br />

NUMBER config_metrics_enable = 0; /* 1 to enable, 0 to disable */<br />

/* default = 8 seconds */<br />

NUMBER config_metrics_log_interval = 8; /* in seconds */<br />

/* Callerid as Username */<br />

/* default = 1 (enable) */<br />

NUMBER config_callerid_enable = 1; /* 1 to enable, 0 to disable */<br />

/* Use default user profile when user/callerid can't be found */<br />

/* default = 1 (enable) */<br />

NUMBER config_defaultuser_enable = 1; /* 1 to enable, 0 to disable */<br />

/* <strong>AAA</strong> Server MaxSessions Configuration */<br />

/* default = 0 (disable) */<br />

NUMBER config_maxsessions_enable = 0; /* 1 to enable, 0 to disable */<br />

/* default = 24 hours */<br />

NUMBER config_maxsessions_session_timeout = 1440; /* in minutes */<br />

/* default = 60 minutes */<br />

NUMBER config_maxsessions_purge_interval = 60; /* in minutes */<br />

/* <strong>AAA</strong> Server Distributed MaxSessions Configuration */<br />

/* default = 0 (disable) */<br />

NUMBER config_distmaxsessions_enable = 0; /* 1 to enable, 0 to disable */<br />

/* default = 0 (disabled) */<br />

NUMBER config_dms_periodic_stats_interval = 0; /* 0 to disable, otherwise inte<br />

rval in seconds */<br />

/* Cryptocard challenge lookahead */<br />

/* default = 0, which is same as 1, do only 1 challenge, don't look ahead */<br />

/* the maximum number of challenge look ahead is 20 */<br />

NUMBER config_cryptocard_challenge_lookahead = 0;<br />

/* Group Profile Cache Timeout; 0 == no timeout */<br />

/* default = 5 seconds */<br />

NUMBER config_cache_group_timeout = 5; /* in seconds */<br />

/* Per-user accounting function */<br />

/* default = 1 (enable) */<br />

NUMBER config_acct_fn_enable = 1; /* 1 to enable, 0 to disable */<br />

/* Extended Radius support */<br />

NUMBER config_hex_string_support_enable = 0; /* 1 to enable, 0 to disable */<br />

STRING config_server_ip_address = "172.23.25.41";<br />

NUMBER config_token_cache_absolute_timeout = 86400;<br />

NUMBER config_system_logging_level = 0x80;<br />

NUMBER config_logging_configuration = 0xffffffff;<br />

NUMBER config_warning_period = 20;<br />

NUMBER config_expiry_period = 60;<br />

A-16<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Appendix A<br />

<strong>AAA</strong> Device Configuration Listings<br />

A.4 <strong>Cisco</strong>Secure for UNIX Configuration Listings<br />

NUMBER config_local_timezone = -8; /* set this for your timezone */<br />

NUMBER config_use_host_timezone = 0;<br />

/* set value to 1 to always use system time<br />

*/<br />

NUMBER config_record_write_frequency = 5; /* update frequency in seconds */<br />

NUMBER config_max_failed_authentication = 10; /* nmbr of authen fails accepted *<br />

/<br />

/* before account is disabled. *<br />

/<br />

NAS config_nas_config = {<br />

{<br />

"", /* NAS name can go here */<br />

"ciscorules", /* NAS/<strong>Cisco</strong>Secure secret key */<br />

"", /* message_catalogue_filename */<br />

1, /* username retries */<br />

2, /* password retries */<br />

1 /* trusted NAS for SENDPASS */<br />

}<br />

};<br />

AUTHEN config_external_authen_symbols = {<br />

{<br />

"./libskey.so",<br />

"skey"<br />

}<br />

,<br />

{<br />

"./libpap.so",<br />

"pap"<br />

}<br />

,<br />

{<br />

"./libchap.so",<br />

"chap"<br />

}<br />

,<br />

{<br />

"./libarap.so",<br />

"arap"<br />

}<br />

};<br />

AUTHOR config_external_author_symbols = {<br />

{<br />

"./libargs.so",<br />

"process_input_arguments",<br />

"process_input_arguments_ok",<br />

"process_input_arguments_fail",<br />

"process_output_arguments",<br />

"process_output_arguments_ok",<br />

"process_output_arguments_fail"<br />

}<br />

};<br />

/*<br />

* Sample of pre/post process configuration.<br />

*<br />

AUTHOR config_external_author_symbols = {<br />

{<br />

"./libcustomerprovided.so",<br />

"customer_function"<br />

}<br />

};<br />

*<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

A-17


A.4 <strong>Cisco</strong>Secure for UNIX Configuration Listings<br />

Appendix A<br />

<strong>AAA</strong> Device Configuration Listings<br />

* end sample<br />

*/<br />

ACCT config_external_acct_symbols = {<br />

{<br />

"./libacctmember.so",<br />

"acct_member_fn"<br />

}<br />

};<br />

ADMIN config_external_admin_symbols = {<br />

"./libadmin.so"<br />

};<br />

DB config_external_database_symbols = {<br />

{<br />

"./libdb.so",<br />

"",<br />

""<br />

}<br />

};<br />

PARSER config_external_parser_symbols = {<br />

"./libt+.so"<br />

};<br />

EVENT config_external_event_symbols = {<br />

{<br />

"./libdb.so",<br />

"",<br />

""<br />

}<br />

};<br />

DMS config_external_dms_symbols = {<br />

"./lib<strong>Cisco</strong>DMS.so"<br />

};<br />

#<br />

#<br />

A-18<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Appendix A<br />

<strong>AAA</strong> Device Configuration Listings<br />

A.4 <strong>Cisco</strong>Secure for UNIX Configuration Listings<br />

A.4.2 CSConfig.ini Listing<br />

#<br />

#cat CSConfig.ini<br />

############################################################<br />

#<br />

# $Archive: $<br />

#<br />

# (C) Copyright 1996 <strong>Cisco</strong> Systems. All rights reserved.<br />

#<br />

# This is <strong>Cisco</strong>Secure DBServer main initialization file.<br />

#<br />

# $Log: $<br />

#<br />

# $NoKeyWords: $<br />

#<br />

############################################################<br />

;<br />

; 1 2 3 4 5 6 7 8<br />

;2345678901234567890123456789012345678901234567890123456789012345678901234567890<br />

;<br />

;-------------------------------------------------------------------------------<br />

[System]<br />

; Location where the system is installed<br />

RootDir=/opt/ciscosecure<br />

; Location of the default profile (default= $RootDir/config/DefaultProfile)<br />

DefaultProfile=/opt/ciscosecure/config/DefaultProfile<br />

;-------------------------------------------------------------------------------<br />

[System Error]<br />

SysErrorFileDir = /opt/ciscosecure/logfiles<br />

; DBServer gets the default path for System error handler here<br />

; if it was not specified at command line with option<br />

; [-LOGPATH path] when starting the DBServer deamon.<br />

; DBServer must have sufficient access privilege to create this<br />

: path and the log file if it does not already exist.<br />

; log levels are 1 thru 10 where Minor=1, Moderate=5, Severe=8, Catastrophic=10<br />

; (note: Catastrophic errors will shutdown the daemon)<br />

MinLogLevel = 8<br />

;-------------------------------------------------------------------------------<br />

[SessionMgr]<br />

; Session Manager configurables, purge interval is in minutes<br />

MaxSessions=1000<br />

PurgeInterval=60<br />

;-------------------------------------------------------------------------------<br />

[AccountingMgr]<br />

;If this parameter=enable then log acct packets into cs_accounting_log database<br />

table<br />

LogRawAccountingPacketToDB = enable<br />

;If we are logging accounting records then this parameter decides whether to buffer the<br />

records<br />

; in memory and then save them to the database using a background process. Enabl<br />

ing this will<br />

; increase burst authentication performance.<br />

;If enabled the DBServer will create enough buffers to match the value of 2 less<br />

than<br />

; the number of database connections available.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

A-19


A.4 <strong>Cisco</strong>Secure for UNIX Configuration Listings<br />

Appendix A<br />

<strong>AAA</strong> Device Configuration Listings<br />

; NOTE: There is a risk of losing records that are in memory in the event of the<br />

DBServer going<br />

; down ungracefully.<br />

BufferAccountingPackets = enable<br />

;This parameter decides the size of each accounting packet buffer. Legal values<br />

are from 5 to 1000<br />

AccountingBufferSize = 500<br />

; if parameter=enable then dbserver will process user max session info and save<br />

in memory,<br />

; if disabled then ArchiveMaxSessionInfoToDB will also be disabled.<br />

ProcessInMemoryMaxSessionInfo = enable<br />

; If this parameter=enable then log user max session info into cs_user_accounting<br />

database table<br />

; Note that if the BufferAccountingPackets parameter is enabled AND<br />

ProcessInMemoryMaxSessionInfo<br />

; is enabled then max session info records will be buffered as well.<br />

ArchiveMaxSessionInfoToDB = enable<br />

; This is how often (in minutes) the system checks for accounting sessions to<br />

; purge.<br />

; NOTE: The purge interval is actually dependant upon a system background task<br />

; that is not guaranteed to run more frequently than 60 minutes. This<br />

; value is therefore not accurate to the minute and should not be set to<br />

; less than 60.<br />

AcctPurgeInterval=60<br />

; This is how long (in minutes) a session can be considered<br />

; active before it is purged.<br />

; NOTE: This value is dependent on the AcctPurgeInterval setting and is not<br />

; accurate to the minute. It is not intended to be set to less than 60.<br />

AcctPurgeTimeOut=1440<br />

;-------------------------------------------------------------------------------<br />

[DBServer]<br />

DBServerName = CSdbServer<br />

Protocol=TCP<br />

MaxPacketSize = 4096<br />

; Each DBServer process should have it's own unique name.<br />

; Do not put the hostname here in case more than one instance<br />

; of the DBServer is running on the same machine<br />

;The following is for internal use only by the DBServer<br />

;Date format expected from the client application such as the GUI,<br />

;to be used for parsing date/time string. The dbserver will reject<br />

;inputs that contains other date/time format. This format will also<br />

;be used to return date/time strings.<br />

;Examples, "d MMM yyyy" => "12 Feb 1997", "EEE MMM d hh:mm:ss z yyyy" => "Tue Ap<br />

r 1 09:26:55 PST 1997"<br />

DateFormat = "d MMM yyyy"<br />

DateTimeFormat = "EEE MMM d hh:mm:ss z yyyy"<br />

;-------------------------------------------------------------------------------<br />

[ValidClients]<br />

100 = sleddog<br />

; Add list of trusted clients above ^^^^ in the format:<br />

; ClientID = Client's Host Name<br />

; CGI stub's clientID=100, and it's host name<br />

; For example 100 = localhost or 100 = 192.92.182.2<br />

; 101 = 192.92.190.5<br />

;<br />

A-20<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Appendix A<br />

<strong>AAA</strong> Device Configuration Listings<br />

A.4 <strong>Cisco</strong>Secure for UNIX Configuration Listings<br />

;if ValidateClients=true, then we only allow the clients with ids listed<br />

;above to connect to the dbserver<br />

ValidateClients = false<br />

;if FastAdminValidateClients = true, then we only allow the clients with ids<br />

;listed below to connect to the FastAdmin<br />

FastAdminValidateClients = false<br />

;-------------------------------------------------------------------------------<br />

[Protocol TCP]<br />

HostName = sleddog<br />

Port = 9900<br />

; Name of host server<br />

; Daemon port number<br />

;Port=5001<br />

;-------------------------------------------------------------------------------<br />

[Workers Pool]<br />

; Maximum numbers of connection workers in pool, beyond which<br />

; newly added workers will be ignored (or deleted).<br />

MaxInPool=50<br />

;-------------------------------------------------------------------------------<br />

[Database]<br />

DataSource = ORACLE<br />

DriverType = JDBC-Weblogic-Oracle<br />

; Specify the rdbms installed and the driver type<br />

; (ODBC or JDBC) that interfaces with the rdbms.<br />

; Driver=ODBC or Driver=JDBC, then go to the [ODBC]<br />

; or [JDBC] section to fill in the URL info.<br />

# Oracle with ODBC<br />

;DataSource = ORACLE<br />

;DriverType = ODBC-Visigenic-Oracle<br />

# Oracle with JDBC<br />

;DataSource = ORACLE<br />

;DriverType = JDBC-Weblogic-Oracle<br />

# SQLAnywhere with ODBC<br />

;DataSource = SQLAnywhere<br />

;DriverType = ODBC-SQLAnywhere<br />

# Sybase with ODBC<br />

;DataSource = SYBASE<br />

;DriverType = ODBC-Visigenic-Sybase<br />

# Sybase with JDBC<br />

;DataSource = SYBASE<br />

;DriverType = JDBC-Weblogic-Sybase<br />

# Test with some other DB that we did not qualify<br />

;DataSource = OtherDB<br />

;DriverType = ODBC-Visigenic<br />

# names of data dictionary<br />

ProfileAttr = cs_profile_attr_dict<br />

ProfileCol = cs_profile_col_dict<br />

UserAcct = cs_user_account_attr_dict<br />

;-------------------------------------------------------------------------------<br />

[SQLAnywhere]<br />

;this is the bundle database<br />

ConnectionLicense = 12<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

A-21


A.4 <strong>Cisco</strong>Secure for UNIX Configuration Listings<br />

Appendix A<br />

<strong>AAA</strong> Device Configuration Listings<br />

Username = DBA<br />

Password = SQL<br />

;-------------------------------------------------------------------------------<br />

[OtherDB]<br />

;number of open connections allowed to the data source(based on db license)<br />

ConnectionLicense = 1<br />

Username = csecure<br />

Password = csecure<br />

;-------------------------------------------------------------------------------<br />

[ORACLE]<br />

;number of open connections allowed to the data source(based on db license)<br />

ConnectionLicense=4<br />

Username = csecure<br />

Password = csecure<br />

;-------------------------------------------------------------------------------<br />

[SYBASE]<br />

;number of open connections allowed to the data source(based on db license)<br />

ConnectionLicense = 8<br />

Username = csecure<br />

Password = csecure<br />

;-------------------------------------------------------------------------------<br />

[ODBC-SQLAnywhere]<br />

;ODBC driver information<br />

Manager = sun.jdbc.odbc.JdbcOdbcDriver<br />

Driver = jdbc:odbc:SQLAnywhere;ENG=csecure;DBF=;Start="dbeng50 -u<br />

d"<br />

;Property below is required for internal use only: connection usage property<br />

PrepareStatement = 0<br />

;-------------------------------------------------------------------------------<br />

[ODBC-Visigenic-Oracle]<br />

;ODBC driver information<br />

Manager = sun.jdbc.odbc.JdbcOdbcDriver<br />

Driver = jdbc:odbc:Oracle<br />

;Property below is required for internal use only: connection usage property<br />

PrepareStatement = 1<br />

;-------------------------------------------------------------------------------<br />

[ODBC-Visigenic-Sybase]<br />

;ODBC driver information<br />

Manager = sun.jdbc.odbc.JdbcOdbcDriver<br />

Driver = jdbc:odbc:SybaseDBLib<br />

;Property below is required for internal use only: connection usage property<br />

PrepareStatement = 1<br />

;-------------------------------------------------------------------------------<br />

[JDBC-Weblogic-Oracle]<br />

;JDBC driver information<br />

Manager=cisco.ciscosecure.dbserver.jdbc.WeblogicOciDriverManager<br />

Driver=jdbc:weblogic:oracle:ciscosj<br />

;Property below is required for internal use only: connection usage property<br />

PrepareStatement = 1<br />

;-------------------------------------------------------------------------------<br />

[JDBC-Weblogic-Sybase]<br />

;JDBC driver information<br />

Manager=cisco.ciscosecure.dbserver.jdbc.WeblogicDBLibDriverManager<br />

Driver=jdbc:weblogic:sybase<br />

;Property below is required for internal use only: connection usage property<br />

PrepareStatement = 1<br />

A-22<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Appendix A<br />

<strong>AAA</strong> Device Configuration Listings<br />

A.4 <strong>Cisco</strong>Secure for UNIX Configuration Listings<br />

;-------------------------------------------------------------------------------<br />

[ProfileCaching]<br />

EnableProfileCaching = OFF<br />

;Polling period in minutes for cs_trans_log table<br />

; Interval in seconds can be specified by fraction.<br />

; For example, '5/60' denotes 5 seconds and '1 1/2' denotes 90 seconds.<br />

; Setting to 0 disbles polling.<br />

DBPollInterval = 30<br />

;-------------------------------------------------------------------------------<br />

A.4.3 Oracle User Environment Variable<br />

#su - oracle<br />

Sun Microsystems Inc. SunOS 5.5.1 Generic May 1996<br />

$env<br />

HOME=/export/home/oracle<br />

HZ=100<br />

LD_LIBRARY_PATH=/opt/oracle/product/7.3.4/lib:/usr/openwin/lib:/usr/dt/lib:/usr/<br />

lib<br />

LOGNAME=oracle<br />

ORACLE_DOC=/doc<br />

ORACLE_HOME=/opt/oracle/product/7.3.4<br />

ORACLE_SID=ciscosj<br />

ORACLE_TERM=xsun5<br />

ORAENV_ASK=NO<br />

PATH=/usr/bin::/opt/oracle/product/7.3.4:/opt/oracle/product/7.3.4/bin:/usr/ccs/<br />

bin:<br />

SHELL=/bin/sh<br />

TERM=ansi<br />

TMPDIR=/var/tmp<br />

TNS_ADMIN=/opt/oracle/product/7.3.4/network/admin<br />

TZ=GMT-8<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

A-23


A.4 <strong>Cisco</strong>Secure for UNIX Configuration Listings<br />

Appendix A<br />

<strong>AAA</strong> Device Configuration Listings<br />

A.4.4 listener.ora Listing<br />

$cd $ORACLE_HOME/<br />

$ls<br />

bin jdbc nlsrtl3 orainst precomp sqlplus<br />

book22 lib ocommon otrace rdbms svrmgr<br />

dbs network oracore3 plsql slax<br />

$cd network/admin<br />

$ls<br />

csmgen.tcl listener.ora tcl7.4 tnsnames.ora<br />

csmman.man sqlnet.fdf tk4.0<br />

$cat listener.ora<br />

#<br />

# Installation Generated Net V2 Configuration<br />

# Version Date: Sep-16-97<br />

# Filename: Listener.ora<br />

#<br />

LISTENER =<br />

(ADDRESS_LIST =<br />

(ADDRESS= (PROTOCOL= IPC)(KEY= ciscosj))<br />

(ADDRESS= (PROTOCOL= IPC)(KEY= PNPKEY))<br />

(ADDRESS= (PROTOCOL= TCP)(Host= sleddog)(Port= 1521))<br />

)<br />

SID_LIST_LISTENER =<br />

(SID_LIST =<br />

(SID_DESC =<br />

(GLOBAL_DBNAME= sleddog.)<br />

(ORACLE_HOME= /opt/oracle/product/7.3.4)<br />

(SID_NAME = ciscosj)<br />

)<br />

)<br />

STARTUP_WAIT_TIME_LISTENER = 0<br />

CONNECT_TIMEOUT_LISTENER = 10<br />

TRACE_LEVEL_LISTENER = OFF<br />

$ls<br />

csmgen.tcl listener.ora tcl7.4 tnsnames.ora<br />

csmman.man sqlnet.fdf tk4.0<br />

$cat tnsnames.ora<br />

#<br />

# Installation Generated NetV2 Configuration<br />

# Version Date: Sep-30-97<br />

# Filename: Tnsnames.ora<br />

#<br />

ciscosj =<br />

(DESCRIPTION =<br />

(ADDRESS = (PROTOCOL= TCP)(Host= sleddog)(Port= 1521))<br />

(CONNECT_DATA = (SID = ciscosj))<br />

)<br />

A-24<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Appendix A<br />

<strong>AAA</strong> Device Configuration Listings<br />

A.5 <strong>Cisco</strong>Secure Log Files<br />

A.5 <strong>Cisco</strong>Secure Log Files<br />

$CSUBASE/logfiles/cs_install.log<br />

$CSUBASE/logfiles/cs_shutdown.log<br />

$CSUBASE/logfiles/cs_startup.log<br />

$CSUBASE/logfiles/csdblog_<br />

$CSUBASE/logfiles/passwd_chg.log<br />

$CSUBASE/ns-home/CSUServer/logs/access<br />

$CSUBASE/ns-home/CSUServer/logs/errors<br />

$CSUBASE/ns-home/admserver/errors<br />

$CSUBASE/ns-home/admserver/access<br />

$CSUBASE/ns-home-httpd-csuserver/logs<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

A-25


A.5 <strong>Cisco</strong>Secure Log Files<br />

Appendix A<br />

<strong>AAA</strong> Device Configuration Listings<br />

A-26<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


APPENDIX<br />

B<br />

<strong>AAA</strong> Impact on Maintenance Tasks<br />

Most BootFlash images do not recognize all <strong>Cisco</strong> IOS aaa commands. As a result, invoking a<br />

BootFlash image can lead to a password recovery situation unless the <strong>Cisco</strong> IOS fragments listed in this<br />

appendix are used to disable <strong>AAA</strong>. One example of a situation requiring the inclusion of this<br />

configuration is a software image upgrade for a <strong>Cisco</strong> AS5200 access server.<br />

Include the following <strong>Cisco</strong> IOS commands to disable <strong>AAA</strong> authentication and authorization on the<br />

console and VTY ports of a NAS:<br />

aaa authentication login NO_AUTHENT none<br />

aaa authorization exec NO_AUTHOR none<br />

aaa authorization commands 15 NO_AUTHOR none<br />

line con 0<br />

authorization exec NO_AUTHOR<br />

login authentication NO_AUTHENT<br />

authorization commands 15 NO_AUTHOR<br />

line vty 0 4<br />

authorization commands 15 NO_AUTHOR<br />

authorization exec NO_AUTHOR<br />

login authentication NO_AUTHENT<br />

Note<br />

Refer to “4.6 Implementing Server-Based TACACS+ Router Authorization” for related<br />

implementation information.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

B-1


Appendix B<br />

<strong>AAA</strong> Impact on Maintenance Tasks<br />

B-2<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


APPENDIX<br />

C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic<br />

Output<br />

This appendix is organized into the following sections:<br />

• C.1 Server-Based TACACS+ Dialup Authentication Diagnostics<br />

• C.2 Server-Based TACACS+ Dialup Authorization Diagnostics<br />

• C.3 Server-Based RADIUS Dialup Authentication Diagnostics<br />

• C.4 Server-Based RADIUS Dialup Authorization Diagnostics<br />

• C.5 Server-Based TACACS+ Router Authentication Diagnostics<br />

• C.6 Server-Based TACACS+ Router Authorization Diagnostics<br />

Diagnostic examples present captured output from debug command (router) and tail command (<strong>AAA</strong><br />

server) listings.<br />

Note<br />

Output fragments provided here are excerpted from the applicable debug command output<br />

or <strong>AAA</strong> server csuslog file—unless otherwise noted. Diagnostic content is gathered from<br />

the <strong>AAA</strong> server by using the tail -f /var/log/csuslog command. Pertinent portions of<br />

output are included as fragments of complete listings.<br />

C.1 Server-Based TACACS+ Dialup Authentication Diagnostics<br />

The following test results for “4.1 Implementing Server-Based TACACS+ Dialup Authentication”<br />

provide relevant NAS and <strong>AAA</strong> server log output:<br />

1. Authentication login is successful for user tac_dial.<br />

2. PAP authentication request for user tac_dial.<br />

3. Creation of user tac_dial, service=ppp.<br />

4. Authentication PASS received from <strong>AAA</strong> server.<br />

Note<br />

Use these debug commands: debug aaa authentication and<br />

debug ppp authentication.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

C-1


C.2 Server-Based TACACS+ Dialup Authorization Diagnostics<br />

Appendix C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic Output<br />

The following diagnostic results are presented in the order in which they are generated during the<br />

authentication process. Specific output fragments are differentiated with brief explanatory notes to help<br />

you identify relevant information.<br />

Note<br />

The debug command output can vary depending on <strong>Cisco</strong> IOS versions.<br />

1. Authentication login is successful for user tac_dial.<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 4 10:40:13 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHENTICATION START request<br />

(8d2d325f)<br />

Feb 4 10:40:13 coachella <strong>Cisco</strong>Secure: DEBUG - Authentication - LOGIN successful;<br />

[NAS = 172.22.63.1, Port = Async3, User = tac_dial, Priv = 1]<br />

2. PAP authentication request for user tac_dial.<br />

NAS debug output:<br />

113288: Feb 4 10:40:13.696 CST: As3 PAP: I AUTH-REQ id 1 len 23 from "tac_dial"<br />

113289: Feb 4 10:40:13.696 CST: As3 PAP: Authenticating peer tac_dial<br />

3. Creation of user tac_dial, service=ppp.<br />

NAS debug output:<br />

113290: Feb 4 10:40:13.696 CST: <strong>AAA</strong>: parse name=Async3 idb type=10 tty=3<br />

113291: Feb 4 10:40:13.696 CST: <strong>AAA</strong>: name=Async3 flags=0x11 type=4 shelf=0 slot=0<br />

adapter=0 port=3 channel=0<br />

113292: Feb 4 10:40:13.696 CST: <strong>AAA</strong>: parse name=Serial0:4 idb type=12 tty=-1<br />

113293: Feb 4 10:40:13.696 CST: <strong>AAA</strong>: name=Serial0:4 flags=0x51 type=1 shelf=0 slot=0<br />

adapter=0 port=0 channel=4<br />

113294: Feb 4 10:40:13.696 CST: <strong>AAA</strong>/MEMORY: create_user (0x61E09254) user='tac_dial'<br />

ruser='' port='Async3' rem_addr='async/81560' authen_type=PAP service=PPP priv=1<br />

113295: Feb 4 10:40:13.696 CST: <strong>AAA</strong>/AUTHEN/START (2368549471): port='Async3' list=''<br />

action=LOGIN service=PPP<br />

4. Authentication PASS received from <strong>AAA</strong> server.<br />

NAS debug output:<br />

113296: Feb 4 10:40:13.696 CST: <strong>AAA</strong>/AUTHEN/START (2368549471): using "default" list<br />

113297: Feb 4 10:40:13.696 CST: <strong>AAA</strong>/AUTHEN (2368549471): status = UNKNOWN<br />

113298: Feb 4 10:40:13.696 CST: <strong>AAA</strong>/AUTHEN/START (2368549471): Method=tacacs+<br />

(tacacs+)<br />

113299: Feb 4 10:40:13.696 CST: TAC+: send AUTHEN/START packet ver=193 id=2368549471<br />

113300: Feb 4 10:40:13.900 CST: TAC+: ver=193 id=2368549471 received AUTHEN status =<br />

PASS<br />

C.2 Server-Based TACACS+ Dialup Authorization Diagnostics<br />

The following test results for “4.2 Implementing Server-Based TACACS+ Dialup Authorization”<br />

provide relevant NAS and <strong>AAA</strong> server log output:<br />

1. User dialtest is authorized EXEC shell access to the NAS.<br />

2. User dialtest starts PPP from the shell and is assigned the addr-pool=default and inacl=110 AVPs.<br />

3. User dialtest is authorized EXEC shell access to NAS.<br />

4. User dialtest is assigned the addr-pool=default AVP through network authorization.<br />

C-2<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Appendix C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic Output<br />

C.2 Server-Based TACACS+ Dialup Authorization Diagnostics<br />

5. User dialtest is assigned the inacl=110 AVP through network authorization.<br />

6. User dialtest starts PPP and is assigned the addr-pool=default and inacl=110AVPs.<br />

Note<br />

Use this debug command: debug aaa authorization.<br />

The following diagnostic results are presented in the order in which they are generated during the<br />

authorization process. Specific output fragments are differentiated with brief explanatory notes to help<br />

you identify relevant information.<br />

Note<br />

The debug command output can vary depending on <strong>Cisco</strong> IOS versions.<br />

1. User dialtest is authorized EXEC shell access to the NAS.<br />

<strong>AAA</strong> server csuslog output:<br />

Apr 6 15:48:06 sleddog <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (365f23d3)<br />

Apr 6 15:48:06 sleddog <strong>Cisco</strong>Secure: DEBUG - Authorization - Request authorized; [NAS<br />

= 172.23.84.35, user = dialtest, port = tty8, input: service=shell cmd* output: ]<br />

2. User dialtest starts PPP from the shell and is assigned the addr-pool=default and inacl=110 AVPs.<br />

<strong>AAA</strong> server csuslog output:<br />

Apr 6 15:48:07 sleddog <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (74e5f744)<br />

Apr 6 15:48:07 sleddog <strong>Cisco</strong>Secure: DEBUG - Authorization - Request authorized; [NAS<br />

= 172.23.84.35, user = dialtest, port = tty8, input: service=ppp protocol=ip<br />

addr-pool*default output: inacl=110]<br />

Apr 6 15:48:13 sleddog <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (78655fcd)<br />

Apr 6 15:48:13 sleddog <strong>Cisco</strong>Secure: DEBUG - Authorization - Request authorized; [NAS<br />

= 172.23.84.35, user = dialtest, port = tty8, input: service=ppp protocol=lcp output:<br />

]<br />

Apr 6 15:48:13 sleddog <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (cae30c69)<br />

Apr 6 15:48:13 sleddog <strong>Cisco</strong>Secure: DEBUG - Authorization - Request authorized; [NAS<br />

= 172.23.84.35, user = dialtest, port = tty8, input: service=ppp protocol=ip output:<br />

addr-pool=default inacl=110]<br />

3. User dialtest is authorized EXEC shell access to NAS.<br />

NAS debug output:<br />

*Apr 6 00:12:29.932: As8 <strong>AAA</strong>/AUTHOR/EXEC (912204755): Port='tty8' list=''<br />

service=EXEC<br />

*Apr 6 00:12:29.932: <strong>AAA</strong>/AUTHOR/EXEC: As8 (912204755) user='dialtest'<br />

*Apr 6 00:12:29.932: As8 <strong>AAA</strong>/AUTHOR/EXEC (912204755): send AV service=shell<br />

*Apr 6 00:12:29.932: As8 <strong>AAA</strong>/AUTHOR/EXEC (912204755): send AV cmd*<br />

*Apr 6 00:12:29.932: As8 <strong>AAA</strong>/AUTHOR/EXEC (912204755): found list "default"<br />

*Apr 6 00:12:29.932: As8 <strong>AAA</strong>/AUTHOR/EXEC (912204755): Method=tacacs+ (tacacs+)<br />

*Apr 6 00:12:29.932: <strong>AAA</strong>/AUTHOR/TAC+: (912204755): user=dialtest<br />

*Apr 6 00:12:29.932: <strong>AAA</strong>/AUTHOR/TAC+: (912204755): send AV service=shell<br />

*Apr 6 00:12:29.932: <strong>AAA</strong>/AUTHOR/TAC+: (912204755): send AV cmd*<br />

*Apr 6 00:12:30.136: As8 <strong>AAA</strong>/AUTHOR (912204755): Post authorization status =<br />

PASS_ADD<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

C-3


C.3 Server-Based RADIUS Dialup Authentication Diagnostics<br />

Appendix C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic Output<br />

4. User dialtest is assigned the addr-pool=default AVP through network authorization.<br />

NAS debug output:<br />

*Apr 6 00:12:31.480: <strong>AAA</strong>/AUTHOR/PPP: As8 (1961228100) user='dialtest'<br />

*Apr 6 00:12:31.480: As8 <strong>AAA</strong>/AUTHOR/PPP (1961228100): send AV service=ppp<br />

*Apr 6 00:12:31.480: As8 <strong>AAA</strong>/AUTHOR/PPP (1961228100): send AV protocol=ip<br />

*Apr 6 00:12:31.480: As8 <strong>AAA</strong>/AUTHOR/PPP (1961228100): send AV addr-pool*default<br />

*Apr 6 00:12:31.480: As8 <strong>AAA</strong>/AUTHOR/PPP (1961228100): found list "default"<br />

*Apr 6 00:12:31.480: As8 <strong>AAA</strong>/AUTHOR/PPP (1961228100): Method=tacacs+ (tacacs+)<br />

*Apr 6 00:12:31.480: <strong>AAA</strong>/AUTHOR/TAC+: (1961228100): user=dialtest<br />

*Apr 6 00:12:31.480: <strong>AAA</strong>/AUTHOR/TAC+: (1961228100): send AV service=ppp<br />

*Apr 6 00:12:31.480: <strong>AAA</strong>/AUTHOR/TAC+: (1961228100): send AV protocol=ip<br />

*Apr 6 00:12:31.480: <strong>AAA</strong>/AUTHOR/TAC+: (1961228100): send AV addr-pool*default<br />

*Apr 6 00:12:31.684: As8 <strong>AAA</strong>/AUTHOR (1961228100): Post authorization status =<br />

PASS_ADD<br />

5. User dialtest is assigned the inacl=110 AVP through network authorization.<br />

NAS debug output:<br />

*Apr 6 00:12:31.684: <strong>AAA</strong>/AUTHOR/Async8: PPP: Processing AV service=ppp<br />

*Apr 6 00:12:31.684: <strong>AAA</strong>/AUTHOR/Async8: PPP: Processing AV protocol=ip<br />

*Apr 6 00:12:31.684: <strong>AAA</strong>/AUTHOR/Async8: PPP: Processing AV addr-pool*default<br />

*Apr 6 00:12:31.684: <strong>AAA</strong>/AUTHOR/Async8: PPP: Processing AV inacl=110<br />

6. User dialtest starts PPP and is assigned the addr-pool=default and inacl=110 AVPs.<br />

NAS debug output:<br />

*Apr 6 00:33:05.860: As9 <strong>AAA</strong>/AUTHOR/IPCP: Says use pool default<br />

*Apr 6 00:33:05.864: As9 <strong>AAA</strong>/AUTHOR/IPCP: Pool returned 172.23.25.37<br />

*Apr 6 00:33:05.864: As9 <strong>AAA</strong>/AUTHOR/IPCP: Processing AV service=ppp<br />

*Apr 6 00:33:05.864: As9 <strong>AAA</strong>/AUTHOR/IPCP: Processing AV protocol=ip<br />

*Apr 6 00:33:05.864: As9 <strong>AAA</strong>/AUTHOR/IPCP: Processing AV addr-pool=default<br />

*Apr 6 00:33:05.864: As9 <strong>AAA</strong>/AUTHOR/IPCP: Processing AV inacl=110<br />

*Apr 6 00:33:05.864: As9 <strong>AAA</strong>/AUTHOR/IPCP: Processing AV addr*172.23.25.37<br />

*Apr 6 00:33:05.864: As9 <strong>AAA</strong>/AUTHOR/IPCP: Authorization succeeded<br />

C.3 Server-Based RADIUS Dialup Authentication Diagnostics<br />

The following test results for “4.3 Implementing Server-Based RADIUS Dialup Authentication”<br />

provide relevant NAS output:<br />

1. User rad_dial successfully passes authentication on port Async 5).<br />

2. User rad_dial successfully passes authentication.<br />

Note<br />

Use these debug commands: debug aaa authentication and debug ppp<br />

authentication.<br />

The following diagnostic results are presented in the order in which they are generated during the<br />

authentication process. Specific output fragments are differentiated with brief explanatory notes to help<br />

identify relevant information.<br />

C-4<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Appendix C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic Output<br />

C.4 Server-Based RADIUS Dialup Authorization Diagnostics<br />

Note<br />

The debug command output can vary depending on <strong>Cisco</strong> IOS versions.<br />

1. User rad_dial successfully passes authentication on port Async 5).<br />

NAS debug output:<br />

00:38:42: <strong>AAA</strong>/MEMORY: create_user (0x61619F48) user='rad_dial' ruser='' port='Async5'<br />

rem_addr='65004/65301' authen_type=PAP service=PPP priv=1<br />

00:38:42: <strong>AAA</strong>/AUTHEN/START (3896270890): port='Async5' list='' action=LOGIN<br />

service=PPP<br />

00:38:42: <strong>AAA</strong>/AUTHEN/START (3896270890): using "default" list<br />

00:38:42: <strong>AAA</strong>/AUTHEN (3896270890): status = UNKNOWN<br />

00:38:42: <strong>AAA</strong>/AUTHEN/START (3896270890): Method=radius (radius)<br />

00:38:42: <strong>AAA</strong>/AUTHEN (3896270890): status = PASS<br />

2. User rad_dial successfully passes authentication.<br />

NAS debug output:<br />

Apr 6 16:18:19 danvers <strong>Cisco</strong>Secure: INFO - Profile: user = rad_dial {<br />

Apr 6 16:18:19 danvers set server current-failed-logins = 0<br />

Apr 6 16:18:19 danvers profile_cycle = 9<br />

C.4 Server-Based RADIUS Dialup Authorization Diagnostics<br />

The following test results for “4.4 Implementing Server-Based RADIUS Dialup Authorization” provide<br />

relevant NAS server log output:<br />

1. User rad_dial is authorized for protocol=lcp.<br />

2. User rad_dial is authorized for IPCP.<br />

3. Input access-list is verified as 110 while the output access-list is shown as not set.<br />

Note<br />

Use these commands: debug aaa authorization and show caller user rad_dial<br />

detail.<br />

The following diagnostic results are presented in the order in which they are generated during the<br />

authorization process. Specific output fragments are differentiated with brief explanatory notes to you<br />

identify relevant information.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

C-5


C.4 Server-Based RADIUS Dialup Authorization Diagnostics<br />

Appendix C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic Output<br />

Note<br />

The debug command output can vary depending on <strong>Cisco</strong> IOS versions.<br />

1. User rad_dial is authorized for protocol=lcp.<br />

NAS debug output:<br />

01:02:17: <strong>AAA</strong>/MEMORY: create_user (0x61504AC4) user='rad_dial' ruser='' port='As<br />

ync6' rem_addr='65004/65301' authen_type=PAP service=PPP priv=1<br />

01:02:17: As6 <strong>AAA</strong>/AUTHOR/LCP: Authorize LCP<br />

01:02:17: As6 <strong>AAA</strong>/AUTHOR/LCP (3341570658): Port='Async6' list='' service=NET<br />

01:02:17: <strong>AAA</strong>/AUTHOR/LCP: As6 (3341570658) user='rad_dial'<br />

01:02:17: As6 <strong>AAA</strong>/AUTHOR/LCP (3341570658): send AV service=ppp<br />

01:02:17: As6 <strong>AAA</strong>/AUTHOR/LCP (3341570658): send AV protocol=lcp<br />

01:02:17: As6 <strong>AAA</strong>/AUTHOR/LCP (3341570658): found list "default"<br />

01:02:17: As6 <strong>AAA</strong>/AUTHOR/LCP (3341570658): Method=radius (radius)<br />

01:02:17: As6 <strong>AAA</strong>/AUTHOR (3341570658): Post authorization status = PASS_REPL<br />

2. User rad_dial is authorized for IPCP.<br />

NAS debug output:<br />

01:02:17: As6 <strong>AAA</strong>/AUTHOR/LCP: Processing AV service=ppp<br />

01:02:17: As6 <strong>AAA</strong>/AUTHOR/FSM: (0): Can we start IPCP?<br />

01:02:17: As6 <strong>AAA</strong>/AUTHOR/FSM (2347737596): Port='Async6' list='' service=NET<br />

01:02:17: <strong>AAA</strong>/AUTHOR/FSM: As6 (2347737596) user='rad_dial'<br />

01:02:17: As6 <strong>AAA</strong>/AUTHOR/FSM (2347737596): send AV service=ppp<br />

01:02:17: As6 <strong>AAA</strong>/AUTHOR/FSM (2347737596): send AV protocol=ip<br />

01:02:17: As6 <strong>AAA</strong>/AUTHOR/FSM (2347737596): found list "default"<br />

01:02:17: As6 <strong>AAA</strong>/AUTHOR/FSM (2347737596): Method=radius (radius)<br />

01:02:17: As6 <strong>AAA</strong>/AUTHOR (2347737596): Post authorization status = PASS_REPL<br />

01:02:17: As6 <strong>AAA</strong>/AUTHOR/FSM: We can start IPCP<br />

01:02:17: As6 <strong>AAA</strong>/AUTHOR/IPCP: Start. Her address 0.0.0.0, we want 172.22.83.5<br />

01:02:17: As6 <strong>AAA</strong>/AUTHOR/IPCP: Processing AV service=ppp<br />

01:02:17: As6 <strong>AAA</strong>/AUTHOR/IPCP: Processing AV inacl=110<br />

01:02:17: As6 <strong>AAA</strong>/AUTHOR/IPCP: Authorization succeeded<br />

01:02:17: As6 <strong>AAA</strong>/AUTHOR/IPCP: Done. Her address 0.0.0.0, we want 172.22.83.5<br />

01:02:18: As6 <strong>AAA</strong>/AUTHOR/IPCP: Start. Her address 0.0.0.0, we want 172.22.83.5<br />

01:02:18: As6 <strong>AAA</strong>/AUTHOR/IPCP: Processing AV service=ppp<br />

01:02:18: As6 <strong>AAA</strong>/AUTHOR/IPCP: Processing AV inacl=110<br />

01:02:18: As6 <strong>AAA</strong>/AUTHOR/IPCP: Authorization succeeded<br />

01:02:18: As6 <strong>AAA</strong>/AUTHOR/IPCP: Done. Her address 0.0.0.0, we want 172.22.83.5<br />

01:02:18: As6 <strong>AAA</strong>/AUTHOR/IPCP: Start. Her address 172.22.83.5, we want 172.22.8 3.5<br />

3. Input access-list is verified as 110 while the output access-list is shown as not set.<br />

C-6<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Appendix C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic Output<br />

C.5 Server-Based TACACS+ Router Authentication Diagnostics<br />

Output from show caller user rad_dial detail from NAS:<br />

User: rad_dial, line tty 116, service Async<br />

Active time 00:01:29, Idle time 00:00:40<br />

Timeouts: Absolute Idle Idle<br />

Session Exec<br />

Limits: 04:00:00 - 00:48:00<br />

Disconnect in: 03:58:30 - -<br />

TTY: Line 116, running PPP on As116<br />

Location: PPP: 172.22.83.37<br />

DS0: (slot/unit/channel)=0/0/20<br />

Line: Baud rate (TX/RX) is 115200/115200, no parity, 1 stopbits, 8 databits<br />

Status: Ready, Active, No Exit Banner, Async Interface Active<br />

HW PPP Support Active, Modem Detected<br />

Capabilities: Hardware Flowcontrol In, Hardware Flowcontrol Out<br />

Modem Callout, Modem RI is CD,<br />

Line usable as async interface, Modem Autoconfigure<br />

Integrated Modem<br />

Modem State: Ready, Modem Configured<br />

User: rad_dial, line As116, service PPP<br />

Active time 00:01:23, Idle time 00:00:35<br />

Timeouts:<br />

Absolute Idle<br />

Limits: - -<br />

Disconnect in: - -<br />

PPP: LCP Open, PAP ( peer, ACCM, AuthProto, MagicNumber, PCompression, ACCompression<br />


C.5 Server-Based TACACS+ Router Authentication Diagnostics<br />

Appendix C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic Output<br />

Router debug output:<br />

Feb 24 11:10:27.101 CST: <strong>AAA</strong>/MEMORY: create_user (0x61F74900) user='' ruser=''<br />

port='tty2' rem_addr='172.22.53.201' authen_type=ASCII service=LOGIN priv=1<br />

Feb 24 11:10:27.101 CST: <strong>AAA</strong>/AUTHEN/START (2925282821): port='tty2' list=''<br />

action=LOGIN service=LOGIN<br />

Feb 24 11:10:27.101 CST: <strong>AAA</strong>/AUTHEN/START (2925282821): using "default" list<br />

Feb 24 11:10:27.101 CST: <strong>AAA</strong>/AUTHEN/START (2925282821): Method=tacacs+ (tacacs+)<br />

Feb 24 11:10:27.105 CST: TAC+: send AUTHEN/START packet ver=192 id=2925282821<br />

Feb 24 11:10:27.305 CST: TAC+: ver=192 id=2925282821 received AUTHEN status = GETUSER<br />

Feb 24 11:10:27.305 CST: <strong>AAA</strong>/AUTHEN (2925282821): status = GETUSER<br />

Feb 24 11:10:30.549 CST: <strong>AAA</strong>/AUTHEN/CONT (2925282821): continue_login<br />

(user='(undef)')<br />

Feb 24 11:10:30.549 CST: <strong>AAA</strong>/AUTHEN (2925282821): status = GETUSER<br />

Feb 24 11:10:30.549 CST: <strong>AAA</strong>/AUTHEN (2925282821): Method=tacacs+ (tacacs+)<br />

Feb 24 11:10:30.549 CST: TAC+: send AUTHEN/CONT packet id=2925282821<br />

Feb 24 11:10:30.749 CST: TAC+: ver=192 id=2925282821 received AUTHEN status = GETPASS<br />

Feb 24 11:10:30.749 CST: <strong>AAA</strong>/AUTHEN (2925282821): status = GETPASS<br />

Feb 24 11:10:33.981 CST: <strong>AAA</strong>/AUTHEN/CONT (2925282821): continue_login<br />

(user='rtr_test')<br />

Feb 24 11:10:33.981 CST: <strong>AAA</strong>/AUTHEN (2925282821): status = GETPASS<br />

Feb 24 11:10:33.981 CST: <strong>AAA</strong>/AUTHEN (2925282821): Method=tacacs+ (tacacs+)<br />

Feb 24 11:10:33.981 CST: TAC+: send AUTHEN/CONT packet id=2925282821<br />

Feb 24 11:10:34.181 CST: TAC+: ver=192 id=2925282821 received AUTHEN status = PASS<br />

Feb 24 11:10:34.181 CST: <strong>AAA</strong>/AUTHEN (2925282821): status = PASS<br />

Feb 24 11:10:34.381 CST: TAC+: (2248458861): received author response status =<br />

PASS_ADD<br />

2. User rtr_test successfully logs in.<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 24 11:10:34 coachella <strong>Cisco</strong>Secure: DEBUG - Authentication - LOGIN successful;<br />

[NAS = 172.22.255.3, Port = tty2, User = rtr_test, Priv = 1<br />

C-8<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Appendix C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic Output<br />

C.6 Server-Based TACACS+ Router Authorization Diagnostics<br />

C.6 Server-Based TACACS+ Router Authorization Diagnostics<br />

The following test results illustrate three separate user types as described in “4.6 Implementing<br />

Server-Based TACACS+ Router Authorization”, belonging to three separate user groups: rtr_low,<br />

rtr_tech, andrtr_super. The example output is provided in the following sections:<br />

• C.6.1 Test Results for rtr_low Group<br />

• C.6.2 Test Results for rtr_tech Group<br />

• C.6.3 Test Results for rtr_super Group<br />

Note<br />

Use this debug command: debug aaa authorization.<br />

C.6.1 Test Results for rtr_low Group<br />

Test results follow for each <strong>Cisco</strong> IOS command summarized in Table 4-1, including relevant router<br />

output and <strong>AAA</strong> server log output:<br />

1. User rtr_dweeb is authorized EXEC shell access.<br />

2. User rtr_dweeb enters enable mode.<br />

3. User rtr_dweeb fails debug all command.<br />

4. User rtr_dweeb fails debug ip packet command.<br />

5. User rtr_dweeb fails clear ip cache command.<br />

6. User rtr_dweeb fails reload command.<br />

7. User rtr_dweeb fails show running-config command.<br />

8. User rtr_dweeb fails write terminal command.<br />

9. User rtr_dweeb fails copy running-config startup-config command.<br />

10. User rtr_dweeb fails write memory command.<br />

11. User rtr_dweeb fails configure terminal command.<br />

The following diagnostic results are presented in the order in which they are generated during the<br />

authorization process. Specific output fragments are differentiated with brief explanatory notes to help<br />

you identify relevant information.<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

C-9


C.6 Server-Based TACACS+ Router Authorization Diagnostics<br />

Appendix C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic Output<br />

Note<br />

The debug command output can vary depending on <strong>Cisco</strong> IOS versions.<br />

1. User rtr_dweeb is authorized EXEC shell access.<br />

Router debug output:<br />

Feb 18 11:44:36.115 CST: <strong>AAA</strong>/MEMORY: create_user (0x61F883B4) user='' ruser='' p<br />

ort='tty3' rem_addr='172.22.53.201' authen_type=ASCII service=LOGIN priv=1<br />

Feb 18 11:44:42.135 CST: tty3 <strong>AAA</strong>/AUTHOR/EXEC (1279405337): Port='tty3'<br />

list=''service=EXEC<br />

Feb 18 11:44:42.135 CST: <strong>AAA</strong>/AUTHOR/EXEC: tty3 (1279405337) user='rtr_dweeb'<br />

Feb 18 11:44:42.135 CST: tty3 <strong>AAA</strong>/AUTHOR/EXEC (1279405337): send AV service=shell<br />

Feb 18 11:44:42.135 CST: tty3 <strong>AAA</strong>/AUTHOR/EXEC (1279405337): send AV cmd*<br />

Feb 18 11:44:42.135 CST: tty3 <strong>AAA</strong>/AUTHOR/EXEC (1279405337): found list "default"<br />

Feb 18 11:44:42.135 CST: tty3 <strong>AAA</strong>/AUTHOR/EXEC (1279405337): Method=tacacs+ (tacacs+)<br />

Feb 18 11:44:42.135 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1279405337): user=rtr_dweeb<br />

Feb 18 11:44:42.135 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1279405337): send AV service=shell<br />

Feb 18 11:44:42.135 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1279405337): send AV cmd*<br />

Feb 18 11:44:42.335 CST: <strong>AAA</strong>/AUTHOR (1279405337): Post authorization status =<br />

PASS_ADD<br />

Feb 18 11:44:42.335 CST: <strong>AAA</strong>/AUTHOR/EXEC: Authorization successful<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 18 11:44:41 coachella <strong>Cisco</strong>Secure: DEBUG - Authentication - LOGIN successful;<br />

[NAS = 172.22.255.3, Port = tty3, User = rtr_dweeb, Priv = 1]<br />

Feb 18 11:44:41 coachella <strong>Cisco</strong>Secure: DEBUG -<br />

Feb 18 11:44:42 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (4c422d19)<br />

Feb 18 11:44:42 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Request authorized;<br />

[NAS = 172.22.255.3, user = rtr_dweeb, port = tty3, input: service=shell cmd* output:<br />

]<br />

2. User rtr_dweeb enters enable mode.<br />

Router debug output:<br />

Feb 18 11:44:45.651 CST: <strong>AAA</strong>/MEMORY: free_user (0x61CC44D4) user='' ruser=''<br />

port='tty3' rem_addr='172.22.53.201' authen_type=ASCII service=ENABLE priv=15<br />

3. User rtr_dweeb fails debug all command.<br />

Router debug output:<br />

Feb 18 11:44:49.875 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2800178490): Port='tty3' list=''<br />

service=CMD<br />

Feb 18 11:44:49.875 CST: <strong>AAA</strong>/AUTHOR/CMD: tty3 (2800178490) user='rtr_dweeb'<br />

Feb 18 11:44:49.875 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2800178490): send AV service=shell<br />

Feb 18 11:44:49.879 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2800178490): send AV cmd=debug<br />

Feb 18 11:44:49.879 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2800178490): send AV cmd-arg=all<br />

Feb 18 11:44:49.879 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2800178490): send AV cmd-arg=<br />

Feb 18 11:44:49.879 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2800178490): found list "default"<br />

Feb 18 11:44:49.879 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2800178490): Method=tacacs+ (tacacs+)<br />

Feb 18 11:44:49.879 CST: <strong>AAA</strong>/AUTHOR/TAC+: (2800178490): user=rtr_dweeb<br />

Feb 18 11:44:49.879 CST: <strong>AAA</strong>/AUTHOR/TAC+: (2800178490): send AV service=shell<br />

Feb 18 11:44:49.879 CST: <strong>AAA</strong>/AUTHOR/TAC+: (2800178490): send AV cmd=debug<br />

Feb 18 11:44:49.879 CST: <strong>AAA</strong>/AUTHOR/TAC+: (2800178490): send AV cmd-arg=all<br />

Feb 18 11:44:49.879 CST: <strong>AAA</strong>/AUTHOR/TAC+: (2800178490): send AV cmd-arg=<br />

Feb 18 11:44:50.079 CST: <strong>AAA</strong>/AUTHOR (2800178490): Post authorization status = FAIL<br />

C-10<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Appendix C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic Output<br />

C.6 Server-Based TACACS+ Router Authorization Diagnostics<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 18 11:44:49 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (a6e7553a)<br />

Feb 18 11:44:49 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Failed command; [NAS =<br />

172.22.255.3, user = rtr_dweeb, port = tty3, input: service=shell cmd=debug<br />

cmd-arg=all cmd-arg= output: ]<br />

4. User rtr_dweeb fails debug ip packet command.<br />

Router debug output:<br />

Feb 18 11:44:55.447 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (4087104408): Port='tty3' list=''<br />

service=CMD<br />

Feb 18 11:44:55.447 CST: <strong>AAA</strong>/AUTHOR/CMD: tty3 (4087104408) user='rtr_dweeb'<br />

Feb 18 11:44:55.447 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (4087104408): send AV service=shell<br />

Feb 18 11:44:55.447 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (4087104408): send AV cmd=debug<br />

Feb 18 11:44:55.447 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (4087104408): send AV cmd-arg=ip<br />

Feb 18 11:44:55.447 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (4087104408): send AV cmd-arg=packet<br />

Feb 18 11:44:55.447 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (4087104408): send AV cmd-arg=<br />

Feb 18 11:44:55.447 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (4087104408): found list "default"<br />

Feb 18 11:44:55.447 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (4087104408): Method=tacacs+ (tacacs+)<br />

Feb 18 11:44:55.447 CST: <strong>AAA</strong>/AUTHOR/TAC+: (4087104408): user=rtr_dweeb<br />

Feb 18 11:44:55.447 CST: <strong>AAA</strong>/AUTHOR/TAC+: (4087104408): send AV service=shell<br />

Feb 18 11:44:55.447 CST: <strong>AAA</strong>/AUTHOR/TAC+: (4087104408): send AV cmd=debug<br />

Feb 18 11:44:55.447 CST: <strong>AAA</strong>/AUTHOR/TAC+: (4087104408): send AV cmd-arg=ip<br />

Feb 18 11:44:55.447 CST: <strong>AAA</strong>/AUTHOR/TAC+: (4087104408): send AV cmd-arg=packet<br />

Feb 18 11:44:55.447 CST: <strong>AAA</strong>/AUTHOR/TAC+: (4087104408): send AV cmd-arg=<br />

Feb 18 11:44:55.647 CST: <strong>AAA</strong>/AUTHOR (4087104408): Post authorization status = FAIL<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 18 11:44:55 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (f39c4398)<br />

Feb 18 11:44:55 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Failed command; [NAS =<br />

172.22.255.3, user = rtr_dweeb, port = tty3, input: service=shell cmd=debug<br />

cmd-arg=ip cmd-arg=packet cmd-arg= output: ]<br />

5. User rtr_dweeb fails clear ip cache command.<br />

Router debug output:<br />

Feb 18 11:45:00.483 CST:tty3 <strong>AAA</strong>/AUTHOR/CMD (3223867754):Port='tty3'<br />

list=''service=CMD<br />

Feb 18 11:45:00.483 CST:<strong>AAA</strong>/AUTHOR/CMD:tty3 (3223867754) user='rtr_dweeb'<br />

Feb 18 11:45:00.483 CST:tty3 <strong>AAA</strong>/AUTHOR/CMD (3223867754):send AV service=shell<br />

Feb 18 11:45:00.483 CST:tty3 <strong>AAA</strong>/AUTHOR/CMD (3223867754):send AV cmd=clear<br />

Feb 18 11:45:00.483 CST:tty3 <strong>AAA</strong>/AUTHOR/CMD (3223867754):send AV cmd-arg=ip<br />

Feb 18 11:45:00.483 CST:tty3 <strong>AAA</strong>/AUTHOR/CMD (3223867754):send AV cmd-arg=cache<br />

Feb 18 11:45:00.483 CST:tty3 <strong>AAA</strong>/AUTHOR/CMD (3223867754):send AV cmd-arg=<br />

Feb 18 11:45:00.483 CST:tty3 <strong>AAA</strong>/AUTHOR/CMD (3223867754):found list "default"<br />

Feb 18 11:45:00.483 CST:tty3 <strong>AAA</strong>/AUTHOR/CMD (3223867754):Method=tacacs+(tacacs+)<br />

Feb 18 11:45:00.483 CST:<strong>AAA</strong>/AUTHOR/TAC+:(3223867754):user=rtr_dweeb<br />

Feb 18 11:45:00.483 CST:<strong>AAA</strong>/AUTHOR/TAC+:(3223867754):send AV service=shell<br />

Feb 18 11:45:00.483 CST:<strong>AAA</strong>/AUTHOR/TAC+:(3223867754):send AV cmd=clear<br />

Feb 18 11:45:00.483 CST:<strong>AAA</strong>/AUTHOR/TAC+:(3223867754):send AV cmd-arg=ip<br />

Feb 18 11:45:00.483 CST:<strong>AAA</strong>/AUTHOR/TAC+:(3223867754):send AV cmd-arg=cache<br />

Feb 18 11:45:00.483 CST:<strong>AAA</strong>/AUTHOR/TAC+:(3223867754):send AV cmd-arg=<br />

Feb 18 11:45:00.687 CST:<strong>AAA</strong>/AUTHOR (3223867754):Post authorization status = FAIL<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 18 11:45:00 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (c028516a)<br />

Feb 18 11:45:00 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Failed command; [NAS =<br />

172.22.255.3, user = rtr_dweeb, port = tty3, input: service=shell cmd=clear<br />

cmd-arg=ip cmd-arg=cache cmd-arg= output: ]<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

C-11


C.6 Server-Based TACACS+ Router Authorization Diagnostics<br />

Appendix C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic Output<br />

6. User rtr_dweeb fails reload command.<br />

Router debug output:<br />

Feb 18 11:45:03.911 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (410330894): Port='tty3' list=''<br />

service=CMD<br />

Feb 18 11:45:03.911 CST: <strong>AAA</strong>/AUTHOR/CMD: tty3 (410330894) user='rtr_dweeb'<br />

Feb 18 11:45:03.911 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (410330894): send AV service=shell<br />

Feb 18 11:45:03.911 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (410330894): send AV cmd=reload<br />

Feb 18 11:45:03.911 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (410330894): send AV cmd-arg=<br />

Feb 18 11:45:03.911 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (410330894): found list "default"<br />

Feb 18 11:45:03.911 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (410330894): Method=tacacs+ (tacacs+)<br />

Feb 18 11:45:03.911 CST: <strong>AAA</strong>/AUTHOR/TAC+: (410330894): user=rtr_dweeb<br />

Feb 18 11:45:03.911 CST: <strong>AAA</strong>/AUTHOR/TAC+: (410330894): send AV service=shell<br />

Feb 18 11:45:03.911 CST: <strong>AAA</strong>/AUTHOR/TAC+: (410330894): send AV cmd=reload<br />

Feb 18 11:45:03.911 CST: <strong>AAA</strong>/AUTHOR/TAC+: (410330894): send AV cmd-arg=<br />

Feb 18 11:45:04.115 CST: <strong>AAA</strong>/AUTHOR (410330894): Post authorization status = FAIL<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 18 11:45:03 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (1875270e)<br />

Feb 18 11:45:03 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Failed command; [NAS =<br />

172.22.255.3, user = rtr_dweeb, port = tty3, input: service=shell cmd=reload<br />

cmd-arg= output: ]<br />

7. User rtr_dweeb fails show running-config command.<br />

Router debug output:<br />

Feb 18 11:45:08.891 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2227741892): Port='tty3' list=''<br />

service=CMD<br />

Feb 18 11:45:08.891 CST: <strong>AAA</strong>/AUTHOR/CMD: tty3 (2227741892) user='rtr_dweeb'<br />

Feb 18 11:45:08.891 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2227741892): send AV service=shell<br />

Feb 18 11:45:08.891 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2227741892): send AV cmd=show<br />

Feb 18 11:45:08.891 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2227741892): send AV<br />

cmd-arg=running-config<br />

Feb 18 11:45:08.891 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2227741892): send AV cmd-arg=<br />

Feb 18 11:45:08.891 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2227741892): found list "default"<br />

Feb 18 11:45:08.891 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2227741892): Method=tacacs+ (tacacs+)<br />

Feb 18 11:45:08.891 CST: <strong>AAA</strong>/AUTHOR/TAC+: (2227741892): user=rtr_dweeb<br />

Feb 18 11:45:08.891 CST: <strong>AAA</strong>/AUTHOR/TAC+: (2227741892): send AV service=shell<br />

Feb 18 11:45:08.891 CST: <strong>AAA</strong>/AUTHOR/TAC+: (2227741892): send AV cmd=show<br />

Feb 18 11:45:08.891 CST: <strong>AAA</strong>/AUTHOR/TAC+: (2227741892): send AV<br />

cmd-arg=running-config<br />

Feb 18 11:45:08.891 CST: <strong>AAA</strong>/AUTHOR/TAC+: (2227741892): send AV cmd-arg=<br />

Feb 18 11:45:09.095 CST: <strong>AAA</strong>/AUTHOR (2227741892): Post authorization status = FAIL<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 18 11:45:08 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (84c8a4c4)<br />

Feb 18 11:45:08 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Failed command; [NAS =<br />

172.22.255.3, user = rtr_dweeb, port = tty3, input: service=shell<br />

cmd=showcmd-arg=running-config cmd-arg= output: ]<br />

C-12<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Appendix C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic Output<br />

C.6 Server-Based TACACS+ Router Authorization Diagnostics<br />

8. User rtr_dweeb fails write terminal command.<br />

Router debug output:<br />

Feb 18 11:45:12.079 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2744233862): Port='tty3' list=''<br />

service=CMD<br />

Feb 18 11:45:12.079 CST: <strong>AAA</strong>/AUTHOR/CMD: tty3 (2744233862) user='rtr_dweeb'<br />

Feb 18 11:45:12.079 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2744233862): send AV service=shell<br />

Feb 18 11:45:12.079 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2744233862): send AV cmd=write<br />

Feb 18 11:45:12.079 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2744233862): send AV cmd-arg=terminal<br />

Feb 18 11:45:12.079 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2744233862): send AV cmd-arg=<br />

Feb 18 11:45:12.079 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2744233862): found list "default"<br />

Feb 18 11:45:12.079 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2744233862): Method=tacacs+ (tacacs+)<br />

Feb 18 11:45:12.079 CST: <strong>AAA</strong>/AUTHOR/TAC+: (2744233862): user=rtr_dweeb<br />

Feb 18 11:45:12.079 CST: <strong>AAA</strong>/AUTHOR/TAC+: (2744233862): send AV service=shell<br />

Feb 18 11:45:12.079 CST: <strong>AAA</strong>/AUTHOR/TAC+: (2744233862): send AV cmd=write<br />

Feb 18 11:45:12.079 CST: <strong>AAA</strong>/AUTHOR/TAC+: (2744233862): send AV cmd-arg=terminal<br />

Feb 18 11:45:12.079 CST: <strong>AAA</strong>/AUTHOR/TAC+: (2744233862): send AV cmd-arg=<br />

Feb 18 11:45:12.279 CST: <strong>AAA</strong>/AUTHOR (2744233862): Post authorization status = FAIL<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 18 11:45:11 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (a391af86)<br />

Feb 18 11:45:11 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Failed command; [NAS =<br />

172.22.255.3, user = rtr_dweeb, port = tty3, input: service=shell cmd=write<br />

cmd-arg=terminal cmd-arg= output: ]<br />

9. User rtr_dweeb fails copy running-config startup-config command.<br />

Router debug output:<br />

Feb 18 11:45:17.631 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1138992853): Port='tty3' list=''<br />

service=CMD<br />

Feb 18 11:45:17.631 CST: <strong>AAA</strong>/AUTHOR/CMD: tty3 (1138992853) user='rtr_dweeb'<br />

Feb 18 11:45:17.631 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1138992853): send AV service=shell<br />

Feb 18 11:45:17.631 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1138992853): send AV cmd=copy<br />

Feb 18 11:45:17.631 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1138992853): send AV<br />

cmd-arg=running-config<br />

Feb 18 11:45:17.631 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1138992853): send AV<br />

cmd-arg=startup-config<br />

Feb 18 11:45:17.631 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1138992853): send AV cmd-arg=<br />

Feb 18 11:45:17.631 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1138992853): found list "default"<br />

Feb 18 11:45:17.631 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1138992853): Method=tacacs+ (tacacs+)<br />

Feb 18 11:45:17.631 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1138992853): user=rtr_dweeb<br />

Feb 18 11:45:17.631 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1138992853): send AV service=shell<br />

Feb 18 11:45:17.631 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1138992853): send AV cmd=copy<br />

Feb 18 11:45:17.631 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1138992853): send AV<br />

cmd-arg=running-config<br />

Feb 18 11:45:17.631 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1138992853): send AV<br />

cmd-arg=startup-config<br />

Feb 18 11:45:17.631 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1138992853): send AV cmd-arg=<br />

Feb 18 11:45:17.835 CST: <strong>AAA</strong>/AUTHOR (1138992853): Post authorization status = FAIL<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 18 11:45:17 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (43e3a6d5)<br />

Feb 18 11:45:17 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Failed command; [NAS =<br />

172.22.255.3, user = rtr_dweeb, port = tty3, input: service=shell<br />

cmd=copycmd-arg=running-config cmd-arg=startup-config cmd-arg= output: ]<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

C-13


C.6 Server-Based TACACS+ Router Authorization Diagnostics<br />

Appendix C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic Output<br />

10. User rtr_dweeb fails write memory command.<br />

Router debug output:<br />

Feb 18 11:45:20.915 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1068431717): Port='tty3' list=''<br />

service=CMD<br />

Feb 18 11:45:20.915 CST: <strong>AAA</strong>/AUTHOR/CMD: tty3 (1068431717) user='rtr_dweeb'<br />

Feb 18 11:45:20.915 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1068431717): send AV service=shell<br />

Feb 18 11:45:20.915 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1068431717): send AV cmd=write<br />

Feb 18 11:45:20.915 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1068431717): send AV cmd-arg=memory<br />

Feb 18 11:45:20.915 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1068431717): send AV cmd-arg=<br />

Feb 18 11:45:20.915 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1068431717): found list "default"<br />

Feb 18 11:45:20.915 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1068431717): Method=tacacs+ (tacacs+)<br />

Feb 18 11:45:20.915 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1068431717): user=rtr_dweeb<br />

Feb 18 11:45:20.915 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1068431717): send AV service=shell<br />

Feb 18 11:45:20.915 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1068431717): send AV cmd=write<br />

Feb 18 11:45:20.915 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1068431717): send AV cmd-arg=memory<br />

Feb 18 11:45:20.915 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1068431717): send AV cmd-arg=<br />

Feb 18 11:45:21.119 CST: <strong>AAA</strong>/AUTHOR (1068431717): Post authorization status = FAIL<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 18 11:45:20 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (3faef965)<br />

Feb 18 11:45:20 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Failed command; [NAS =<br />

172.22.255.3, user = rtr_dweeb, port = tty3, input: service=shell<br />

cmd=writecmd-arg=memory cmd-arg= output: ]<br />

11. User rtr_dweeb fails configure terminal command.<br />

Router debug output:<br />

Feb 18 11:45:32.399 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (530570549): Port='tty3' list=''<br />

service=CMD<br />

Feb 18 11:45:32.399 CST: <strong>AAA</strong>/AUTHOR/CMD: tty3 (530570549) user='rtr_dweeb'<br />

Feb 18 11:45:32.399 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (530570549): send AV service=shell<br />

Feb 18 11:45:32.399 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (530570549): send AV cmd=configure<br />

Feb 18 11:45:32.399 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (530570549): send AV cmd-arg=terminal<br />

Feb 18 11:45:32.399 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (530570549): send AV cmd-arg=<br />

Feb 18 11:45:32.399 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (530570549): found list "default"<br />

Feb 18 11:45:32.399 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (530570549): Method=tacacs+ (tacacs+)<br />

Feb 18 11:45:32.399 CST: <strong>AAA</strong>/AUTHOR/TAC+: (530570549): user=rtr_dweeb<br />

Feb 18 11:45:32.399 CST: <strong>AAA</strong>/AUTHOR/TAC+: (530570549): send AV service=shell<br />

Feb 18 11:45:32.399 CST: <strong>AAA</strong>/AUTHOR/TAC+: (530570549): send AV cmd=configure<br />

Feb 18 11:45:32.399 CST: <strong>AAA</strong>/AUTHOR/TAC+: (530570549): send AV cmd-arg=terminal<br />

Feb 18 11:45:32.399 CST: <strong>AAA</strong>/AUTHOR/TAC+: (530570549): send AV cmd-arg=<br />

Feb 18 11:45:32.603 CST: <strong>AAA</strong>/AUTHOR (530570549): Post authorization status = FAIL<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 18 11:45:32 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (1f9fdd35)<br />

Feb 18 11:45:32 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Failed command; [NAS =<br />

172.22.255.3, user = rtr_dweeb, port = tty3, input: service=shell cmd=configure<br />

cmd-arg=terminal cmd-arg= output: ]<br />

C.6.2 Test Results for rtr_tech Group<br />

Tests results follow for each of the <strong>Cisco</strong> IOS commands summarized in Tabl e4-1, including relevant<br />

router output and <strong>AAA</strong> server log output:<br />

1. User rtr_techie is authorized EXEC shell access.<br />

2. User rtr_techie enters enable mode.<br />

3. User rtr_techie is denied the debug all command.<br />

C-14<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Appendix C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic Output<br />

C.6 Server-Based TACACS+ Router Authorization Diagnostics<br />

4. User rtr_techie is permitted debug ip packet command.<br />

5. User rtr_techie is permitted clear ip cache command.<br />

6. User rtr_techie is denied reload command.<br />

7. User rtr_techie is permitted show running-config command.<br />

8. User rtr_techie is permitted write terminal command.<br />

9. User rtr_techie is permitted copy running-config starting config command.<br />

10. User rtr_techie is permitted write memory command.<br />

11. User rtr_techie is denied configure terminal command.<br />

The following diagnostic results are presented in the order in which they are generated during the<br />

authorization process. Specific output fragments are differentiated with brief explanatory notes to help<br />

you identify relevant information.<br />

Note<br />

The debug command output can vary depending on <strong>Cisco</strong> IOS versions.<br />

1. User rtr_techie is authorized EXEC shell access.<br />

Router debug output:<br />

Feb 18 14:27:32.388 CST: <strong>AAA</strong>/MEMORY: create_user (0x61CC44D8) user='' ruser=''<br />

port='tty3' rem_addr='172.22.53.201' authen_type=ASCII service=LOGIN priv=1<br />

Feb 18 14:27:36.984 CST: tty3 <strong>AAA</strong>/AUTHOR/EXEC (3820424789): Port='tty3'<br />

list=''service=EXEC<br />

Feb 18 14:27:36.984 CST: <strong>AAA</strong>/AUTHOR/EXEC: tty3 (3820424789) user='rtr_techie'<br />

Feb 18 14:27:36.984 CST: tty3 <strong>AAA</strong>/AUTHOR/EXEC (3820424789): send AV service=shell<br />

Feb 18 14:27:36.984 CST: tty3 <strong>AAA</strong>/AUTHOR/EXEC (3820424789): send AV cmd*<br />

Feb 18 14:27:36.984 CST: tty3 <strong>AAA</strong>/AUTHOR/EXEC (3820424789): found list "default"<br />

Feb 18 14:27:36.984 CST: tty3 <strong>AAA</strong>/AUTHOR/EXEC (3820424789): Method=tacacs+ (tacacs+)<br />

Feb 18 14:27:36.984 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3820424789): user=rtr_techie<br />

Feb 18 14:27:36.984 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3820424789): send AV service=shell<br />

Feb 18 14:27:36.984 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3820424789): send AV cmd*<br />

Feb 18 14:27:37.184 CST: <strong>AAA</strong>/AUTHOR (3820424789): Post authorization status =<br />

PASS_ADD<br />

Feb 18 14:27:37.184 CST: <strong>AAA</strong>/AUTHOR/EXEC: Authorization successful<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 18 14:27:36 coachella <strong>Cisco</strong>Secure: DEBUG - Authentication - LOGIN successful;<br />

[NAS = 172.22.255.3, Port = tty3, User = rtr_techie, Priv = 1]<br />

Feb 18 14:27:36 coachella <strong>Cisco</strong>Secure: DEBUG -<br />

Feb 18 14:27:36 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (e3b70e55)<br />

Feb 18 14:27:36 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Request authorized;<br />

[NAS = 172.22.255.3, user = rtr_techie, port = tty3, input: service=shell cmd*<br />

output: ]<br />

2. User rtr_techie enters enable mode.<br />

Router debug output:<br />

Feb 18 14:27:39.776 CST: <strong>AAA</strong>/MEMORY: free_user (0x61F5DEC0) user='' ruser=''<br />

port='tty3' rem_addr='172.22.53.201' authen_type=ASCII service=ENABLE priv=15<br />

Feb 18 14:27:43.976 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (438698848): Port='tty3' list=''<br />

service=CMD<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

C-15


C.6 Server-Based TACACS+ Router Authorization Diagnostics<br />

Appendix C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic Output<br />

3. User rtr_techie is denied the debug all command.<br />

Router debug output:<br />

Feb 18 14:27:43.976 CST: <strong>AAA</strong>/AUTHOR/CMD: tty3 (438698848) user='rtr_techie'<br />

Feb 18 14:27:43.976 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (438698848): send AV service=shell<br />

Feb 18 14:27:43.976 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (438698848): send AV cmd=debug<br />

Feb 18 14:27:43.976 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (438698848): send AV cmd-arg=all<br />

Feb 18 14:27:43.976 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (438698848): send AV cmd-arg=<br />

Feb 18 14:27:43.976 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (438698848): found list "default"<br />

Feb 18 14:27:43.976 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (438698848): Method=tacacs+ (tacacs+)<br />

Feb 18 14:27:43.976 CST: <strong>AAA</strong>/AUTHOR/TAC+: (438698848): user=rtr_techie<br />

Feb 18 14:27:43.980 CST: <strong>AAA</strong>/AUTHOR/TAC+: (438698848): send AV service=shell<br />

Feb 18 14:27:43.980 CST: <strong>AAA</strong>/AUTHOR/TAC+: (438698848): send AV cmd=debug<br />

Feb 18 14:27:43.980 CST: <strong>AAA</strong>/AUTHOR/TAC+: (438698848): send AV cmd-arg=all<br />

Feb 18 14:27:43.980 CST: <strong>AAA</strong>/AUTHOR/TAC+: (438698848): send AV cmd-arg=<br />

Feb 18 14:27:44.180 CST: <strong>AAA</strong>/AUTHOR (438698848): Post authorization status = FAIL<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 18 14:27:43 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (1a260360)<br />

Feb 18 14:27:43 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Failed command line;<br />

[NAS = 172.22.255.3, user = rtr_techie, port = tty3, input: service=shell cmd=debug<br />

cmd-arg=all cmd-arg= output: ]<br />

4. User rtr_techie is permitted debug ip packet command.<br />

Router debug output:<br />

Feb 18 14:27:47.668 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3962222355): Port='tty3'<br />

list=''service=CMD<br />

Feb 18 14:27:47.668 CST: <strong>AAA</strong>/AUTHOR/CMD: tty3 (3962222355) user='rtr_techie'<br />

Feb 18 14:27:47.668 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3962222355): send AV service=shell<br />

Feb 18 14:27:47.668 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3962222355): send AV cmd=debug<br />

Feb 18 14:27:47.668 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3962222355): send AV cmd-arg=ip<br />

Feb 18 14:27:47.668 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3962222355): send AV cmd-arg=packet<br />

Feb 18 14:27:47.668 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3962222355): send AV cmd-arg=<br />

Feb 18 14:27:47.668 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3962222355): found list "default"<br />

Feb 18 14:27:47.668 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3962222355): Method=tacacs+ (tacacs+)<br />

Feb 18 14:27:47.668 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3962222355): user=rtr_techie<br />

Feb 18 14:27:47.668 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3962222355): send AV service=shell<br />

Feb 18 14:27:47.668 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3962222355): send AV cmd=debug<br />

Feb 18 14:27:47.668 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3962222355): send AV cmd-arg=ip<br />

Feb 18 14:27:47.668 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3962222355): send AV cmd-arg=packet<br />

Feb 18 14:27:47.668 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3962222355): send AV cmd-arg=<br />

Feb 18 14:27:47.872 CST: <strong>AAA</strong>/AUTHOR (3962222355): Post authorization status =<br />

PASS_ADD<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 18 14:27:47 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (ec2ab713)<br />

Feb 18 14:27:47 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Request authorized;<br />

[NAS = 172.22.255.3, user = rtr_techie, port = tty3, input: service=shell cmd=debug<br />

cmd-arg=ip cmd-arg=packet cmd-arg= output: ]<br />

C-16<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Appendix C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic Output<br />

C.6 Server-Based TACACS+ Router Authorization Diagnostics<br />

5. User rtr_techie is permitted clear ip cache command.<br />

Router debug output:<br />

Feb 18 14:27:51.760 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1013999614): Port='tty3' list=''<br />

service=CMD<br />

Feb 18 14:27:51.760 CST: <strong>AAA</strong>/AUTHOR/CMD: tty3 (1013999614) user='rtr_techie'<br />

Feb 18 14:27:51.760 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1013999614): send AV service=shell<br />

Feb 18 14:27:51.760 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1013999614): send AV cmd=clear<br />

Feb 18 14:27:51.760 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1013999614): send AV cmd-arg=ip<br />

Feb 18 14:27:51.760 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1013999614): send AV cmd-arg=cache<br />

Feb 18 14:27:51.760 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1013999614): send AV cmd-arg=<br />

Feb 18 14:27:51.760 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1013999614): found list "default"<br />

Feb 18 14:27:51.760 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1013999614): Method=tacacs+ (tacacs+)<br />

Feb 18 14:27:51.760 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1013999614): user=rtr_techie<br />

Feb 18 14:27:51.760 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1013999614): send AV service=shell<br />

Feb 18 14:27:51.760 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1013999614): send AV cmd=clear<br />

Feb 18 14:27:51.760 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1013999614): send AV cmd-arg=ip<br />

Feb 18 14:27:51.760 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1013999614): send AV cmd-arg=cache<br />

Feb 18 14:27:51.760 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1013999614): send AV cmd-arg=<br />

Feb 18 14:27:51.964 CST: <strong>AAA</strong>/AUTHOR (1013999614): Post authorization status =<br />

PASS_ADD<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 18 14:27:51 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (3c7067fe)<br />

Feb 18 14:27:51 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Request authorized;<br />

[NAS = 172.22.255.3, user = rtr_techie, port = tty3, input: service=shell cmd=clear<br />

cmd-arg=ip cmd-arg=cache cmd-arg= output: ]<br />

6. User rtr_techie is denied reload command.<br />

Router debug output:<br />

Feb 18 14:27:54.548 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2672654626): Port='tty3' list=''<br />

service=CMD<br />

Feb 18 14:27:54.548 CST: <strong>AAA</strong>/AUTHOR/CMD: tty3 (2672654626) user='rtr_techie'<br />

Feb 18 14:27:54.548 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2672654626): send AV service=shell<br />

Feb 18 14:27:54.548 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2672654626): send AV cmd=reload<br />

Feb 18 14:27:54.548 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2672654626): send AV cmd-arg=<br />

Feb 18 14:27:54.548 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2672654626): found list "default"<br />

Feb 18 14:27:54.548 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2672654626): Method=tacacs+ (tacacs+)<br />

Feb 18 14:27:54.548 CST: <strong>AAA</strong>/AUTHOR/TAC+: (2672654626): user=rtr_techie<br />

Feb 18 14:27:54.548 CST: <strong>AAA</strong>/AUTHOR/TAC+: (2672654626): send AV service=shell<br />

Feb 18 14:27:54.548 CST: <strong>AAA</strong>/AUTHOR/TAC+: (2672654626): send AV cmd=reload<br />

Feb 18 14:27:54.548 CST: <strong>AAA</strong>/AUTHOR/TAC+: (2672654626): send AV cmd-arg=<br />

Feb 18 14:27:54.752 CST: <strong>AAA</strong>/AUTHOR (2672654626): Post authorization status = FAIL<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 18 14:27:54 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (9f4d7922)<br />

Feb 18 14:27:54 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Failed command line;<br />

[NAS = 172.22.255.3, user = rtr_techie, port = tty3, input: service=shell cmd=reload<br />

cmd-arg= output: ]<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

C-17


C.6 Server-Based TACACS+ Router Authorization Diagnostics<br />

Appendix C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic Output<br />

7. User rtr_techie is permitted show running-config command.<br />

Router debug output:<br />

Feb 18 14:27:57.576 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3919120170): Port='tty3' list=''<br />

service=CMD<br />

Feb 18 14:27:57.576 CST: <strong>AAA</strong>/AUTHOR/CMD: tty3 (3919120170) user='rtr_techie'<br />

Feb 18 14:27:57.576 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3919120170): send AV service=shell<br />

Feb 18 14:27:57.576 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3919120170): send AV cmd=show<br />

Feb 18 14:27:57.576 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3919120170): send AV<br />

cmd-arg=running-config<br />

Feb 18 14:27:57.576 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3919120170): send AV cmd-arg=<br />

Feb 18 14:27:57.576 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3919120170): found list "default"<br />

Feb 18 14:27:57.576 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3919120170): Method=tacacs+ (tacacs+)<br />

Feb 18 14:27:57.576 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3919120170): user=rtr_techie<br />

Feb 18 14:27:57.576 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3919120170): send AV service=shell<br />

Feb 18 14:27:57.576 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3919120170): send AV cmd=show<br />

Feb 18 14:27:57.576 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3919120170): send AV<br />

cmd-arg=running-config<br />

Feb 18 14:27:57.576 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3919120170): send AV cmd-arg=<br />

Feb 18 14:27:57.780 CST: <strong>AAA</strong>/AUTHOR (3919120170): Post authorization status =<br />

PASS_ADD<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 18 14:27:57 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (e999072a)<br />

Feb 18 14:27:57 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Request authorized;<br />

[NAS = 172.22.255.3, user = rtr_techie, port = tty3, input: service=shell cmd=show<br />

cmd-arg=running-config cmd-arg= output: ]<br />

8. User rtr_techie is permitted write terminal command.<br />

Router debug output:<br />

Feb 18 14:28:00.825 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1409504713): Port='tty3' list=''<br />

service=CMD<br />

Feb 18 14:28:00.825 CST: <strong>AAA</strong>/AUTHOR/CMD: tty3 (1409504713) user='rtr_techie'<br />

Feb 18 14:28:00.825 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1409504713): send AV service=shell<br />

Feb 18 14:28:00.825 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1409504713): send AV cmd=write<br />

Feb 18 14:28:00.825 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1409504713): send AV cmd-arg=terminal<br />

Feb 18 14:28:00.825 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1409504713): send AV cmd-arg=<br />

Feb 18 14:28:00.825 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1409504713): found list "default"<br />

Feb 18 14:28:00.825 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1409504713): Method=tacacs+ (tacacs+)<br />

Feb 18 14:28:00.825 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1409504713): user=rtr_techie<br />

Feb 18 14:28:00.825 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1409504713): send AV service=shell<br />

Feb 18 14:28:00.825 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1409504713): send AV cmd=write<br />

Feb 18 14:28:00.825 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1409504713): send AV cmd-arg=terminal<br />

Feb 18 14:28:00.825 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1409504713): send AV cmd-arg=<br />

Feb 18 14:28:01.025 CST: <strong>AAA</strong>/AUTHOR (1409504713): Post authorization status =<br />

PASS_ADD<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 18 14:28:00 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (540355c9)<br />

Feb 18 14:28:00 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Request authorized;<br />

[NAS = 172.22.255.3, user = rtr_techie, port = tty3, input: service=shell cmd=write<br />

cmd-arg=terminal cmd-arg= output: ]<br />

C-18<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Appendix C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic Output<br />

C.6 Server-Based TACACS+ Router Authorization Diagnostics<br />

9. User rtr_techie is permitted copy running-config starting config command.<br />

Router debug output:<br />

Feb 18 14:28:05.269 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (4281070087): Port='tty3' list=''<br />

service=CMD<br />

Feb 18 14:28:05.269 CST: <strong>AAA</strong>/AUTHOR/CMD: tty3 (4281070087) user='rtr_techie'<br />

Feb 18 14:28:05.269 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (4281070087): send AV service=shell<br />

Feb 18 14:28:05.269 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (4281070087): send AV cmd=copy<br />

Feb 18 14:28:05.269 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (4281070087): send AV<br />

cmd-arg=running-config<br />

Feb 18 14:28:05.269 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (4281070087): send AV<br />

cmd-arg=startup-config<br />

Feb 18 14:28:05.269 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (4281070087): send AV cmd-arg=<br />

Feb 18 14:28:05.269 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (4281070087): found list "default"<br />

Feb 18 14:28:05.269 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (4281070087): Method=tacacs+ (tacacs+)<br />

Feb 18 14:28:05.269 CST: <strong>AAA</strong>/AUTHOR/TAC+: (4281070087): user=rtr_techie<br />

Feb 18 14:28:05.269 CST: <strong>AAA</strong>/AUTHOR/TAC+: (4281070087): send AV service=shell<br />

Feb 18 14:28:05.269 CST: <strong>AAA</strong>/AUTHOR/TAC+: (4281070087): send AV cmd=copy<br />

Feb 18 14:28:05.269 CST: <strong>AAA</strong>/AUTHOR/TAC+: (4281070087): send AV<br />

cmd-arg=running-config<br />

Feb 18 14:28:05.269 CST: <strong>AAA</strong>/AUTHOR/TAC+: (4281070087): send AV<br />

cmd-arg=startup-config<br />

Feb 18 14:28:05.269 CST: <strong>AAA</strong>/AUTHOR/TAC+: (4281070087): send AV cmd-arg=<br />

Feb 18 14:28:05.473 CST: <strong>AAA</strong>/AUTHOR (4281070087): Post authorization status =<br />

PASS_ADD<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 18 14:28:05 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (ff2bf207)<br />

Feb 18 14:28:05 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Request authorized;<br />

[NAS = 172.22.255.3, user = rtr_techie, port = tty3, input: service=shell cmd=copy<br />

cmd-arg=running-config cmd-arg=startup-config cmd-arg= output: ]<br />

10. User rtr_techie is permitted write memory command.<br />

Router debug output:<br />

Feb 18 14:28:08.121 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (192752980): Port='tty3' list=''<br />

service=CMD<br />

Feb 18 14:28:08.121 CST: <strong>AAA</strong>/AUTHOR/CMD: tty3 (192752980) user='rtr_techie'<br />

Feb 18 14:28:08.121 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (192752980): send AV service=shell<br />

Feb 18 14:28:08.121 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (192752980): send AV cmd=write<br />

Feb 18 14:28:08.121 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (192752980): send AV cmd-arg=memory<br />

Feb 18 14:28:08.121 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (192752980): send AV cmd-arg=<br />

Feb 18 14:28:08.121 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (192752980): found list "default"<br />

Feb 18 14:28:08.121 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (192752980): Method=tacacs+ (tacacs+)<br />

Feb 18 14:28:08.121 CST: <strong>AAA</strong>/AUTHOR/TAC+: (192752980): user=rtr_techie<br />

Feb 18 14:28:08.121 CST: <strong>AAA</strong>/AUTHOR/TAC+: (192752980): send AV service=shell<br />

Feb 18 14:28:08.121 CST: <strong>AAA</strong>/AUTHOR/TAC+: (192752980): send AV cmd=write<br />

Feb 18 14:28:08.121 CST: <strong>AAA</strong>/AUTHOR/TAC+: (192752980): send AV cmd-arg=memory<br />

Feb 18 14:28:08.121 CST: <strong>AAA</strong>/AUTHOR/TAC+: (192752980): send AV cmd-arg=<br />

Feb 18 14:28:08.325 CST: <strong>AAA</strong>/AUTHOR (192752980): Post authorization status = PASS_ADD<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 18 14:28:08 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (b7d2d54)<br />

Feb 18 14:28:08 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Request authorized;<br />

[NAS = 172.22.255.3, user = rtr_techie, port = tty3, input: service=shell cmd=write<br />

cmd-arg=memory cmd-arg= output: ]<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

C-19


C.6 Server-Based TACACS+ Router Authorization Diagnostics<br />

Appendix C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic Output<br />

11. User rtr_techie is denied configure terminal command.<br />

Router debug output:<br />

Feb 18 14:28:11.621 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3042655042): Port='tty3' list=''<br />

service=CMD<br />

Feb 18 14:28:11.621 CST: <strong>AAA</strong>/AUTHOR/CMD: tty3 (3042655042) user='rtr_techie'<br />

Feb 18 14:28:11.621 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3042655042): send AV service=shell<br />

Feb 18 14:28:11.621 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3042655042): send AV cmd=configure<br />

Feb 18 14:28:11.621 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3042655042): send AV cmd-arg=terminal<br />

Feb 18 14:28:11.621 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3042655042): send AV cmd-arg=<br />

Feb 18 14:28:11.621 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3042655042): found list "default"<br />

Feb 18 14:28:11.621 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3042655042): Method=tacacs+ (tacacs+)<br />

Feb 18 14:28:11.621 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3042655042): user=rtr_techie<br />

Feb 18 14:28:11.621 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3042655042): send AV service=shell<br />

Feb 18 14:28:11.621 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3042655042): send AV cmd=configure<br />

Feb 18 14:28:11.621 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3042655042): send AV cmd-arg=terminal<br />

Feb 18 14:28:11.621 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3042655042): send AV cmd-arg=<br />

Feb 18 14:28:11.825 CST: <strong>AAA</strong>/AUTHOR (3042655042): Post authorization status = FAIL<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 18 14:28:11 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (b55b3b42)<br />

Feb 18 14:28:11 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Failed command line;<br />

[NAS = 172.22.255.3, user = rtr_techie, port = tty3, input: service=shell<br />

cmd=configure cmd-arg=terminal cmd-arg= output: ]<br />

C.6.3 Test Results for rtr_super Group<br />

Tests results follow for each of the <strong>Cisco</strong> IOS commands summarized in Tabl e4-1, including relevant<br />

router output and <strong>AAA</strong> server log output:<br />

1. User rtr_geek is authorized EXEC shell access.<br />

2. User rtr_geek enters enable mode.<br />

3. User rtr_geek is denied debug all command.<br />

4. User rtr_geek is permitted debug ip packet command.<br />

5. User rtr_geek is permitted reload command.<br />

6. User rtr_geek is permitted show running-config command.<br />

7. User rtr_geek is permitted write terminal command.<br />

8. User rtr_geek is permitted copy running-config startup-config command.<br />

9. User rtr_geek is permitted write memory command.<br />

10. User rtr_geek is permitted configure terminal command.<br />

The following diagnostic results are presented in the order in which they are generated during the<br />

authorization process. Specific output fragments are differentiated with brief explanatory notes to help<br />

you identify relevant information.<br />

C-20<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Appendix C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic Output<br />

C.6 Server-Based TACACS+ Router Authorization Diagnostics<br />

Note<br />

The debug command output can vary depending on <strong>Cisco</strong> IOS versions.<br />

1. User rtr_geek is authorized EXEC shell access.<br />

Router debug output:<br />

Feb 22 15:26:16.322 CST: <strong>AAA</strong>/AUTHOR/TAC+: (424410682): user=rtr_geek<br />

Feb 22 15:26:16.322 CST: <strong>AAA</strong>/AUTHOR/TAC+: (424410682): send AV service=shell<br />

Feb 22 15:26:16.322 CST: <strong>AAA</strong>/AUTHOR/TAC+: (424410682): send AV cmd*<br />

Feb 22 15:26:16.822 CST: <strong>AAA</strong>/AUTHOR (424410682): Post authorization status = PASS_ADD<br />

Feb 22 15:26:16.822 CST: <strong>AAA</strong>/AUTHOR/EXEC: Authorization successful<br />

Feb 22 15:26:16.822 CST: <strong>AAA</strong>/ACCT/EXEC/START User rtr_geek, port tty3<br />

Feb 22 15:26:16.822 CST: <strong>AAA</strong>/ACCT/EXEC: Found list "default"<br />

Feb 22 15:26:16.822 CST: <strong>AAA</strong>/ACCT/EXEC/START User rtr_geek, Port tty3,<br />

task_id=310 start_time=951254776 timezone=CST service=shell<br />

Feb 22 15:26:16.822 CST: <strong>AAA</strong>/ACCT: user rtr_geek, acct type 0 (2751112696):<br />

Method=tacacs+ (tacacs+)<br />

Feb 22 15:26:17.022 CST: TAC+: (2751112696): received acct response status = SUCCESS<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 22 15:26:16 coachella <strong>Cisco</strong>Secure: DEBUG - Authentication - LOGIN successful;<br />

[NAS = 172.22.255.3, Port = tty3, User = rtr_geek, Priv = 1]<br />

Feb 22 15:26:16 coachella <strong>Cisco</strong>Secure: DEBUG -<br />

Feb 22 15:26:16 coachella <strong>Cisco</strong>Secure: INFO - Profile: user = rtr_geek {<br />

Feb 22 15:26:16 coachella set server current-failed-logins = 0<br />

Feb 22 15:26:16 coachella profile_cycle = 2<br />

Feb 22 15:26:16 coachella }<br />

Feb 22 15:26:16 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Request authorized;<br />

[NAS = 172.22.255.3, user = rtr_geek, port = tty3, input: service=shell cmd*output: ]<br />

2. User rtr_geek enters enable mode.<br />

Router debug output:<br />

Feb 22 15:26:22.562 CST: <strong>AAA</strong>/MEMORY: free_user (0x61F55834) user='' ruser=''<br />

port='tty3' rem_addr='172.22.53.201' authen_type=ASCII service=ENABLE priv=15<br />

Feb 22 15:26:46.502 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (32101230): Port='tty3' list=''<br />

service=CMD<br />

3. User rtr_geek is denied debug all command.<br />

Router debug output:<br />

Feb 22 15:26:46.502 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (32101230): Port='tty3' list=''<br />

service=CMD<br />

Feb 22 15:26:46.502 CST: <strong>AAA</strong>/AUTHOR/CMD: tty3 (32101230) user='rtr_geek'<br />

Feb 22 15:26:46.502 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (32101230): send AV service=shell<br />

Feb 22 15:26:46.502 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (32101230): send AV cmd=debug<br />

Feb 22 15:26:46.502 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (32101230): send AV cmd-arg=all<br />

Feb 22 15:26:46.502 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (32101230): send AV cmd-arg=<br />

Feb 22 15:26:46.502 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (32101230): found list "default"<br />

Feb 22 15:26:46.502 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (32101230): Method=tacacs+ (tacacs+)<br />

Feb 22 15:26:46.502 CST: <strong>AAA</strong>/AUTHOR/TAC+: (32101230): user=rtr_geek<br />

Feb 22 15:26:46.502 CST: <strong>AAA</strong>/AUTHOR/TAC+: (32101230): send AV service=shell<br />

Feb 22 15:26:46.502 CST: <strong>AAA</strong>/AUTHOR/TAC+: (32101230): send AV cmd=debug<br />

Feb 22 15:26:46.502 CST: <strong>AAA</strong>/AUTHOR/TAC+: (32101230): send AV cmd-arg=all<br />

Feb 22 15:26:46.502 CST: <strong>AAA</strong>/AUTHOR/TAC+: (32101230): send AV cmd-arg=<br />

Feb 22 15:26:46.702 CST: <strong>AAA</strong>/AUTHOR (32101230): Post authorization status = FAIL<br />

Feb 22 15:26:53.378 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1642620731): Port='tty3' list=''<br />

service=CMD<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

C-21


C.6 Server-Based TACACS+ Router Authorization Diagnostics<br />

Appendix C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic Output<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 22 15:26:46 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (1e9d36e)<br />

Feb 22 15:26:46 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Failed command line;<br />

[NAS = 172.22.255.3, user = rtr_geek, port = tty3, input: service=shell cmd=debug<br />

cmd-arg=all cmd-arg= output: ]<br />

4. User rtr_geek is permitted debug ip packet command.<br />

Router debug output:<br />

Feb 22 15:26:53.378 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1642620731): Port='tty3'<br />

list=''service=CMD<br />

Feb 22 15:26:53.378 CST: <strong>AAA</strong>/AUTHOR/CMD: tty3 (1642620731) user='rtr_geek'<br />

Feb 22 15:26:53.378 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1642620731): send AV service=shell<br />

Feb 22 15:26:53.378 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1642620731): send AV cmd=debug<br />

Feb 22 15:26:53.378 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1642620731): send AV cmd-arg=ip<br />

Feb 22 15:26:53.378 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1642620731): send AV cmd-arg=packet<br />

Feb 22 15:26:53.378 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1642620731): send AV cmd-arg=<br />

Feb 22 15:26:53.378 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1642620731): found list "default"<br />

Feb 22 15:26:53.378 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (1642620731): Method=tacacs+ (tacacs+)<br />

Feb 22 15:26:53.378 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1642620731): user=rtr_geek<br />

Feb 22 15:26:53.378 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1642620731): send AV service=shell<br />

Feb 22 15:26:53.378 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1642620731): send AV cmd=debug<br />

Feb 22 15:26:53.378 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1642620731): send AV cmd-arg=ip<br />

Feb 22 15:26:53.378 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1642620731): send AV cmd-arg=packet<br />

Feb 22 15:26:53.378 CST: <strong>AAA</strong>/AUTHOR/TAC+: (1642620731): send AV cmd-arg=<br />

Feb 22 15:26:53.578 CST: <strong>AAA</strong>/AUTHOR (1642620731): Post authorization status =<br />

PASS_ADD<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 22 15:26:53 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (61e8673b)<br />

Feb 22 15:26:53 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Request authorized;<br />

[NAS = 172.22.255.3, user = rtr_geek, port = tty3, input: service=shell cmd=debug<br />

cmd-arg=ip cmd-arg=packet cmd-arg= output: ]<br />

5. User rtr_geek is permitted reload command.<br />

Note<br />

Be sure to save your running configuration by using the appropriate write or copy<br />

running-config command before using the reload command.<br />

Router debug output:<br />

Feb 22 15:27:16.667 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3461622395): Port='tty3'<br />

list=''service=CMD<br />

Feb 22 15:27:16.667 CST: <strong>AAA</strong>/AUTHOR/CMD: tty3 (3461622395) user='rtr_geek'<br />

Feb 22 15:27:16.667 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3461622395): send AV service=shell<br />

Feb 22 15:27:16.667 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3461622395): send AV cmd=reload<br />

Feb 22 15:27:16.667 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3461622395): send AV cmd-arg=<br />

Feb 22 15:27:16.667 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3461622395): found list "default"<br />

Feb 22 15:27:16.667 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3461622395): Method=tacacs+ (tacacs+)<br />

Feb 22 15:27:16.667 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3461622395): user=rtr_geek<br />

Feb 22 15:27:16.667 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3461622395): send AV service=shell<br />

Feb 22 15:27:16.667 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3461622395): send AV cmd=reload<br />

Feb 22 15:27:16.667 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3461622395): send AV cmd-arg=<br />

Feb 22 15:27:16.867 CST: <strong>AAA</strong>/AUTHOR (3461622395): Post authorization status =<br />

PASS_ADD<br />

C-22<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Appendix C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic Output<br />

C.6 Server-Based TACACS+ Router Authorization Diagnostics<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 22 15:27:16 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (ce542a7b)<br />

Feb 22 15:27:16 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Request authorized;<br />

[NAS = 172.22.255.3, user = rtr_geek, port = tty3, input: service=shell cmd=reload<br />

cmd-arg= output: ]<br />

6. User rtr_geek is permitted show running-config command.<br />

Router debug output:<br />

Feb 22 15:27:34.455 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (150984379): Port='tty3' list=''<br />

service=CMD<br />

Feb 22 15:27:34.455 CST: <strong>AAA</strong>/AUTHOR/CMD: tty3 (150984379) user='rtr_geek'<br />

Feb 22 15:27:34.455 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (150984379): send AV service=shell<br />

Feb 22 15:27:34.455 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (150984379): send AV cmd=show<br />

Feb 22 15:27:34.455 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (150984379): send AV<br />

cmd-arg=running-config<br />

Feb 22 15:27:34.455 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (150984379): send AV cmd-arg=<br />

Feb 22 15:27:34.455 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (150984379): found list "default"<br />

Feb 22 15:27:34.455 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (150984379): Method=tacacs+ (tacacs+)<br />

Feb 22 15:27:34.455 CST: <strong>AAA</strong>/AUTHOR/TAC+: (150984379): user=rtr_geek<br />

Feb 22 15:27:34.455 CST: <strong>AAA</strong>/AUTHOR/TAC+: (150984379): send AV service=shell<br />

Feb 22 15:27:34.455 CST: <strong>AAA</strong>/AUTHOR/TAC+: (150984379): send AV cmd=show<br />

Feb 22 15:27:34.455 CST: <strong>AAA</strong>/AUTHOR/TAC+: (150984379): send AV cmd-arg=running-config<br />

Feb 22 15:27:34.455 CST: <strong>AAA</strong>/AUTHOR/TAC+: (150984379): send AV cmd-arg=<br />

Feb 22 15:27:34.655 CST: <strong>AAA</strong>/AUTHOR (150984379): Post authorization status = PASS_ADD<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 22 15:27:34 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (8ffd6bb)<br />

Feb 22 15:27:34 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Request authorized;<br />

[NAS = 172.22.255.3, user = rtr_geek, port = tty3, input: service=shell cmd=show<br />

cmd-arg=running-config cmd-arg= output: ]<br />

7. User rtr_geek is permitted write terminal command.<br />

Router debug output:<br />

Feb 22 15:27:39.871 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3013136481): Port='tty3' list=''<br />

service=CMD<br />

Feb 22 15:27:39.871 CST: <strong>AAA</strong>/AUTHOR/CMD: tty3 (3013136481) user='rtr_geek'<br />

Feb 22 15:27:39.871 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3013136481): send AV service=shell<br />

Feb 22 15:27:39.871 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3013136481): send AV cmd=write<br />

Feb 22 15:27:39.871 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3013136481): send AV cmd-arg=terminal<br />

Feb 22 15:27:39.871 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3013136481): send AV cmd-arg=<br />

Feb 22 15:27:39.871 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3013136481): found list "default"<br />

Feb 22 15:27:39.871 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3013136481): Method=tacacs+ (tacacs+)<br />

Feb 22 15:27:39.871 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3013136481): user=rtr_geek<br />

Feb 22 15:27:39.871 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3013136481): send AV service=shell<br />

Feb 22 15:27:39.871 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3013136481): send AV cmd=write<br />

Feb 22 15:27:39.871 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3013136481): send AV cmd-arg=terminal<br />

Feb 22 15:27:39.871 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3013136481): send AV cmd-arg=<br />

Feb 22 15:27:40.075 CST: <strong>AAA</strong>/AUTHOR (3013136481): Post authorization status =<br />

PASS_ADD<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 22 15:27:39 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (b398d061)<br />

Feb 22 15:27:39 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Request authorized;<br />

[NAS = 172.22.255.3, user = rtr_geek, port = tty3, input: service=shell cmd=write<br />

cmd-arg=terminal cmd-arg= output: ]<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

C-23


C.6 Server-Based TACACS+ Router Authorization Diagnostics<br />

Appendix C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic Output<br />

8. User rtr_geek is permitted copy running-config startup-config command.<br />

Router debug output:<br />

Feb 22 15:27:44.755 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2463024765): Port='tty3'<br />

list=''service=CMD<br />

Feb 22 15:27:44.755 CST: <strong>AAA</strong>/AUTHOR/CMD: tty3 (2463024765) user='rtr_geek'<br />

Feb 22 15:27:44.755 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2463024765): send AV service=shell<br />

Feb 22 15:27:44.755 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2463024765): send AV cmd=copy<br />

Feb 22 15:27:44.755 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2463024765): send AV<br />

cmd-arg=running-config<br />

Feb 22 15:27:44.755 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2463024765): send AV<br />

cmd-arg=startup-config<br />

Feb 22 15:27:44.755 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2463024765): send AV cmd-arg=<br />

Feb 22 15:27:44.755 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2463024765): found list "default"<br />

Feb 22 15:27:44.755 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (2463024765): Method=tacacs+ (tacacs+)<br />

Feb 22 15:27:44.755 CST: <strong>AAA</strong>/AUTHOR/TAC+: (2463024765): user=rtr_geek<br />

Feb 22 15:27:44.755 CST: <strong>AAA</strong>/AUTHOR/TAC+: (2463024765): send AV service=shell<br />

Feb 22 15:27:44.755 CST: <strong>AAA</strong>/AUTHOR/TAC+: (2463024765): send AV cmd=copy<br />

Feb 22 15:27:44.755 CST: <strong>AAA</strong>/AUTHOR/TAC+: (2463024765): send AV<br />

cmd-arg=running-config<br />

Feb 22 15:27:44.755 CST: <strong>AAA</strong>/AUTHOR/TAC+: (2463024765): send AV<br />

cmd-arg=startup-config<br />

Feb 22 15:27:44.755 CST: <strong>AAA</strong>/AUTHOR/TAC+: (2463024765): send AV cmd-arg=<br />

Feb 22 15:27:44.959 CST: <strong>AAA</strong>/AUTHOR (2463024765): Post authorization status =<br />

PASS_ADD<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 22 15:27:44 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (92cec67d)<br />

Feb 22 15:27:44 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Request authorized;<br />

[NAS = 172.22.255.3, user = rtr_geek, port = tty3, input: service=shell cmd=copy<br />

cmd-arg=running-config cmd-arg=startup-config cmd-arg= output: ]<br />

9. User rtr_geek is permitted write memory command.<br />

Router debug output:<br />

Feb 22 15:27:52.351 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3171189379): Port='tty3' list=''<br />

service=CMD<br />

Feb 22 15:27:52.351 CST: <strong>AAA</strong>/AUTHOR/CMD: tty3 (3171189379) user='rtr_geek'<br />

Feb 22 15:27:52.351 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3171189379): send AV service=shell<br />

Feb 22 15:27:52.351 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3171189379): send AV cmd=write<br />

Feb 22 15:27:52.351 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3171189379): send AV cmd-arg=memory<br />

Feb 22 15:27:52.351 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3171189379): send AV cmd-arg=<br />

Feb 22 15:27:52.351 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3171189379): found list "default"<br />

Feb 22 15:27:52.351 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (3171189379): Method=tacacs+ (tacacs+)<br />

Feb 22 15:27:52.351 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3171189379): user=rtr_geek<br />

Feb 22 15:27:52.351 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3171189379): send AV service=shell<br />

Feb 22 15:27:52.351 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3171189379): send AV cmd=write<br />

Feb 22 15:27:52.351 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3171189379): send AV cmd-arg=memory<br />

Feb 22 15:27:52.351 CST: <strong>AAA</strong>/AUTHOR/TAC+: (3171189379): send AV cmd-arg=<br />

Feb 22 15:27:52.555 CST: <strong>AAA</strong>/AUTHOR (3171189379): Post authorization status =<br />

PASS_ADD<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 22 15:27:52 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (bd048283)<br />

Feb 22 15:27:52 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Request authorized;<br />

[NAS = 172.22.255.3, user = rtr_geek, port = tty3, input: service=shell cmd=write<br />

cmd-arg=memory cmd-arg= output: ]<br />

C-24<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Appendix C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic Output<br />

C.6 Server-Based TACACS+ Router Authorization Diagnostics<br />

10. User rtr_geek is permitted configure terminal command.<br />

Router debug output:<br />

Feb 22 15:27:56.039 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (4076778320): Port='tty3' list=''<br />

service=CMD<br />

Feb 22 15:27:56.039 CST: <strong>AAA</strong>/AUTHOR/CMD: tty3 (4076778320) user='rtr_geek'<br />

Feb 22 15:27:56.039 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (4076778320): send AV service=shell<br />

Feb 22 15:27:56.039 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (4076778320): send AV cmd=configure<br />

Feb 22 15:27:56.039 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (4076778320): send AV cmd-arg=terminal<br />

Feb 22 15:27:56.039 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (4076778320): send AV cmd-arg=<br />

Feb 22 15:27:56.039 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (4076778320): found list "default"<br />

Feb 22 15:27:56.039 CST: tty3 <strong>AAA</strong>/AUTHOR/CMD (4076778320): Method=tacacs+ (tacacs+)<br />

Feb 22 15:27:56.039 CST: <strong>AAA</strong>/AUTHOR/TAC+: (4076778320): user=rtr_geek<br />

Feb 22 15:27:56.039 CST: <strong>AAA</strong>/AUTHOR/TAC+: (4076778320): send AV service=shell<br />

Feb 22 15:27:56.039 CST: <strong>AAA</strong>/AUTHOR/TAC+: (4076778320): send AV cmd=configure<br />

Feb 22 15:27:56.039 CST: <strong>AAA</strong>/AUTHOR/TAC+: (4076778320): send AV cmd-arg=terminal<br />

Feb 22 15:27:56.039 CST: <strong>AAA</strong>/AUTHOR/TAC+: (4076778320): send AV cmd-arg=<br />

Feb 22 15:27:56.239 CST: <strong>AAA</strong>/AUTHOR (4076778320): Post authorization status =<br />

PASS_ADD<br />

<strong>AAA</strong> server csuslog output:<br />

Feb 22 15:27:56 coachella <strong>Cisco</strong>Secure: DEBUG - AUTHORIZATION request (f2feb350)<br />

Feb 22 15:27:56 coachella <strong>Cisco</strong>Secure: DEBUG - Authorization - Request authorized;<br />

[NAS = 172.22.255.3, user = rtr_geek, port = tty3, input: service=shell cmd=configure<br />

cmd-arg=terminal cmd-arg= output: ]<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

C-25


C.6 Server-Based TACACS+ Router Authorization Diagnostics<br />

Appendix C<br />

Server-Based <strong>AAA</strong> Verification Diagnostic Output<br />

C-26<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


INDEX<br />

A<br />

<strong>AAA</strong><br />

BootFlash considerations B-1<br />

case study overview (figure) 1-2<br />

<strong>Cisco</strong> IOS 12.0(7)T command descriptions A-13<br />

defined 1-1<br />

disabling B-1<br />

example configuration (NAS) A-5, A-9<br />

example configuration (router) A-2<br />

overview 1-1<br />

security checklist (table) 1-12<br />

task checklist (table) 1-14<br />

aaa accounting command A-13, A-14<br />

aaa authentication command A-13, A-14<br />

aaa authorization command A-13, A-14<br />

aaa new-model key command A-13, A-14<br />

<strong>AAA</strong> server<br />

creating a user profile (RADIUS authentication) 4-7<br />

creating a user profile (RADIUS authorization) 4-9<br />

creating a user profile (TACACS+ authentication) 4-3<br />

creating a user profile (TACACS+ authorization) 4-5<br />

negotiation process (flow diagram) 6-3<br />

restarting 3-10<br />

software version used in case study xii<br />

verifying user configuration (RADIUS<br />

authentication) 4-8, 4-9<br />

verifying user configuration (TACACS+<br />

authentication) 4-3<br />

verifying user configuration (TACACS+<br />

authorization) 4-5<br />

<strong>AAA</strong> servers<br />

in network context 1-2<br />

access list<br />

dialup PPP filtering 1-11<br />

troubleshooting problems 6-14, 6-17<br />

verification, show caller user command<br />

(server-based) 4-10, C6<br />

verification, show line command (local-based) 2-8<br />

accounting<br />

configuring EXEC and command level<br />

(TACACS+) 5-4<br />

configuring NAS (TACACS+) 5-2<br />

configuring router (TACACS+) 5-4<br />

defined 1-1<br />

dial-based accounting (server) 5-1, 5-4<br />

monitored dialup PPP events 1-11<br />

monitored router administration events 1-11<br />

records policies 1-11<br />

server-based dial implementation 5-1<br />

server-based router implementation 5-4<br />

session timeout output example 5-3<br />

SQL query 5-2, 5-5<br />

TACACS+ dial implementation 5-1<br />

TACACS+ implementation (local-based) 2-12<br />

TACACS+ router implementation 5-4<br />

TACACS+ verification tests (local-based) 2-13<br />

TACACS+ verification tests (server-based) 5-2<br />

verifying from <strong>AAA</strong> server 5-2, 5-5<br />

acknowledgements xv<br />

AddProfile command<br />

adding basic user profile 3-11<br />

adding group profiles (TACACS+ authentication) 4-11<br />

adding group profiles (TACACS+ authorization) 4-17,<br />

4-18<br />

adding user profiles (RADIUS authentication) 4-7<br />

adding user profiles (RADIUS authorization) 4-9<br />

adding user profiles (TACACS+ authentication) 4-3<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

1


Index<br />

adding user profiles (TACACS+ authorization) 4-5<br />

administrative control<br />

authorization policy 1-11<br />

creating, router example 4-13<br />

privilege level 15 1-11<br />

attribute-value pair<br />

See AVPs<br />

audience<br />

defined xi<br />

authentication<br />

configuring NAS (RADIUS) 4-7<br />

configuring NAS (TACACS+) 4-3<br />

general process (flow diagram) 6-3<br />

RADIUS implementation 4-6<br />

RADIUS verification tests (server-based) C4<br />

RADIUS vs. TACACS+ 1-5<br />

server-based implementation 4-2, 4-6, 4-10<br />

TACACS+ dialup, verifying by using csuslog 4-4<br />

TACACS+ implementation (local-based) 2-2, 2-8<br />

TACACS+ implementation (server-based) 4-2, 4-10<br />

TACACS+ verification tests (local-based) 2-3, 2-9<br />

TACACS+ verification tests (server-based) C1, C7<br />

verifying PPP user authentication 4-4<br />

authentication, authorization, and accounting<br />

See <strong>AAA</strong><br />

authorization<br />

configuring NAS (RADIUS) 4-9<br />

configuring NAS (TACACS+) 4-4<br />

configuring routers 4-13<br />

defined 1-1<br />

general process (flow diagram) 6-3<br />

RADIUS implementation 4-8<br />

RADIUS verification tests (server-based) C5<br />

RADIUS vs. TACACS+ 1-5<br />

server-based implementation 4-4, 4-8, 4-13<br />

TACACS+ dialup, verifying by using csuslog 4-5<br />

TACACS+ implementation (local-based) 2-5, 2-10<br />

TACACS+ implementation (server-based) 4-4, 4-13<br />

TACACS+ router, verifying by using csuslog 4-16,<br />

4-18, 4-19<br />

TACACS+ verification tests (local-based) 2-6, 2-11<br />

TACACS+ verification tests (server-based) C2, C9<br />

verifying access list 4-10<br />

verifying PPP user authorization 4-5<br />

verifying RADIUS authorization 4-9<br />

autocommand ppp negotiate command 1-11<br />

AVPs<br />

adding group profiles (TACACS+ authentication) 4-11<br />

adding group profiles (TACACS+ authorization) 4-16,<br />

4-17, 4-18<br />

defined 1-6<br />

dial access devices 1-11<br />

EXEC disabled implementation 6-6<br />

EXEC shell enabled (TACACS+) 6-5<br />

privilege level 15 enabled (TACACS+) 6-5<br />

RADIUS, user profile 4-7, 4-9<br />

RADIUS examples (table) 1-6<br />

TACACS+, user profile 4-3, 4-5<br />

TACACS+ authentication, group profile 4-11<br />

TACACS+ authorization, group profile 4-16, 4-17, 4-18<br />

TACACS+ examples (table) 1-6<br />

B<br />

BootFlash images<br />

<strong>AAA</strong> considerations B-1<br />

C<br />

case study<br />

hardware xii<br />

objectives xi<br />

overview 1-1<br />

purpose xi<br />

software xii<br />

CCO<br />

accessing xiii<br />

2<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Index<br />

definition xiii<br />

CD-ROM<br />

documentation xiv<br />

Challenge Handshake Authentication Protocol<br />

See CHAP<br />

CHAP<br />

ISDN authentication 1-10<br />

checklists<br />

<strong>AAA</strong> implementation tasks (table) 1-14<br />

<strong>AAA</strong> security (table) 1-12<br />

<strong>AAA</strong> service definition (table) 1-10<br />

general service definition (table) 1-9<br />

network services 1-9<br />

<strong>Cisco</strong> 7206 VXR xii<br />

<strong>Cisco</strong> AS5300 xii<br />

<strong>Cisco</strong> AS5800 xii<br />

<strong>Cisco</strong> Connection Online<br />

See CCO<br />

<strong>Cisco</strong> IOS 12.0(7)T xii<br />

aaa accounting command A-13, A-14<br />

aaa authentication command A-13, A-14<br />

aaa authorization command A-13, A-14<br />

<strong>AAA</strong> command descriptions (NAS) A-13<br />

<strong>AAA</strong> command descriptions (router) A-13<br />

aaa new-model command A-13, A-14<br />

autocommand ppp negotiate command 1-11<br />

disabling <strong>AAA</strong> B-1<br />

example configurations A-1<br />

ip http command A-13<br />

ip tacacs command A-13<br />

local-based router example A-2<br />

radius-server host command A-15<br />

server-based NAS example A-5, A-9<br />

tacacs-server host command A-13, A-15<br />

tacacs-server key command A-13<br />

version used in case study xii<br />

<strong>Cisco</strong>Secure for UNIX<br />

See CSU<br />

commands<br />

<strong>Cisco</strong> IOS 12.0(7)T (<strong>AAA</strong>) A-13<br />

configurations<br />

<strong>Cisco</strong> IOS 12.0(7)T, NAS example A-5, A-9<br />

<strong>Cisco</strong> IOS 12.0(7)T, router example A-2<br />

CSU example A-15<br />

example CSConfig.ini listing A-19<br />

example CSU.cfg listing A-16<br />

examples, <strong>Cisco</strong> IOS 12.0(7)T A-1<br />

local router A-2<br />

RADIUS A-9<br />

TACACS+ A-5<br />

conventions<br />

command syntax xiii<br />

document xiii<br />

CSConfig.ini<br />

example file listing A-19<br />

CSU<br />

configuring CSU logging 3-9<br />

configuring debugging level 3-10<br />

creating csuslog file 3-9<br />

example configuration listings A-15<br />

example CSConfig.ini listing A-19<br />

example CSU.cfg listing A-16<br />

installation process 3-2<br />

installing 3-5<br />

log files listed A-25<br />

minimum system specifications xii<br />

pkgadd command 3-6<br />

restarting <strong>AAA</strong> server 3-10<br />

restarting syslog daemon 3-10<br />

software version used in case study xii<br />

verifying Oracle account information 3-4<br />

version 2.3(3) xii<br />

CSU.cfg<br />

example file listing A-16<br />

csuslog<br />

configuring logging 3-9<br />

creating file 3-9<br />

TACACS+ dialup authentication 4-4<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

3


Index<br />

D<br />

TACACS+ dialup authorization 4-5<br />

TACACS+ router authorization 4-16, 4-18, 4-19<br />

using tail command (TACACS+ dialup<br />

authentication) 4-4<br />

using tail command (TACACS+ PPP<br />

authorization) 4-5<br />

using tail command (TACACS+ router<br />

authorization) 4-16, 4-18, 4-19<br />

using the tail command C1<br />

database<br />

verifying instance 3-3<br />

Data Encryption Standard<br />

See DES<br />

debug command<br />

summary of relevant commands 6-7<br />

using to troubleshoot <strong>AAA</strong> problems 6-7<br />

debug output<br />

accounting (server-based) 5-3, 5-5<br />

accounting, TACACS+ (local-based) 2-13<br />

authentication, RADIUS (server-based) C4<br />

authentication, TACACS+ (local-based) 2-3, 2-10<br />

authentication, TACACS+ (server-based) C1, C7<br />

authorization, RADIUS (server-based) C5<br />

authorization, TACACS+ (local-based) 2-6, 2-11<br />

authorization, TACACS+ (server-based) C3, C9<br />

DES<br />

password support policy 1-13<br />

router policy 1-10<br />

diagnostics<br />

using debug command output C1<br />

directory environment variable<br />

verifying 3-3<br />

disconnect cause codes<br />

idle timeouts 5-2, 5-3<br />

listed (table) 5-6<br />

E<br />

encryption<br />

RADIUS 1-4<br />

TACACS+ 1-5<br />

F<br />

flow diagram<br />

general authentication and authorization 6-3<br />

TACACS+, authentication and authorization 4-14<br />

G<br />

groups<br />

defining administrative control 4-13<br />

H<br />

hardware<br />

case study xii<br />

<strong>Cisco</strong> 7206 VXR xii<br />

<strong>Cisco</strong> AS5300 xii<br />

<strong>Cisco</strong> AS5800 xii<br />

Sun UltraSPARC xii<br />

I<br />

implementation<br />

<strong>AAA</strong> task checklist (table) 1-14<br />

interoperability<br />

RADIUS attribute support 1-6<br />

IP addresses<br />

static address policy 1-13<br />

ip http command A-13<br />

ip tacacs command A-13<br />

ISDN<br />

CHAP authentication 1-10<br />

4<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Index<br />

L<br />

listener.ora<br />

configuration listing A-24<br />

local-based access<br />

compared with server-based access 1-6<br />

defined 1-6<br />

local-based configuration<br />

implementation overview 2-1<br />

TACACS+, accounting 2-12<br />

TACACS+, authentication 2-2, 2-8<br />

TACACS+, authorization 2-5, 2-10<br />

verification test results (TACACS+ accounting) 2-13<br />

verification test results (TACACS+<br />

authentication) 2-3, 2-9<br />

verification test results (TACACS+ authorization) 2-6,<br />

2-11<br />

M<br />

management policy<br />

TACACS+ vs. RADIUS comparison 1-5<br />

MD5<br />

RFC link 1-2<br />

multiprotocol support<br />

TACACS+ vs. RADIUS comparison 1-5<br />

N<br />

NAS<br />

versions used in case study xii<br />

NAS profile<br />

RADIUS 4-7<br />

network environment<br />

equipment summary 1-13<br />

network services<br />

<strong>AAA</strong> checklist (table) 1-10<br />

accounting policy 1-11<br />

authentication policy 1-10<br />

O<br />

authorization policy 1-11<br />

checklist 1-9<br />

definitions and policies 1-10<br />

dialup/shell <strong>AAA</strong> policy 1-10<br />

general checklist (table) 1-9<br />

objectives<br />

case study xi<br />

online documentation<br />

See CCO<br />

Oracle<br />

accounting records policy 1-11<br />

confirming tnsnames service 3-4<br />

creating tablespace 3-2<br />

DB Client 7.3(4) xii<br />

DB Server 7.3(4) xii<br />

installation reference 3-2<br />

listener (lsnrctl) 3-3<br />

listener.ora listing A-24<br />

Server Manager (svrmgrl) 3-3<br />

software version used in case study xii<br />

user environment variable A-23<br />

verifying account information 3-4<br />

verifying database instance 3-3<br />

verifying SMON operation 3-3<br />

verifying software directory environment variable 3-3<br />

OS Solaris 2.5(1) xii<br />

overview<br />

<strong>AAA</strong> case study 1-1<br />

P<br />

PAP<br />

PPP authentication 1-10<br />

Password Authentication Protocol<br />

See PAP<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

5


Index<br />

passwords<br />

authentication policies 1-13<br />

authentication policy 1-10<br />

authorization policies 1-13<br />

local access policy 1-10<br />

planning<br />

pre-deployment summary 1-9<br />

site preparation xi<br />

Point-to-Point Protocol<br />

See PPP<br />

policies<br />

accounting 1-11<br />

accounting, PPP 1-11<br />

accounting, router administration 1-11<br />

authentication 1-10<br />

authorization 1-11<br />

dialup/shell <strong>AAA</strong> 1-10<br />

privilege level 15 authorization 1-13<br />

router, administrative control 1-11<br />

router management 1-5<br />

security considerations 1-12<br />

PPP<br />

PAP authentication 1-10<br />

verifying TACACS+ authorization 4-5<br />

verifying TACACS+ user authentication 4-4<br />

privilege level<br />

TACACS+ support 1-2<br />

privilege level 15<br />

accounting 1-11, 1-12<br />

command authorization policy 1-13<br />

local administration 1-12<br />

router authorization policy 1-11<br />

router command authorization A-13<br />

privilege level 15 commands 4-13<br />

configuring accounting 5-4<br />

problems<br />

authentication<br />

<strong>AAA</strong> behavior configured incorrectly in NAS 6-9<br />

<strong>AAA</strong> behavior configured incorrectly in router 6-20<br />

connection between NAS and <strong>AAA</strong> server down 6-12<br />

connection between router and <strong>AAA</strong> server<br />

down 6-23<br />

group profile password type does not match type in<br />

NAS 6-13<br />

incorrect <strong>AAA</strong> configuration in router 6-21, 6-24<br />

maximum number of users exceeded 6-12, 6-23<br />

shell initiated PPP session fails 6-9, 6-13<br />

TACACS+ key incorrect in router or <strong>AAA</strong><br />

server 6-23<br />

TACACS+ or RADIUS key incorrect in NAS or <strong>AAA</strong><br />

server 6-12<br />

user account disabled due to too many failed<br />

logins 6-10, 6-22<br />

user account password or profile expired 6-11, 6-22<br />

user enters invalid username or password 6-9, 6-20<br />

user enters password incorrectly 6-10, 6-22<br />

user exceeds the maximum number of concurrent<br />

sessions 6-11, 6-22<br />

user name not in server database 6-10, 6-22<br />

user profile configured incorrectly 6-10, 6-22<br />

user workstation configured incorrectly 6-11<br />

authorization<br />

<strong>AAA</strong> authorization configured incorrectly in<br />

NAS 6-16<br />

<strong>AAA</strong> behavior incorrectly configured 6-26, 6-28<br />

<strong>AAA</strong> configuration error 6-25, 6-27<br />

access list assigned to user 6-14, 6-17<br />

authorization failed service 6-25, 6-27<br />

autocommand ppp negotiate assigned to user 6-26,<br />

6-28<br />

AVPs not assigned 6-14, 6-17<br />

does not have PPP service assigned 6-16<br />

feature is not supported on console ports 6-28<br />

group lacks shell service assigned 6-16<br />

Idle-Timeout RADIUS AVP not configured on group<br />

profile 6-18<br />

idletime TACACS+ AVP not configured on group<br />

profile 6-18<br />

Lack of service=shell AVP 6-28<br />

user client configuration error 6-13<br />

6<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Index<br />

user exceeds the maximum number of concurrent<br />

sessions 6-19<br />

user or group does not have User-Service-Type AVP<br />

assigned 6-19<br />

user or group profile lacks proper AVP 6-18<br />

user or group profile restricted 6-18<br />

user or lacks service=shell AVP assigned 6-19<br />

user profile configured incorrectly 6-28<br />

user profile lacks appropriate enable level to perform<br />

command 6-25<br />

user profile lacks appropriate enable privilege level to<br />

perform command 6-27<br />

user profile lacks appropriate privilege level to<br />

perform command 6-25, 6-27<br />

user profile restricted 6-14<br />

profiles<br />

assigning user to group profile (TACACS+<br />

authentication) 4-11<br />

assigning user to group profile (TACACS+<br />

authorization) 4-16, 4-17, 4-18<br />

creating basic user 3-11<br />

group, configuring router access 4-13<br />

group, verifying (TACACS+ authentication) 4-11<br />

group, verifying (TACACS+ authorization) 4-16, 4-17,<br />

4-18<br />

group configuration, TACACS+ 4-14<br />

group permissions (table) 4-13<br />

user, defining access privileges 6-5<br />

user, RADIUS 4-7, 4-9<br />

user, TACACS+ 4-3, 4-5<br />

user, verifying (TACACS+ authentication) 4-12<br />

user, verifying (TACACS+ authorization) 4-16, 4-17,<br />

4-18<br />

user, verifying basic 3-11<br />

user configuration (RADIUS authentication) 4-7<br />

user configuration (RADIUS authorization) 4-9<br />

user configuration (TACACS+ authentication) 4-3<br />

user configuration (TACACS+ authorization) 4-5<br />

purpose<br />

case study xi<br />

R<br />

RADIUS<br />

authentication tests (server-based) C4<br />

authorization tests (server-based) C5<br />

AVP examples (table) 1-6<br />

compared with TACACS+ 1-4<br />

compared with TACACS+ (table) 1-4<br />

configuring authentication (server-based) 4-6<br />

configuring authorization (server-based) 4-8<br />

creating user profiles (authentication) 4-7<br />

debug output, server-based authentication C4<br />

debug output, server-based authorization C5<br />

encryption 1-4<br />

example configuration (NAS) A-9<br />

interoperability 1-6<br />

NAS profile, creating 4-7<br />

negotiation process (flow diagram) 6-4<br />

RFC link 1-2<br />

See also AVPs<br />

See also troubleshooting<br />

technology overview 1-3<br />

troubleshooting scenario, authorization 6-36<br />

troubleshooting symptom list, authentication 6-10<br />

troubleshooting symptom list, authorization 6-15<br />

verifying access list assignment 4-10<br />

radius-server host command A-15<br />

Remote Authentication Dial-in User Service<br />

See RADIUS<br />

Requests for Comments<br />

See RFCs<br />

RFCs<br />

reference links 1-2<br />

router<br />

administration, command and control policy 1-11<br />

administrative control, creating 4-13<br />

authorization, controlling 4-13<br />

management, RADIUS vs. TACACS+ 1-5<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

7


Index<br />

S<br />

scenario<br />

case study description 1-8<br />

case study overview (figure) 1-2<br />

scenarios<br />

troubleshooting examples 6-29<br />

security<br />

policy considerations 1-12<br />

server-based access<br />

compared with local-based access 1-7<br />

defined 1-7<br />

server-based configuration<br />

implementation overview (authentication and<br />

authorization) 4-1<br />

verification test results (RADIUS authentication) C4<br />

verification test results (RADIUS authorization) C5<br />

verification test results (TACACS+ authentication) C1,<br />

C7<br />

verification test results (TACACS+ authorization) C2,<br />

C9<br />

verifying user (RADIUS authentication) 4-8, 4-9<br />

verifying user (TACACS+ authentication) 4-3<br />

verifying user (TACACS+ authorization) 4-5<br />

show caller user command<br />

access list verification output (server-based) 4-10, C6<br />

session timeout disconnect example 5-3<br />

show line command<br />

verification output (local-based) 2-8<br />

site preparation xi<br />

SMON<br />

verifying operation on Oracle server 3-3<br />

software<br />

case study listing xii<br />

software components<br />

<strong>Cisco</strong> IOS 12.0(7)T xii<br />

Oracle DB Client 7.3(4) xii<br />

Oracle DB Server 7.3(4) xii<br />

OS Solaris 2.5(1) xii<br />

SQL*Plus Release 3.3.4.0.1 xii<br />

SQL*Plus<br />

Release 3.3.4.0.1 xii<br />

sqlplus<br />

verifying account information 3-4<br />

symptom list, troubleshooting <strong>AAA</strong><br />

dial-based local authentication 6-9<br />

dial-based local authorization 6-13<br />

dial-based server authentication 6-10<br />

dial-based server authorization 6-15<br />

router-based local authentication 6-19<br />

router-based local authorization 6-24<br />

router-based server authentication 6-21<br />

router-based server authorization 6-26<br />

syslog daemon<br />

restarting 3-10<br />

T<br />

tablespace<br />

installing (Oracle) 3-2<br />

size requirements 3-2<br />

TAC<br />

contacting xiv<br />

TACACS<br />

RFC link 1-2<br />

TACACS+<br />

accounting tests (local-based) 2-13<br />

assigning user to group profile (authentication) 4-11<br />

assigning user to group profile (authorization) 4-16,<br />

4-17, 4-18<br />

authentication and authorization (figure) 4-14<br />

authentication tests (local-based) 2-3, 2-9<br />

authentication tests (server-based) C1, C7<br />

authorization tests (local-based) 2-6, 2-11<br />

authorization tests (server-based) C2, C9<br />

AVP examples (table) 1-6<br />

compared with RADIUS 1-4<br />

compared with RADIUS (table) 1-4<br />

configuring accounting (local-based) 2-12<br />

8<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>


Index<br />

configuring authentication (local-based) 2-2, 2-8<br />

configuring authentication (server-based) 4-2, 4-10<br />

configuring authorization (local-based) 2-5, 2-10<br />

configuring authorization (server-based) 4-4, 4-13<br />

configuring dial accounting (server-based) 5-1, 5-2<br />

configuring router accounting (server-based) 5-4<br />

creating user profiles (authentication) 4-3<br />

debug output, server-based authentication<br />

debug output, server-based authorization<br />

encryption 1-5<br />

example configuration (NAS) A-5<br />

multiprotocol support 1-5<br />

C1, C7<br />

C3, C9<br />

negotiation process, EXEC disabled (flow<br />

diagram) 6-6<br />

negotiation process, EXEC enabled (flow diagram) 6-5<br />

privilege level support 1-2<br />

RFC link 1-2<br />

router management 1-5<br />

See also AVPs<br />

See also troubleshooting<br />

service control 1-3<br />

technology overview 1-2<br />

troubleshooting scenario, authentication 6-29, 6-30, 6-31<br />

troubleshooting scenario, authorization 6-33, 6-34, 6-35<br />

troubleshooting symptom list, authentication 6-10, 6-21<br />

troubleshooting symptom list, authorization 6-15, 6-24,<br />

6-26<br />

tacacs-server host command A-13, A-15<br />

tacacs-server key command A-13<br />

tail command<br />

reading the csuslog file C1<br />

verifying dialup authentication with csuslog<br />

(TACACS+) 4-4<br />

verifying PPP authorization with csuslog<br />

(TACACS+) 4-5<br />

verifying router authorization with csuslog<br />

(TACACS+) 4-16, 4-18, 4-19<br />

Technical Assistance Center<br />

See TAC<br />

technology<br />

<strong>AAA</strong> overview 1-1<br />

Terminal Access Controller Access Control System Plus<br />

See TACACS+<br />

tnsnames service<br />

verifying with tnsping utility 3-4<br />

tnsping<br />

using to verify tnsnames service 3-4<br />

troubleshooting<br />

diagnostic overview 6-1<br />

example scenarios 6-29<br />

methodology overview 6-7<br />

RADIUS authorization scenario 6-36<br />

See also problems<br />

See also RADIUS<br />

See also symptom list, troubleshooting <strong>AAA</strong><br />

See also TACACS+<br />

TACACS+ authentication scenario 6-29, 6-30, 6-31<br />

TACACS+ authorization scenario 6-33, 6-34, 6-35<br />

U<br />

UNIX<br />

version used in case study xii<br />

user<br />

creating profiles (RADIUS authentication) 4-7<br />

creating profiles (RADIUS authorization) 4-9<br />

creating profiles (TACACS+ authentication) 4-3<br />

creating profiles (TACACS+ authorization) 4-5<br />

user environment variable<br />

Oracle, listed A-23<br />

V<br />

verification<br />

accounting, TACACS+ (local-based) 2-13<br />

accounting, TACACS+ (server-based) 5-2<br />

authentication, RADIUS (server-based) C4<br />

authentication, TACACS+ (local-based) 2-3, 2-9<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong><br />

9


Index<br />

authentication, TACACS+ (server-based)<br />

authorization, RADIUS (server-based)<br />

C5<br />

C1, C7<br />

authorization, TACACS+ (local-based) 2-6, 2-11<br />

authorization, TACACS+ (server-based)<br />

C2, C9<br />

verification tests<br />

debug output, RADIUS authentication<br />

(server-based) C4<br />

debug output, RADIUS authorization<br />

(server-based) C5<br />

debug output, TACACS+ (local-based) 2-6, 2-11, 2-13<br />

debug output, TACACS+ (server-based<br />

accounting) 5-3, 5-5<br />

debug output, TACACS+ authentication<br />

(server-based) C1, C7<br />

debug output, TACACS+ authorization<br />

(server-based) C3, C9<br />

SQL query (accounting) 5-2, 5-5<br />

ViewProfile command<br />

verifying basic user configuration 3-11<br />

verifying user configuration (RADIUS<br />

authentication) 4-8, 4-9<br />

verifying user configuration (TACACS+<br />

authentication) 4-3<br />

verifying user configuration (TACACS+<br />

authorization) 4-5<br />

10<br />

<strong>Cisco</strong> <strong>AAA</strong> <strong>Implementation</strong> <strong>Case</strong> <strong>Study</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!