cc/td/doc/product/access/acs_soft/csacs4nt
hometocprevnextglossaryfeedbacksearchhelp
PDF

Table of Contents

Database Information Management
Database Replication
RDBMS Synchronization
ODBC Import Definitions

Database Information Management


Two utilities, Database Replication and Remote Database Management System (RDBMS) Synchronization, are provided with the CiscoSecure Access Control Server (ACS). These utilities help automate the process of keeping your CiscoSecure ACS database and network configuration current. A third utility, CSUtil.exe, allows database backup and restore functionality. CSUtil.exe is described in the Appendix "CiscoSecure ACS Database Utilities."

While their functions are somewhat similar, RDBMS Synchronization is provided to allow the CiscoSecure ACS to tightly integrate with other RDBMS data sources, not to build fault-tolerant multiserver installations (although, in some configurations, it can be used to provide this).

In order to use Database Replication and/or RDBMS Synchronization, they must first be enabled in Interface Configuration: Advanced Options.

Database Replication

Database Replication is a powerful feature designed to simplify the construction of a fault-tolerant authentication, authorization, and accounting (AAA) service environment based on the CiscoSecure ACS 2.1 for Windows NT. The primary purpose of Database Replication is to provide the facility to replicate various parts of the setup on a CiscoSecure ACS master server to one or more CiscoSecure ACS client systems, allowing the administrator to automate the creation of mirror systems. These mirror systems can then be used to provide server redundancy as fallback or secondary servers to support fault-tolerant operation in the event of the failure of the master or primary system.

Database Replication automates the following procedures during the creation of a mirror system:

Database Replication Versus Database Backup

Do not confuse Database Replication with Database/System Backup. Database Replication is not a complete replacement for Database Backup. While dealing with much the same problem set (protection from partial or complete server loss), the two processes deal with the issues in a different way.

DB Backup allows the archiving of important data from a single machine into a defined backup format that can be used to later restore the configuration after a system failure or the corruption of the user data. The backup data is normally stored on nonvolatile media, such as tape, and removed from the system for long-term storage. Normally, multiple generations of the database backup are stored for some appropriate time period. This type of backup regime provides protection not only against overall system hardware failure, but also the possibility of application database corruption (provided that a suitable backup regime has been implemented).

Although unlikely, Database Replication could potentially propagate a corrupted database to its backup clients while performing a backup to its secondary systems. It is therefore strongly recommended that administrators of the CiscoSecure ACS's systems in mission-critical environments implement an adequate backup regime regardless of whether Database Replication is employed or not. See the section "Database Backup and Restore Utility" in the Appendix "CiscoSecure ACS Database Utilities" for more information on backup.

While Database Replication provides fairly comprehensive facilities for replication of the CiscoSecure ACS servers, it does not provide replication facilities for all of the CiscoSecure ACS setup. More importantly, all configuration relating to external authentication sources is not covered by Database Replication. This part of the configuration is not covered because the CiscoSecure ACS functionality relies on the installation of a number of communication dynamic link libraries (DLLs). Because installation of these DLLs is determined manually by the system administrator for each case, Database Replication cannot rely on the necessary DLLs being present. Replication of these parts of the CiscoSecure ACS configuration must be done manually. Because this data is relatively static, this does not represent a great deal of overhead.

Server Configuration

The following items for configuring Database Replication are configured in the CiscoSecure ACS HTML user interface:

Selecting Data to be Replicated

Database Replication allows you to select only some of the configuration data elements to be transferred to the client system. However, to create a mirror system, all items must be selected. The following items can be replicated:

For each item, there are two check boxes, one labeled Send and the other labeled Receive. For configuration of the master (source of data) system, only the Send box is relevant; the Receive checkbox refers to Client setup (see below).

Replication Scheduling

You can configure Database Replication to perform replication in one of the following ways:

To select the desired mode of operation, check the appropriate radio button and configure the parameters as appropriate.

Database Replication can be configured to categorically send specific database information to another CiscoSecure ACS in cases where mirroring the database with another CiscoSecure ACS might provide information considered confidential from the primary AAA server's site (such as Distribution Tables).

