CMS Security
CMS Security
Security
Release 16.2
November 2010
© 2010 Avaya Inc. All Rights Reserved. Preventing toll fraud
"Toll fraud" is the unauthorized use of your telecommunications system by an
Notice
unauthorized party (for example, a person who is not a corporate employee,
While reasonable efforts were made to ensure that the information in this agent, subcontractor, or is not working on your company's behalf). Be aware
document was complete and accurate at the time of printing, Avaya Inc. can that there can be a risk of toll fraud associated with your system and that, if toll
assume no liability for any errors. Changes and corrections to the information fraud occurs, it can result in substantial additional charges for your
in this document might be incorporated in future releases. telecommunications services.
Documentation disclaimer Avaya fraud intervention
Avaya Inc. is not responsible for any modifications, additions, or deletions to If you suspect that you are being victimized by toll fraud and you need technical
the original published version of this documentation unless such modifications, assistance or support, call Technical Service Center Toll Fraud Intervention
additions, or deletions were performed by Avaya. Customer and/or End User Hotline at +1-800-643-2353 for the United States and Canada. For additional
agree to indemnify and hold harmless Avaya, Avaya's agents, servants and support telephone numbers, see the Avaya Support Web site:
employees against all claims, lawsuits, demands and judgments arising out of,
http://www.avaya.com/support
or in connection with, subsequent modifications, additions or deletions to this
documentation to the extent made by the Customer or End User. Trademarks
Link disclaimer Avaya and the Avaya logo are either registered trademarks or trademarks of
Avaya Inc. in the United States of America and/or other jurisdictions.
Avaya Inc. is not responsible for the contents or reliability of any linked Web
sites referenced elsewhere within this documentation, and Avaya does not All other trademarks are the property of their respective owners.
necessarily endorse the products, services, or information described or offered
Downloading documents
within them. We cannot guarantee that these links will work all the time and we
have no control over the availability of the linked pages. For the most current versions of documentation, see the Avaya Support Web
site:
Warranty http://www.avaya.com/support
Avaya Inc. provides a limited warranty on this product. Refer to your sales
agreement to establish the terms of the limited warranty. In addition, Avaya’s Avaya support
standard warranty language, as well as information regarding support for this Avaya provides a telephone number for you to use to report problems or to ask
product, while under warranty, is available through the Avaya Support Web questions about your product. The support telephone number
site: is 1-800-242-2121 in the United States. For additional support telephone
http://www.avaya.com/support numbers, see the Avaya Support Web site:
http://www.avaya.com/support
License
USE OR INSTALLATION OF THE PRODUCT INDICATES THE END USER'S
ACCEPTANCE OF THE TERMS SET FORTH HEREIN AND THE GENERAL
LICENSE TERMS AVAILABLE ON THE AVAYA WEB SITE
http://www.avaya.com/support/LicenseInfo ("GENERAL LICENSE TERMS").
IF YOU DO NOT WISH TO BE BOUND BY THESE TERMS, YOU MUST
RETURN THE PRODUCT(S) TO THE POINT OF PURCHASE WITHIN TEN
(10) DAYS OF DELIVERY FOR A REFUND OR CREDIT.
Avaya grants End User a license within the scope of the license types
described below. The applicable number of licenses and units of capacity for
which the license is granted will be one (1), unless a different number of
licenses or units of capacity is specified in the Documentation or other
materials available to End User. "Designated Processor" means a single
stand-alone computing device. "Server" means a Designated Processor that
hosts a software application to be accessed by multiple users. "Software"
means the computer programs in object code, originally licensed by Avaya and
ultimately utilized by End User, whether as stand-alone Products or
pre-installed on Hardware. "Hardware" means the standard hardware
Products, originally sold by Avaya and ultimately utilized by End User.
License type(s)
Designated System(s) License (DS). End User may install and use each
copy of the Software on only one Designated Processor, unless a different
number of Designated Processors is indicated in the Documentation or other
materials available to End User. Avaya may require the Designated
Processor(s) to be identified by type, serial number, feature key, location or
other specific designation, or to be provided by End User to Avaya through
electronic means established by Avaya specifically for this purpose.
Concurrent User License (CU). End User may install and use the Software on
multiple Designated Processors or one or more Servers, so long as only the
licensed number of Units are accessing and using the Software at any given
time. A "Unit" means the unit on which Avaya, at its sole discretion, bases the
pricing of its licenses and can be, without limitation, an agent, port or user, an
e-mail or voice mail account in the name of a person or corporate function
(e.g., webmaster or helpdesk), or a directory entry in the administrative
database utilized by the Product that permits one user to interface with the
Software. Units may be linked to a specific, identified Server.
Copyright
Except where expressly stated otherwise, the Product is protected by copyright
and other laws respecting proprietary rights. Unauthorized reproduction,
transfer, and or use can be a criminal, as well as a civil, offense under the
applicable law.
Third-party components
Certain software programs or portions thereof included in the Product may
contain software distributed under third party agreements ("Third Party
Components"), which may contain terms that expand or limit rights to use
certain portions of the Product ("Third Party Terms"). Information identifying
Third Party Components and the Third Party Terms that apply to them is
available on the Avaya Support Web site:
http://www.avaya.com/support/ThirdPartyLicense
Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Purpose. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Intended users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Conventions and terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Reasons for reissue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Documentation Web sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Avaya Call Management System (CMS) is an application for businesses and organizations that
use Avaya communication servers to process large volumes of telephone calls using the
Automatic Call Distribution (ACD) feature. Avaya CMS supports solutions for routing and agent
selection, multi-site contact centers, remote agents, reporting, interfaces to other systems,
workforce management, desktop applications, system recovery, and quality monitoring.
Avaya CMS is part of the Operational Effectiveness solution of the Avaya Customer Interaction
Suite.
This section includes the following topics:
● Purpose on page 7
● Intended users on page 7
● Overview on page 8
● Conventions and terminology on page 9
● Reasons for reissue on page 9
● Documentation Web sites on page 9
● Support on page 10
Purpose
The purpose of this document is to describe how to implement security features in Avaya CMS.
Intended users
This document is written for:
● Avaya support personnel.
● Avaya factory personnel.
● Contact center administrators.
Users of this document must be familiar with Avaya CMS and the Solaris operating system.
Overview
This document includes the following topics:
● Avaya CMS security on page 11
This topic discusses the common security features available in CMS across all releases.
● CMS version specific security on page 29
This topic discusses security features available in CMS in each version. It discusses in
detail the progression in security aspects of CMS with new releases.
● Enabling and Disabling Services in Solaris 9 and 10 on page 53
This topic discusses the facilities provided by Solaris 9 and Solaris 10 to enable and
disable system services.
! CAUTION:
CAUTION: Caution statements call attention to situations that can result in harm to software,
loss of data, or an interruption in service.
! WARNING:
WARNING: Warning statements call attention to situations that can result in harm to hardware
or equipment.
! DANGER:
DANGER: Danger statements call attention to situations that can result in harm to personnel.
! SECURITY ALERT:
SECURITY ALERT: Security alert statements call attention to situations that can increase the potential
for unauthorized use of a telecommunications system.
Support
Contacting Avaya technical support
Avaya provides support telephone numbers for you to report problems or ask questions about
your product.
For United States support:
1- 800- 242-2121
For international support:
See the Support Directory listings on the Avaya Web site.
This document covers security-related information and configuration settings in the Solaris
Operating System and Call Management System (CMS) applications that interest customers.
This chapter covers the following topics:
● Operating system hardening on page 11
● Authentication and session encryption on page 15
● CMS application security on page 23
● Physical Security on page 24
● Services security and CMS support on page 25
● /var/adm/messages. This log includes system messages (syslog), including failed login
attempts if auth.debug is enabled in /etc/syslog.conf.
● /var/adm/sulog. This log contains su records for access to root privileges.
● /var/cron/log. This log contains cron records for automated scripts run under the cron
process.
New auditing options are discussed in the Security enhancements included with R16 and
later on page 41.
! Important:
Important: Add a blank line before and after the BANNER="CMS OS" line. If you do not, the
Avaya CMS system will not display the CMS OS message correctly. When users
either telnet or ftp to the CMS, the users will see a message similar to the
following example:
3. Save the file.
4. Change the file permissions to 444.
Banner modifications
You can modify the banners displayed on login to any CMS system to obscure OS or application
information or display legal access warnings.
Displaying a restricted warning for telnet users performs the following functions:
● Displays your corporate policy for illegal computer activity
● Scares off individuals who want to access a system illegally
● Allows you to prosecute an individual who has illegally accessed the system
To display a restricted warning for telnet users:
When users connect to the Avaya CMS system using network services, the system
displays the warning message. A user would see the message if they telnet into the Avaya
CMS system.
3. Save the file.
4. Change the file permissions to 644.
Using PAM configuration files, Solaris allows for integration with external authentication within a
UNIX domain using a Network Integration Service (NIS or NIS+). CMS does not support add-on
authentication packages for other external authentication services for Solaris. Use of external
authentication can bypass local rules configured for password expiration and complexity, such
as the settings within the two OS files /etc/passwd and /etc/shadow.
Avaya Access Security Gateway (ASG) software can authenticate Avaya Services and other
remote users. This mechanism supports a one-time password. The system presents the user
with a challenge string to which they respond with a string generated by a software tool, based
on the challenge and product identification information.
You can define the following access permissions for each user login and password in CMS:
● ACD Access: User can assign, view, delete, and modify another user's ability to gain
access to more than one real or pseudo ACDs. You can also turn on or off the exceptions
notification for ACDs in this window.
● Feature Access: User can assign, view, or modify user access permissions for the CMS
subsystems such as Reports, Dictionary and Exceptions and certain function key (SLK)
menu items, such as UNIX system/Solaris system and Timetable. The access permissions
given to a user affect what that user is able to do with CMS.
● Main Menu Addition Access - User can assign, view, or modify other users' access
permissions for the additional menu items of your choosing. These items can provide
access to your local electronic mail environment or daily news articles about your call
center for agents or split/skill supervisors.
● Split/Skill Access - User can assign, view, modify, or delete another user's permissions to
specific splits/skills. Split/Skill Access permissions determine your ability to access and
administer agent/queue data for a particular split or skill. You must also turn on or off the
exceptions notification for splits/skills in this window.
● Trunk Group Access - User can assign, view, modify, or delete another user's access
permissions to specific trunk groups. Trunk Group Access permissions determine a user's
ability to access and administer data for a particular trunk group. You must also turn on or
off the exceptions notification for trunk groups in this window.
● User Data - User can assign CMS user IDs, specify a default printer,specify whether the
user is an administrator, or a normal user such as a splits/skill supervisor, and administer
the maximum number of open windows, the minimum refresh rate for real-time reports,
and the default login ACD.
● VDN Access - User can assign, view, modify, or delete another CMS user's access
permissions to specific VDNs. VDN access permissions determine a user's ability to
administer VDNs with the various CMS subsystems and to access report/administration
data for VDNs.
● Vector Access - User can define vector access permissions. These permissions specify
the user's ability to administer vectors and to access report/administration data for vectors.
Use to assign, view, modify, or delete a CMS user's access permissions to specific
vectors.
Using passwd_age
Use the passwd_age option to turn password aging on or off. If password aging is on, users will
be prompted to enter a new password after a predetermined time interval has passed.
Password aging is off by default.
! CAUTION:
CAUTION: If you have any third party software or Avaya Professional Services (APS) offers,
do not turn on password aging. Contact the National Customer Care Center
(1-800-242-2121) or consult with your product distributor or representative to
ensure that password aging will not disrupt any additional applications.
The passwd_age option will effect the passwords of all Avaya CMS users and regular UNIX
users. When password aging is on, the Solaris policy file /etc/default/passwd is modified.
The passwords of all Avaya CMS users that use the /usr/bin/cms shell and all UNIX users
will age. If password aging is on when a new user is added, the user's password begins to age
as soon as a password is entered for that account. You must exclude specific users before
turning password aging on in order to prevent additional password administration. To prevent
the aging of a specific user's password, see Adding and removing users from password aging
and Troubleshooting password aging sections in Avaya CMS Software Installation,
Maintenance and Troubleshooting.
! Important:
Important: Non-CMS users such as root, root2, or informix will not age. Password
aging will not function on an Avaya CMS system that uses a NIS, NIS+, or LDAP
directory service. If you are using NIS, NIS+, or LDAP, contact your network
administrator. The passwords will need to be aged from the server running the
directory service.
To use the passwd_age option:
1. Enter:
cmsadm
The system displays the CMSADM menu.
2. Select number for “passwd_age” menu item.
The system displays the following message:
Note:
Note: The system will also display a message that indicates that password aging is off
or the current password aging schedule. You can enter q at any point to exit the
password aging options.
3. Perform one of the following actions:
● To turn password aging on:
a. Enter: 1
The system displays the following message:
b. Enter the number of weeks before passwords expire and users are prompted to enter
a new password. The range is from 1 to 52 weeks.
● To turn password aging off:
a. Enter: 2
The system displays the following message:
b. Perform one of the following actions:
- To turn password aging off, enter: yes
- To leave password aging on, enter: no
● To change the password aging interval:
a. Enter: 3
The system displays the following message:
b. Enter the number of weeks before passwords expire and users are prompted to enter
a new password. The range is from 1 to 52 weeks.
See the Manual password complexity changes for R15 and Later (optional) on page 39 for more
options for R15 and later systems.
Standard UNIX one-way password encryption is used within the /etc/shadow file.
For R15 and later systems, the Standard UNIX one-way password encryption can be changed
to the md5 method using the instructions in Changing the default password encryption algorithm
on Solaris™ on page 35. If you have an Oracle/Sun account you can refer directly to the Oracle
document at http://sunsolve.sun.com/search/document.do?assetkey=1-71-1001835.1-1.
On the CMS server, you can restrict the telnet service to the local host using the following
restrictions:
● /etc/hosts.allow
in.telnetd : localhost # allow telnet only from within the server
● /etc/hosts.deny
in.telnetd: ALL # deny all telnet except as specified in hosts.allow
Other points to be noted:
● Although the telnet service runs on the CMS server, it is configured so that any attempt to
gain access to port 23 from outside the system results in a "connection refused" message.
This is now true for R16.1 and later systems. Previous releases did not work properly to
restrict the access to localhost only. See above to codify the in.telnetd line for localhost
access only.
● Multiple applications can run concurrently on the computer. You can allocate the ports
3000, 3005, 3010, and so on as needed.
● In CMS, the Windows SSH clients and SSH server negotiate the encryption algorithm,
typically 128-bit AES (recommended) or Blowfish. A variety of industry standard
algorithms, such as 128-bit AES, Blowfish, SHA-1, MD5, RC4, and key lengths are
provided as a result of including an SSH client. The specific algorithm is negotiated
between the client and the server. The U.S. government accepts all for domestic and
international use, with certain restrictions. Selection of an algorithm takes place at run
time. SSH uses RSA or DSA. CMS servers use SSH Protocol 2. The default encryption is
RSA and the key length is 1024 bits. SSH uses SHA-1 or MD5 message authentication.
● This SSH implementation is not available for Network Reporting or Visual Vectors.
Note:
Note: A minor issue with ssh on R12 and R13/R13.1 systems exists. The details and a
workaround are noted below. This is documented in document id KB00105609.
to this
# IPv4 only
ListenAddress 0.0.0.0
# IPv4 & IPv6
#ListenAddress ::
:wq!
vi /etc/init.d/sshd
change:
[ -x /usr/lib/ssh/sshd ]&& /usr/lib/ssh/sshd &
to this:
[ -x /usr/lib/ssh/sshd ]&& /usr/lib/ssh/sshd -4 &
2) Restart sshd
/etc/init.d/sshd stop
/etc/init.d/sshd start
This issue must be resolved in CMS R14.The workaround will be implemented as part of the
base CMS package.
SPI link
The SPI link is a binary (not text-based), proprietary protocol used to communicate between the
CMS system and the Communication Manager ACD switch. Access can be controlled by IP
address. Communication Manager sends ACD configuration information and ACD-related
events to the CMS using this communication channel. For instance, CMS systems can use the
SPI link to modify CM vectors, agent and VDN assignments.
Physical Security
The Avaya CMS system must be installed in an area restricted to persons of trust, such as a
locked server room or data center. This section covers the following topics:
● Physical server protection on page 24
● EEPROM security on page 25
Store all backup tapes and all original Avaya CMS software in a secure location on site. Store a
copy of the backup tapes at an off site location to aid disaster recovery.
The modem connected to the Avaya CMS system can provide secure remote access and also
allow Avaya CMS services personnel to perform remote support. Avaya CMS systems can be
ordered with an Access Security Gateway (ASG) to provide secure remote access.
Note:
Note: A lock and key modem will also provide secure remote access but it is no longer
available for purchase from Avaya.
EEPROM security
Sun provides an EEPROM-level security mechanism for controlling access to the boot console.
You need a password to access the boot console. For support purposes, customers must use
other methods since a forgotten password can require hardware replacement.
Adding a firewall
Add a firewall on the edge of the network where the Avaya CMS system and Avaya CMS
Supervisor clients reside. Both the Avaya CMS system and Avaya CMS Supervisor clients must
remain behind a firewall to provide protection from the internet.
Firewalls are commonly used to prevent denial of service attacks on application servers similar
to the Avaya CMS system. Firewalls will also prevent snooping of sensitive data, and hijacked
sessions from appearing as an authenticated user.
Transmitting passwords
Do not use telnet or ftp to transmit passwords over the network in clear text. If you do so, the
password can be snooped in transit.
This chapter covers the version-specific security aspects of CMS. There have been
enhancements in CMS versions R12 and later, R15 and R16.1 in areas of operating system
hardening that was introduced in the first chapter. The following topics explain the areas where
these enhancements have occurred:
● Limiting external access to UNIX services on page 29
● Solaris services that can be disabled on page 30
● Additional OS hardening on page 31
● Firewall traversal considerations / Open ports (R12 and later) on page 32
● New security enhancements with R15 (r15ab.d and later) on page 33
● Other (optional) scripts provided with r15ab.d and r15auxab.d on page 34
● Changing the default password encryption algorithm on Solaris™ on page 35
● Manual password complexity changes for R15 and Later (optional) on page 39
● Security enhancements included with R16 and later on page 41
Additional OS hardening
On CMS R12 and later systems, root logins are only permitted on the console. In addition, cron
is limited to users root, sys, lp, adm, and cmssvc, while at is limited to root, sys, and
cmssvc. The umask for system daemons is set to 022. Customers running older versions of
CMS must upgrade to the latest version to benefit from the more limited umask settings.
Otherwise, a custom Avaya Professional Services offer must be pursued for older system
umask changes.
In addition:
● The system stack is non executable.
● TCP sequence numbers are more difficult to determine (prevents packet snooping).
● TCP Wrappers are installed and enabled.
● Remote CDE sessions are disabled.
● Remote DT login is disabled.
● Ordinary users do not have interactive shell accounts unless the privilege is granted within
CMS user permissions.
Optional ports:
● 21/tcp: ftp, used by a CSI (customized configuration) offer
● 25/smtp: sendmail, used by a CSI offer
● 37/tcp time: used by a CSI offer
● 121/tcp erpc: used by Openlink ODBC for the optional CMS data report capability (CMS
R14.1 and earlier systems)
● 514/tcp: rsh, used by the High Availability option for the admin-sync utility (CSI offer) Also
required for remote tape copy (provisioning)
● 540/tcp: uucp, used by the External Call History (ECH) interface
● 4008/tcp: required for Avaya Visual Vectors Server
● 9100/tcp, udp: hp-printers
● 515/tcp, udp: Printer server
● 6060: Geotel
● 9999: CVLan
● 9980: Link Admin
● 5678: Definity LAN Gateway
● 5011/5012: ASAI
● 5000 - 5020: OpenLink ODBC (CMS R14.1 and earlier systems)
Note:
Note: Older systems use 4000-range ports. The ACD integration ports are different if
the 5000-5009 range is used."
● 50000 - 50001/tcp: Informix ODBC Connections (CMS R15 and later, can be enabled for
earlier releases, but uncommon)
● 60001/udp: OpenLink ODBC Connection Setup (CMS R14.1 and earlier systems)
● 4000-range: Visual Vectors
Note:
Note: Each time a user logs in to visual vectors, the port increments for the next user;
VV uses port 2890 for the Orbix Daemon and ports 4000-4200. Once the ports
are incremented to 4200, VV reuses the released ports. The comments apply to
vvsv12aa.x and higher, which means CMS R12 and higher. The port range is not
administrable.
● 540/tcp: uucp for the External Call History (ECH) interface.
Additions have been made to the S98cms_ndd script that enables the system to prevent
network Denial of Service (DoS) attacks. Specifically, the attempt is to prevent TCP SYN attacks
by increasing the TCP queue for unestablished connections and the TCP queue for established
connections. This does not deter a TCP SYN attack from a system that has more resources
allocated than the larger queues can handle, but it prevents the known TCP SYN attacks.
ndd -set /dev/tcp tcp_conn_req_max_q0 2048
ndd -set /dev/tcp tcp_conn_req_max_q 1024
The cron.allow, at.allow, cron.deny, and at.deny files have been modified to
restrict usage and make the files accessible only to root.
The /etc/ftpd/ftpusers file has been restricted to only be accessible by root.
When the cms_security script is run on the system, it modifies ownership and permissions
on any and all *.mib files it finds.
Note:
Note: This causes an issue if the customer system has remote mounts to other systems
and has permission to change files on the remote mount. Any *.mib files on the
remote system are also modified if the system has proper permissions on the
remote mount. CMS R16.1 no longer has this issue. CMS R16.1 and later
specifically search only the local filesystems for *.mib files.
Permissions on man pages and their directory structure are made to restrict user's ability to
write or execute. This script restricts itself to known man page areas on the system.
Syslog is restricted from logging from any remote systems. The permissions on the syslog.conf
file are restricted to root.
The /etc/mail/helpfile is truncated to zero length. Version information is removed from
the sendmail greeting. Privacy options are restricted (noexpn, novrfy). The decode alias has
been commented out in /etc/mail/aliases.
● acctvrfy - A Perl script that attempts to lock user accounts for inactivity. This script does
not attempt to check on current sessions and verify an inactive session. See the script for
instructions on how to use.
Description
In the era of increased security awareness, many people are looking for better ways to encrypt
data and passwords. This document explains the steps necessary to configure Solaris™ 9 12/
02 and later to use Blowfish or MD5 encryption algorithm as the default method for encrypting
user passwords.
Steps to Follow
Every user on a UNIX system has a password associated with their login account. These
passwords are encrypted in a one-way hash using the traditional UNIX crypt algorithm called
crypt_unix. This algorithm is no longer regarded sufficiently secure for current systems and
is provided for backward compatibility. This remains the default algorithm used for password
encryption on Solaris™.
One of the biggest limitations is that only the first 8 characters of the key passed to this
algorithm are used. The rest are silently ignored.
Solaris 9 12/02 introduces the ability to change the default encryption algorithm for passwords
to use the Blowfish (crypt_bsdbf) or MD5 (crypt_sunmd5/crypt_bsdmd5) algorithms.
There are two versions of the MD5 algorithm:
crypt_sunmd5: This is Sun's implementation of the MD5 algorithm
crypt_bsdmd5: This is the BSD implementation of the MD5 algorithm and provides
compatibility with md5crypt on BSD and Linux systems.
Implementation
1. Establish that your release of Solaris 10 is 10/08 or later.
$ cat /etc/release
Solaris 10 10/08 s10s_u6wos_07b SPARC
Copyright 2008 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 27 October 2008
The first line of the output provides you with the release number. This example is using
Solaris 10 10/08.
2. Change the default algorithm for user passwords.
a. Login as root and open /etc/security/policy.conf using vi.
The file looks as follows by default:
#
# Copyright 1999-2002 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# /etc/security/policy.conf
#
# security policy configuration for user attributes. see policy.conf(4)
#
#ident "@(#)policy.conf 1.6 02/06/19 SMI"
#
AUTHS_GRANTED=solaris.device.cdrw
PROFS_GRANTED=Basic Solaris User
# crypt(3c) Algorithms Configuration
#
# CRYPT_ALGORITHMS_ALLOW specifies the algorithms that are allowed to
# be used for new passwords. This is enforced only in crypt_gensalt(3c).
#
CRYPT_ALGORITHMS_ALLOW=1,2a,md5
# To deprecate use of the traditional unix algorithm, uncomment below
# and change CRYPT_DEFAULT= to another algorithm. For example,
# CRYPT_DEFAULT=1 for BSD/Linux MD5.
#
#CRYPT_ALGORITHMS_DEPRECATE=__unix__
# The Solaris default is the traditional UNIX algorithm. This is not
# listed in crypt.conf(4) since it is internal to libc. The reserved
# name __unix__ is used to refer to it.
#
CRYPT_DEFAULT=__unix__
b. Decide which algorithm you wish to use for encrypting the passwords. The
"CRYPT_ALGORITHMS_ALLOW" line lists the available algorithms.
Sun's MD5 is regarded stronger than the BSD/Linux compatible version, but it is not
compatible with non-Solaris™ systems.
The Blowfish implementation is the most secure, and is compatible with other BSD/
Linux/UNIX systems that utilize this algorithm.
c. Deprecate the less secure traditional UNIX algorithm by uncommenting the line
containing "CRYPT_ALGORITHMS_DEPRECATE=unix"
d. Set the new default encryption algorithm by changing "CRYPT_DEFAULT=unix" to the
appropriate algorithm that you wish to use.
For example:
CRYPT_DEFAULT=1
Verify
You can verify that the new passwords are being encrypted using the new algorithm by
checking the password field in the /etc/shadow file. Each of the new algorithms have an
identifier at the beginning of the password field.
Traditional UNIX crypt encrypted passwords are short with no distinguishing pattern at the
beginning.
Example:
testuser:SkRrs95xihsQ.:12384::::::
BSD/Linux compatible MD5 encrypted passwords can be identified by "$1$" as the first 3
characters of the encrypted password:
Example:
testuser:$1$26sYv4pB$zo4xkXLRyBrolTF9IuT8d/:12384::::::
Blowfish encrypted passwords can be identified by "$2a$" as the first 4 characters of the
encrypted password.
Example:
testuser:$2a$04$Ap60ohzOKIcRPJLazpcaBO4liyUzdYdbCpM.p6T6Q1W1ExOnkStiu:12384::::::
Sun MD5 encrypted passwords can be identified by "$md5$" as the first 4 characters of the
encrypted password:
Example:
testuser:$md5$RPgLF6IJ$WTvAlUJ7MqH5xak2FMEwS/:12384::::::
After changing, no reboot is required. Validate by changing the password. Using md5, a sample
encrypted password string in /etc/shadow will look like:
root:$md5$e8C9kZU9$$Ye6tfFUnKTF/K.jLoSuw8/:12858::::::
Note:
Note: After changing the encryption type back to unix from md5 you will notice the
system still accepts long passwords. Looking at the /etc/shadow file, you can
see that the password string will remain as an md5 encryption string.
Changes to /etc/default/login
There are several options in the /etc/default/login that can be changed to enhance the
security of the system. One option that must not be used, but is required by some policies is
changing the CONSOLE line to "/dev/null". This disallows direct root logins from the
console. Use with extreme care.
Other options that can be set are in the following table:
Note:
Note: There are too many possible options for complete testing of these features to be
done. Many combinations have been tested, but your specific implementation
need not have been tested.
! WARNING:
WARNING: As with any other auditing tool, BART can use a lot of space if you keep many
copies of the manifest and comparisons. Take care not to overrun your filesystem
space. This is not something Avaya has the ability or responsibility to manage.
BART enables you to determine what file-level changes have occurred on a system, relative to
a known baseline. You use BART to create a baseline or control manifest from a fully installed
and configured system. You can then compare this baseline with a snapshot of the system at a
later time, generating a report that lists file-level changes that have occurred on the system
since it was installed.
Note:
Note: For a more information on BART see http://dlc.sun.com/pdf/816-4557/
816-4557.pdf and "Integrating BART and the Solaris™ Fingerprint Database in
the Solaris 10 Operating System" at http://www.sun.com/blueprints.
BART Components
BART has two main components and one optional component:
● BART Manifest
● BART Report
● BART Rules File
BART Manifest
You use the bart create command to take a file-level snapshot of a system at a particular
time. The output is a catalog of files and file attributes called a manifest. The manifest lists
information about all the files or specific files on a system. It contains information about
attributes of files, which can include some uniquely identifying information, such as an MD5
checksum.
BART Report
The report tool has three inputs. The first two are manifests to be compared and the third one is
the optional user-provided rules file that indicates which discrepancies are to be flagged.
You use the bart compare command to compare two manifests, a control manifest and a test
manifest. These manifests must be prepared with the same file systems, options, and rules file
that you use with the bart create command.
The output of the bart compare command is a report that lists per-file discrepancies between
the two manifests. A discrepancy is a change to any attribute for a given file that is cataloged for
both manifests. Additions or deletions of file entries between the two manifests are also
regarded as discrepancies.
There are two levels of control when reporting discrepancies:
● When generating a manifest
● When producing reports
These levels of control are intentional, since generating a manifest is more costly than reporting
discrepancies between two manifests. Once you have created manifests, you have the ability to
compare manifests from different perspectives by running the bart compare command with
different rules files.
- /cms/cc/install.aot.cssrVVXX.X/data/log
where VV is the version number and XX.X is the release
- /cms/db/journal/timetable/10
- /cms/db/journal/timetable/11
- /cms/perfbin/perf
- /cms/perfbin/perf/occ.thresh
- /cms/tmp
- /cms/tmp/errfile
- /cms/tmp/disklist
- /etc/lp/interfaces/tmp
- /opt/informix/etc/ilslsfl
- /opt/informix/etc/Lsils-cr
- /usr/lib/cms/pbxtrcflags
- /usr/dbtemp
- /var/adm/spellhist
- /var/dt/dtpower/_current_scheme
- /var/elog/elogLocal
● Change ownership fo directory /cms/perfbin to root:sys
4. In order to allow certain IP addresses and subnets to connect to Avaya CMS system using
a particular service, change file /etc/hosts.allow by replacing ALL with the permitted
IP addresses.
The following table contains some examples of security setting use:
Your CMS database currently has public access permissions to all resources. Do you
wish to revoke this access and only grant access to specific CMS users? [y,n,?]
5. Enter: y
The process continues. Messages similar to the following will be displayed:
Please wait while CMS Informix Database permissions are changed.
revoke resource from public;
revoke connect from public;
grant connect to cms;
grant connect to cmssvc;
Revoke resource from public on CMS database.
Please wait while connect permissions are granted for requested users
grant connect to <cmslogin>;
grant connect to <cmslogin>;
.
.
.
Changes to CMS DB Access Permissions finished.
Note:
Note: The output will always display one “grant connect” message per CMS logid,
including logids already in the dbaccess group with connect permissions.
After the changes are complete, you can use the CMS logids to run ODBC/JDBC clients
and access the CMS database.
To remove ODBC/JDBC access permissions for CMS logids, first remove them from the
UNIX dbaccess group then run dbaccess from the Avaya Call Management System
Administration menu.
6. Remove ODBC/JDBC access permissions for CMS logids from the UNIX dbaccess group.
Enter:
usermod –G “” cmslogin
7. Open the Avaya Call Management System Administration menu. Enter:
cmsadm
The system displays the Avaya Call Management System Administration menu.
8. Select the dbaccess option. The system displays the following message:
Begin CMS DB Access Permissions changes
Please wait while connect permissions are granted for requested users
grant connect to <cmslogin>;
.
.
.
Changes to CMS DB Access Permissions finished.
The UNIX dbaccess group information is re-set to only provide access permissions for
members remaining in the UNIX dbaccess group.
Perform the Steps 9 through 11 to remove all the CMS logins from the UNIX dbaccess
group and restore “open access” permissions to all the CMS logins.
9. Run the usermod command for each CMS login in the dbaccess group. Enter:
usermod –G “” cmslogin1
usermod –G “” cmslogin2
usermod –G “” cmslogin3
10. Open the Avaya Call Management System Administration Menu. Enter:
cmsadm
The system displays the Avaya Call Management System Administration menu.
11. Select the dbaccess option. The system displays the following message:
Begin CMS DB Access Permissions changes
12. Enter: y
The process restores public permissions to the CMS database. Messages similar to the
following will be displayed:
Please wait while CMS Informix Database permissions are set to public.
grant resource to public;
revoke connect from cms;
revoke connect from cmssvc;
Grant resource to public on CMS database.
Changes to CMS DB Access Permissions finished.
CMS R12 through R14.1 use Solaris 9 as the underlying OS. CMS R15 and later systems use
Solaris 10. Follow the proper procedure for the OS for your CMS.
This section covers the following topics:
● Solaris 10 on page 53
● Service Management Facility (SMF) on page 53
● Solaris 9 on page 60
● CMS permissive use support policy on page 62
● Links to Avaya security resource on page 64
Solaris 10
Solaris 10 includes a new facility called the Service Management Facility (SMF) for managing
most services on the system. A few services are still managed by inetd. See Table A-1 below.
Makes it easy to debug and ask questions about services by providing an explanation of why a
service isn't running by using svcs -x. Also, this process is eased by individual and persistent
log files for each service.
Allows for services to be enabled and disabled using svcadm. These changes can persist
through upgrades and reboots. If the -t option is used, the changes are temporary.
Enhances the ability of administrators to securely delegate tasks to non-root users, including
the ability to modify properties and enable, disable, or restart services on the system.
Boots faster on large systems by starting services in parallel according to the dependencies of
the services. The opposite process occurs during shutdown.
Allows you to customize the boot console output to either be as quiet as possible, which is the
default, or to be verbose by using boot -m verbose.
Preserves compatibility with existing administrative practices wherever possible. For example,
most customer and ISV-supplied rc scripts still work as usual.
Dependency statements define relationships between services. These relationships can be
used to provide precise fault containment by restarting only those services that are directly
affected by a fault, rather than restarting all of the services. Another advantage of dependency
statements is that the statements allow scalable and reproducible initialization processes. By
defining all of the dependencies, you can take advantage of modern, highly parallel machines,
because all independent services can be started in parallel.
SMF defines a set of actions that can be invoked on a service by an administrator. These
actions include enable, disable, refresh, restart, and maintain. Each service is managed by a
service restarter which carries out the administrative actions. In general, the restarters carry out
actions by executing methods for a service. Methods for each service are defined in the service
configuration repository. These methods allow the restarter to move the service from one state
to another.
The service configuration repository provides a per-service snapshot at the time that each
service is successfully started so that fallback is possible. In addition, the repository provides a
consistent and persistent way to enable or disable a service, as well as a consistent view of
service state. This capability helps you debug service configuration problems.
SMF includes a couple of commands that allows you to display, troubleshoot, enable , disable,
and restart SMF services. The commands are svcs and svcadm.
svcs command
The svcs command has several options, but only two of those options are discussed for now.
More information on SMF and its commands can be found at http://docs.sun.com/app/docs/doc/
817-1985.
The "svcs -a" command displays all services on the system. You can then pipe to grep to find
information on specific services or to find the exact service name you need.
The "svcs -xv" command shows SMF services that are not running properly. This is useful in
troubleshooting service issues.
svcadm command
The svcadm command is used to enable, disable or restart system services managed by SMF.
To enable a service, use the command:
svcadm enable {Service FMRI}
where the {Service FMRI} is the fully qualified service description item listed in Table 1 below.
You can sometimes use the simple name (ssh), but it must be unique for the svcadm command
to accept.
The following table lists some of the services that have been converted to use SMF. Each
service includes the daemon or service name, the FMRIs for that service, the run script that is
used to start the service, and whether the service is started by inetd.
.
Table 1: SMF Services
Solaris 9
Solaris 9 does not have the Service Management Facility. It uses traditional flat files to manage
/etc/inetd.conf and the inetd daemon services on the system. Specifically, the /etc/
inetd.conf file is used.
Services typically provided using inetd include:
● ftp: File transport protocol which allows users to transport files between remote sites.
● telnet: A protocol used to open user sessions from remote sites.
● exec, in.rexecd: Remote execution server that allows remote users to execute commands
on the system provided they have proper authorization.
● rlogin: An older method of opening remote sessions, being replaced by telnet.
● rsh: Remote shell that you use to execute commands on a remote host.
● talk: A communication program that allows two users to talk by copying lines from one
user's terminal to the other.
● finger: A service that allows users to get information about other users currently logged in
on the local system or remote systems.
● comsat: A server that notifies users when they receive mail. The biff program is used to
turn comsat service on and off for each user.
● uucp, uucico:The daemon that processes Unix to Unix copy (UUCP) file transfer requests
that were queued by uucp or uux.
● netstat: A service that displays network connections, routing tables, and other networking
information about a system. This works on the local system and over a network.
There are several others, but these are some of the more common services. Most of the list is
disabled by default on CMS systems. These services can be controlled (added/removed) by
adding or deleting (commenting out) lines in the file "/etc/inedt.conf". If you make a change to
this file, you must restart the inetd daemon with the command:
kill -HUP inetd
3. To this:
finger stream tcp nowait nobody /usr/sbin/tcpd in.fingerd
4. Change the hosts deny file so the following lines are included with the comments:
ALL: ALL
ALL: PARANOID
5. Change the hosts.allow file to allow services to desired TCP/IP addresses. For example:
ALL: 10.1.0.153, 10.1.2.252
fingerd: 10.1.1.3
6. Reset the inetd deamon by issuing the command "kill -HUP inetd".
of Excellence will troubleshoot problems with the CMS application, but cannot and will not
accept responsibility for end-to-end system integrity. When operating outside of a
"standard" configuration, the customer has the added responsibility of managing the
non-standard configuration and can incur additional charges when Avaya Global Services
resources are required.
See Permissive Use statement below for a complete description of the permissive support
policy and terms and conditions with respect to non-standard CMS configurations.
Permissive Use of Non-Standard CMS Configurations
Policy:
Avaya will allow and thereby support permissive use of non-standard networking,
non-standard terminal equipment, and other application packages in conjunction with
CMS. Avaya will not withdraw support of the CMS application if it is determined that other
packages, applications, or hardware are running concurrently. The software packages
and hardware connectivity that are running concurrently with the CMS can well be
packages that are sold and toaab0111 Utilities, Token Ring LAN, or other physical
interfaces including wallboards), as well as other vendor applications. Non-standard
configurations are not to be installed by Avaya personnel.
Avaya reserves the right to implement enhancements or modifications of this policy at any
time without providing prior written or verbal notice to Avaya maintenance contract
customers.
Responsibilities under the Policy:
Avaya:
Avaya's responsibilities are limited to correcting faults with the standard CMS application.
CMS customers operating in a non-standard environment who are seeking assistance
from Avaya will be subject to standard maintenance response times. They are not eligible
for priority queuing. When a trouble is reported to Avaya, and it is determined that other
applications or non-standard terminals, link or hardware connectivity are being used,
Avaya can require that this non-standard hardware and software be removed from the