Choice of Replication Frequency

This setting can have very important implications for overall AAA service performance; the administrator must make an appropriate trade-off. You should be aware of the trade-offs in system performance. With shorter frequencies, the currency of the backup AAA server with the primary server is higher, allowing a more current backup to be maintained if the primary system fails, and a more current view of the CiscoSecure ACS user database. Unfortunately, the greater the currency, the higher the load exerted on other aspects of the overall AAA system and network environment. First, network load/traffic is consequently much higher, because the data is being transferred more often. Second, the processing load on the synchronizing systems is increased as the process is undertaken more often. Obviously, this process consumes system resources, and the more often the process is repeated, the greater the impact on the AAA server's authentication/authorization performance.

This issue becomes more apparent with very large databases, very dynamic databases (there are a lot of changes on the database taking place all the time), or both. Database Replication is a non-incremental or destructive backup. In other words, it completely replaces the database and configuration on the client system every time it is run. Therefore, if the database being transferred is very large, the amount of data being transferred can be substantial, and the processing overhead can also be large.

Service Interruption

During the replication and synchronization processes, the authentication service is halted briefly on both machines (although not at the same time). On the sender AAA server, service is halted while the appropriate files and registry information are collated and prepared for sending. On the receiver AAA server, service is halted when the incoming file and registry set is restored. Service is normal while the replication set is being transmitted between servers.

Replication Partners

Database Replication supports replication to one or more target or client CiscoSecure ACS systems. To select client systems for replication, follow these steps:


Step 1   Click System Configuration: CiscoSecure Database Replication.

Step 2   In the Replication Partners section in the AAA Servers column, click the name of the system you want to be the target.

Step 3   Click the right arrow button to move the selection into the Replication column.

Step 4   Repeat this process as required.

To deselect a replication target, reverse the above procedure using the left arrow button to move the server name into the AAA Servers column.

Important Notes

1. Only Database Replication to other CiscoSecure ACS hosts is supported, and to cooperate in this scheme, all master and client systems must be CiscoSecure ACS Release 2.1.

2. Only suitably configured valid CiscoSecure ACS hosts are presented for selection as Database Replication clients. To addition replication targets, select the applicable AAA server from the AAA Server Table in the Network Configuration window. When one or more CiscoSecure ACS hosts have been added to the Hosts Table, they will automatically appear for selection as Database Replication clients in the Replication Partners: AAA Servers column.

3. Replication of clients takes place sequentially in the order listed.

4. The client or target system must also be configured to accept Database Replication from the master system; otherwise, Database Replication fails. To set a client system to accept Database Replication instructions, see the next section "Client System Database Replication Configuration."

Client System Database Replication Configuration

Database Replication uses a sophisticated client/server relationship to provide strong security and control to sites using this facility. For Database Replication to work, both the server and client must be correctly configured; if the client is not configured to receive replication instructions, it rejects them. The client's receive configuration is set using the same user interface pages as the server. To configure a client to receive replication, follow these steps:


Step 1   Click System Configuration: CiscoSecure Database Replication.

Step 2   In the Replication Components section, check the Receive checkbox for each of the fields in which to accept data.

Step 3   Set the information in the Replication Scheduling section to match the information configured on the AAA server that is to be the master.

Step 4   In the Replication Partners section, in the Accept Replication From drop-down box, click the name of the AAA server that is to be the master.

Reports and Event (Error) Handling

Because system replication is a critical process, Database Replication provides visual alerts and logging to notify the system administrator of any problems that occurred during a replication event.

Database Replication Event Error Alert Notification

If replication fails, the CiscoSecure ACS displays an error message in red at the top of the Database Replication page. In addition to notification of errors, the message also informs the operator of the error code generated by the last unsuccessful run and suggests that the operator check the error log messages generated for previous failures. To dismiss the message and remove it from the screen, click OK.

Database Replication Logging

Event logging is provided in two logs, the Windows NT Event Log and a dedicated comma-separated value (CSV) log file, for Database Replication that the CiscoSecure ACS maintains. All events are logged, whether they are successful or not. To view the Windows NT Event Log, use the Windows NT administration utilities. To view the Database Replication Event log, click Reports and Activity: Database Replication and click the name of the file to view.

Disabling Replication

To disable replication completely, follow these steps:


Step 1   Click System Configuration: CiscoSecure Database Replication.

Step 2   In the Replication Components section, clear all the checkboxes

Step 3   In the Replication Scheduling section, click Manually. This prevents any automated replication from being performed.

Step 4   In the Replication Partners section, if there are any AAA servers listed in the Replication column, click their names and click the left arrow button to move them back into the AAA Servers column.

RDBMS Synchronization

RDBMS Synchronization is a powerful integration feature designed to simplify integration of the CiscoSecure ACS 2.1 for Windows NT with a third-party RDBMS application.

RDBMS Synchronization automates the synchronization with another RDBMS data source by providing the following functions:

The RDBMS Synchronization feature consists of two components:

Transaction Log Maintenance/Recovery of a Failed CiscoSecure ACS

RDBMS Synchronization operates by processing each record in the Open DataBase Compliance (ODBC) Import Table and then deleting the record after it is processed. The ODBC import table can therefore be considered a transaction queue and the data placed in it transient. This means that RDBMS Synchronization takes no responsibility for the maintenance of a transaction log/audit trail and that if such a facility is required, the responsibility for its creation is with the external RDBMS application. Unless the external RDBMS application has the facility to recreate the entire transaction history into the ODBC Import Table, it is strongly advised that a transaction log file be constructed for disaster recovery purposes. This can be easily achieved by mirroring all transactions in the ODBC Import Table to a second table under the external RDBMS application's control.

If the database is large, it is not feasible to recreate the CiscoSecure ACS database by replaying the transaction log for the entire history of the system. Instead, you can create regular checkpoint backups of the CiscoSecure ACS database. In this case, simply replay the transaction logs from the time of the checkpoint to bring the CiscoSecure ACS's database back up to date (that is, in sync with the external RDBMS application's database.) See the section "Database Backup and Restore Utility" in the Appendix "CiscoSecure ACS Database Utilities" for details on creating a checkpoint backup file.

Replaying transaction logs that slightly predate the checkpoint will not damage the CiscoSecure ACS database, although some transactions might be invalid and reported as errors. As long as the entire transaction log is replayed, the CiscoSecure ACS database attains a state consistent with the external RDBMS application's database.

Server Configuration

The user interface page provided in CSAdmin for configuring RDBMS Synchronization provides control of the following items:

System DSN Specification

RDBMS Synchronization provides control of the following System DSN parameters:

To configure RDBMS Synchronization to use a particular DSN, click the desired system DSN in the pull-down list of available DSNs and enter the appropriate username and password into the fields provided.

System DSN Configuration

RDBMS Synchronization takes its data from a valid ODBC data source. To be available for selection from the CiscoSecure ACS User Interface, the data source must be correctly installed from the Windows NT ODBC Control Panel applet before the CiscoSecure ACS can access the RDBMS Synchronization configuration pages. To simplify usage, a Microsoft Access database file (CSDB Sync.MDB) for use by RDBMS Synchronization is supplied with the CiscoSecure ACS. This ODBC data source is added to the available System DSNs with the name "CiscoSecure DBSync" during the CiscoSecure ACS installation process. No further ODBC data source configuration is required to make use of this data source, because it is installed as the default System DSN for RDBMS Synchronization. By default, the username and password parameters are set to null and should be changed for increased data security after installation.

To use a different file or database, such as Microsoft SQL Server or Oracle, you must define a System DSN defined for this data source for RDBMS Synchronization to use. SQL scripts are provided to help you generate a table in the correct format for both Microsoft SQL Server and Oracle's Oracle8 RDBMS servers.

RDBMS Synchronization Scheduling

RDBMS Synchronization can be scheduled to synchronize in one of three ways:

To select the desired mode of operation, click the appropriate radio button and configure the parameters as appropriate.

By default, RDBMS Synchronization is disabled.

Synchronization Targets

RDBMS Synchronization supports synchronization to one or more target CiscoSecure ACS systems.

To select a target system for synchronization, click the desired target system in the left list box and press the right arrow button to move the selection into the right list box of configured target systems. Repeat this process as required.

To deselect a synchronization target, reverse the above procedure using the left arrow button.

Reports and Event (Error) Handling

Because RDBMS Synchronization is a critical process, CSDB Sync provides visual alerts and logging to notify the system administrator of any problems that occurred during a synchronization event.

ODBC Import Definitions

This section provides the information you need to prepare your ODBC-compliant database, such as Microsoft Access or Oracle, for importing to a CiscoSecure ACS database.

Importing Account Data

A single table is used to import user/group information into one or more ACS servers. The CSAccupdate service processes the table and updates local/remote ACS installations according to its configuration.

Due to the nature of the "flat" structure, not all the fields in the table are required for every type of transaction. In the following sections the tables specify which fields must be present for each transaction type (or action).

The following fields are mandatory:

Therefore, these fields are not included when discussing per-action mandatory fields

Any modification to database format or the value set that can be assigned to a user or group must be made with reference to this section; otherwise incorrect user information might be set by third-party account information systems.

Table Specification (Account Actions)

CSAccupdate will attempt to open an ODBC System DSN called "CiscoSecureImport." This DSN should contain a table named "accountActions." The Update table will have the following fields. The database that contains the table can be from any vendor, provided that the ODBC drivers are suitable for use with multithreaded services.

Table 7-1   accountActions Table

Mnemonic Field Name Type Size Comments

CN

ComputerNames

String

32

RESERVED by CSAccupdate.

S

Status

Number

32

RESERVED by CSAccupdate. TRI-STATE: not processed, done, failed.

UN

UserName

String

32

The name of the user to which transaction applies.

GN

GroupName

String

32

The name of a group to which transaction applies.

AI

AppId

String

255

Type of configuration parameter to change.

A

Action

Number

0-2^16

Action required.

VN

ValueName

String

255

Name of parameter to change.

V1

Value1

String

255

New value (for numeric parameters, this is a decimal string).

V2

Value2

String

255

Name of a TACACS+ protocol; for example, "ip" or RADIUS VSA Vendor ID.

V3

Value3

String

255

Name of a TACACS+ service; for example, "ppp" or RADIUS VSA Attribute Number.

DT

DateTime

DateTime

 

Action creation date/time.

SI

SequenceId

AutoNumber

32

Unique action ID.

MN

MessgeNo

Int

 

Can be used to number related transactions.

P

Priority

Int

 

Priority with which this update is to be treated. 0 is the lowest priority.

Records are read from the table ordered by Sequence ID (ascending) and priority (ascending). Most systems writing to this table will do so in batch mode, with priority = 0. This allows a STAT user addition to occur ahead of the queue if an online user addition is required. Some care is required when changing transaction priorities, because the order of processing can become incorrect; for example, changing a user's password before the user has been created.

Action Codes

Table 7-2 lists the valid action codes. The required column indicates which fields should be completed via the field Mnemonic name—excluding the mandatory fields, which are assumed. Where an action can be applied to either a user or group, "UN|GN" is given. To make the action affect a user, leave the group name empty.

Table 7-2   Action Codes

# Name Required Description

1

SET_VALUE

UN|GN, AI, VN, V1, V2

Sets an ad-hoc value (V1) named (VN) of type (V2) for app (AI).

App IDs (AI) can be one of the following:

  • APP_CSAUTH
  • APP_CSTACACS
  • APP_CSRADIUS
  • APP_CSADMIN

Value types (V2) can be one of the following:

  • TYPE_BYTE—Single 8-bit number.
  • TYPE_SHORT—Single 16-bit number.
  • TYPE_INT—Single 32-bit number.
  • TYPE_STRING—Single string.
  • TYPE_ENCRYPTED_STRING - single string to be saved encrypted.
  • TYPE_MULTI_STRING—Tab-separated set of substrings.
  • TYPE_MULTI_INT—Tab-separated set of 32-bit numbers.

For example:

UN="fred", AI="APP_CSAUTH", VN="My Value"V2="TYPE_MULTI_STRING", V1="str1<tab>str2<tab>str3"
 
 
 
Specific Actions Related to Creation/Modification of User Accounts

100

ADD_USER

UN, V1

Create a new user (32 characters maximum). V1 is used as the initial password.

101

DELETE_USER

UN

Remove a user.

102

SET_PAP_PASS

UN, V1

Set the PAP password for a user (32 characters maximum). CHAP/ARAP will also default to this.

103

SET_CHAP_PASS

UN, V1

Set the CHAP/ARAP password for a user. (32 characters maximum).

104

SET_OUTBOUND_CHAP_PASS

UN, V1

Sets the CHAP/ARAP password for a user. (32 characters maximum)

105

ET_T+_ENABLE_PASS

UN, V1, V2

Sets the TACACS+ enable password (32 characters maximum) and Max Privilege level (0-15).

106

SET_GROUP

UN, GN

Assign the user to a group.

107

SET_PASS_TYPE

UN|GN, V1

  • PASS_TYPE_CSDB
  • PASS_ TYPE_CSDB_UNIX
  • PASS_TYPE_NT
  • PASS_TYPE_UNIX
  • PASS_TYPE_NDS
  • PASS_TYPE_SDI
  • PASS_TYPE_ANPI
  • PASS_TYPE_ENIGMA
  • PASS_TYPE_CRYPTO
  • PASS_ TYPE_AS_GROUP

109

REMOVE_PASS_STATUS

UN,V1

Remove a password status flag. This results in the status's being logically XORd together by the CSAuth server. V1 should contain one of the following:

  • PASS_STATUS_EXPIRES—Password expired on a given date.
  • PASS_STATUS_NEVER—Password never expires.
  • PASS_STATUS_WRONG—Password expires after a given number of attempts.
  • PASS_STATUS_RIGHT—Password expires after a given number of wrong attempts.
  • PASS_STATUS_DISABLED—The account has been disabled.

111

SET_PASS_EXPIRY_RIGHT

UN,V1

Set the max number of good authentications allowed (not in GUI) and reset current count.

112

SET_PASS_EXPIRY_WRONG

UN,V1

Set the max number of bad authentications allowed (Auto reset on good password if not exceeded) and reset current count.

113

SET_PASS_EXPIRY_DATE

UN,V1

Set the date on which account expires. The date format should be YYYYMMDD.

114

SET_MAX_SESSIONS

UN|GN,V1

Set the max sessions for a user or group, V1 should contain one of the following:

  • MAX_SESSIONS_UNLIMITED
  • MAX_SESSIONS_AS_GROUP
  • 1-65534

115

SET_MAX_SESSIONS_GROUP_
USER

GN,V1

Set the max sessions for a user of the group to one of the following:

  • MAX_SESSIONS_UNLIMITED
  • 1-65534
NAS Access filters control Telnet access to a NAS, Dial access filters control access by dialup users

120

INIT_NAS_ACCESS_CONTROL

UN|GN,V1

Clear the NAS access filter list and initialize permit/deny for any forthcoming filters.

V1 should be one of the following:

  • ACCESS_PERMIT
  • ACCESS DENY

121

INIT_DIAL_ACCESS_CONTROL

UN|GN,V1

Clear the dial-up access filter list and initialize permit/deny for any forthcoming filters.

  • V1 should be one of the following:
  • ACCESS_PERMIT
  • ACCESS DENY

122

ADD_NAS_ACCESS_FILTER

UN|GN,V1

Add a NAS filter for the user|group.

V1 should contain a single (NAS Name, NAS port, remote address) tuple; for example:

NAS01,tty0,0898-69696969
 

Optionally the NAS Name can be "All Nases" to specify filter applies to all configured NASes.

123

ADD_DIAL_ACCESS_FILTER

UN|GN, V1, V2

Add a dial-up filter for the user|group.

V1 should contain the filter type as one of the following:

  • ACCESS_TYPE_CLID—User is filtered by the calling station ID.
  • ACCESS_TYPE_DNIS—User is filtered by the called station ID.
  • ACCESS_TYPE_CLID_PLUS_DNIS—User is filtered by both calling and called station ID's.
  • ACCESS_TYPE_NAS_PLUS_PORT—User is filtered by NAS IP and NAS port address.

V2 should contain one of the following:

  • Calling station ID
  • Called station ID
  • Calling station ID, called station ID; for example,
01732-875374,0898-69696969
 
  • NAS IP address, NAS port; for example,
162.45.6.123,tty0
 

130

SET_TOKEN_CACHE_SESSION

GN, V1

Enable/disable token caching for an entire session, V1 is 0=disable, 1=enable.

131

SET_TOKEN_CACHE_TIME

GN, V1

Set duration that tokens are cached, V1 is the token cache duration in seconds, 0..??

140

SET_TODDOW_ACCESS

UN|GN, V1

Set periods that access is permitted. V1 contains a string of 168 chars. Each char represents a single hour of the week. `1' represents an hour that is permitted while a `0' represents an hour that is denied. Not specifying for a user implies group setting will apply, the default group setting is "permit all".

150

SET_STATIC_IP

UN, V1

Set the ip address to be assigned to this user (T+ and RADIUS). IP address should be in "xxx.xxx.xxx.xxx" format.

151

SET_CALLBACK_NO

UN, V1

Set the callback number for this user (T+ and RADIUS).

Tacacs and Radius Group Settings (and User-Level Overrides)

160

INIT_TACACS_ATTRS

UN|GN

Removes all T+ attributes for group/user (group default "default service=deny default cmd=deny" left).

161

INIT_RADIUS_ATTRS

UN|GN

Removes all RADIUS attributes for group/user.

162

ADD_TACACS_ATTR

UN|GN, V1, V2, V3, VN

Set the named attribute (VN) to value (V1) for protocol (V2) and service (V3); for example:

V2="ip", V3="ppp", VN="addr-pool", V1="pool1"

163

ADD_RADIUS_ ATTR

UN|GN, VN, V1, Optionally V2, V3

Add the numbered attribute (VN) to value (V) for user/group (UN/GN); for example:

GN="NT users", VN="18" (Reply-Message), V1="Welcome"
UN="fred", VN="8" (Framed-IP-Address), V1="3274462561" (195.44.85.97)
 

Where VN="26" - the Vendor Supplied Attribute (VSA) the fields V2 and V3 are expected to contain the IETF assigned Vendor VSA ID and VSA attribute ID respectively; for example:

V2 = "9" (Cisco Systems Inc)
V3 = "1" (AV-Pair)
V1 = "addr-pool=pool1" -
 

that is, the attribute data as normal.

RADIUS attribute values can be one of the following: INTEGER, TIME, IP ADDRESS or STRING.

200

DEL_DATABASE

 

Delete the user database and all data stored in it.

Note: There is no checking of this command so it is essential that the process generating data does not "accidentally" create this record. When this command has been issued, all data is lost.

Adding a User

Despite the many actions available, adding a user requires only one transaction: ADD_USER. All other user attributes can safely be left with their default actions. Table 7-3 describes the defaults for both users and groups. The term "NULL" is distinct from simply an empty string and means the value cannot or will not be processed.

Table 7-3  

Attribute Default

PAP Password

Password give with ADD_USER

Chap Password

Random string

Outbound CHAP Password

NULL

T+ Enable Password

NULL

Group

Default Group

Password Library

LIBRARY_CSDB

Password Type

PASS_TYPE_TEXT (password is cleartext PAP)

Password Expiry Status

PASS_STATUS_NEVER (never expires)

Expiry Data (right/wrong count + date)

All zeroed

Max Sessions

MAX_SESSIONS_UNLIMITED

TODDOW Restrictions

None (that is, Permit all)

NAS Access Control

NULL (that is, Permit all)

Dial Up Access Control

NULL (that is, Permit all)

Static IP Address

NULL

Callback Number

NULL

TACACS Attributes

NULL

RADIUS Attributes

NULL

User defaults


hometocprevnextglossaryfeedbacksearchhelp
Posted: Tue Jan 21 00:22:41 PST 2003
All contents are Copyright © 1992--2002 Cisco Systems, Inc. All rights reserved.
Important Notices and Privacy Statement.