Solaris 10 What's New

Security Enhancements

This section describes security enhancements in the Solaris 10 3/05 release that are new or have been enhanced since the Solaris 9 OS was originally distributed in May 2002. Process Rights Management and Reduced Networking Software Group are of particular importance. To view security enhancements that are new in the Solaris 10 7/05 release, see Security Enhancements.

In addition to the security features described in this section, see also the following security-related feature descriptions in the Developer Tools section and the Installation section:

Signing ELF Objects

This feature is new in the Solaris 10 3/05 release.

The libraries and executable files in the Solaris 10 OS include digital signatures that can be used to verify the integrity of these files. The digital signature provides a way to detect any accidental change or deliberate tampering with the executable content of the file.

Plug-ins for the Solaris Cryptographic Framework are automatically verified when loaded by the system. The elfsign command can be used manually to verify any signed file. Developers and administrators can also use elfsign to sign their own code.

For further information, see the elfsign(1) man page.

Process Rights Management

This feature is new in the Software Express pilot program. This feature is included in the Solaris 10 3/05 release.

In the Solaris software, administrative tasks that previously required superuser rights are now protected by process rights management. Process rights management uses privileges to restrict processes at the command, user, role, or system level. A privilege is a discrete right that a process requires to perform an operation. The system restricts processes to only those privileges that are required to perform the current task. Therefore, fewer root processes are vulnerable to exploitation. The number of setuid programs has been greatly reduced.

As installed, the Software Express releases and the Solaris 10 3/05 release are completely compatible with previous releases of the Solaris Operating System in terms of the privileges enhancements. Unmodified programs that run as root run with all privileges.

Device Protection – Devices are protected with a security policy. The policy is enforced with privileges. Therefore, the permissions on a device file do not fully determine the device's availability. Privileges might also be required to operate the device.

System interfaces that were protected by UNIX permissions are now protected by privileges. For example, members of the group sys are no longer automatically allowed to open the /dev/ip device. Processes that are running with the net_rawaccess privilege can access the /dev/ip device. When the system boots, access to all devices is restricted until the devfsadm command runs during the boot sequence. The initial policy is as strict as possible. The policy prevents all users except the superuser from initiating connections.

See the following man pages for more information:

Processes that need to retrieve Solaris IP MIB information should open /dev/arp and push the “tcp” and “udp” modules. No privileges are required. This method is equivalent to opening /dev/ip and pushing the “arp”, “tcp” and “udp” modules. Because opening /dev/ip now requires a privilege, the /dev/arp method is preferred.

For further information, see the following sections in the System Administration Guide: Security Services:

Changes to PAM for the Solaris 10 OS

A new pam_deny module was added in the Software Express pilot program and enhanced in the Solaris Express 6/04 release. This feature is included in the Solaris 10 3/05 release. The module can be used to deny access to named PAM services. By default, the pam_deny module is not used. For more information, see the pam_deny(5) man page.

The Solaris 10 software includes the following changes to the PAM framework.

pam_ldap Changes

The following pam_ldap changes are new in the Solaris Express 10/04 release, except for the account management feature. This management feature is new in the Software Express pilot program and in the Solaris 9 12/02 release. See the pam_ldap(5) man page for more information about these changes.


Note –

A clean, automated update cannot be provided for the changes in the previous list. Therefore, an upgrade to a Solaris 10 or subsequent release cannot automatically update the existing pam.conf file to reflect the pam_ldap changes. If the existing pam.conf file contains a pam_ldap configuration, the CLEANUP file notifies you after the upgrade. Examine the pam.conf file and modify it, as needed.


See the following man pages for further information:

For further information about Solaris naming and directory services, see the System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP). For information about Solaris security features, see the System Administration Guide: Security Services.

Solaris Secure Shell Enhancements

This feature description is new in the Solaris Express 10/04 release.

The following enhancements to Solaris Secure Shell are available in the Solaris 10 OS:

For further information about security in the Solaris 10 OS, see the System Administration Guide: Security Services.

OpenSSL and OpenSSL PKCS#11 Engine

This feature is new in the Solaris Express 8/04 release.

This release of Solaris includes the OpenSSL libraries and commands in /usr/sfw.

This release also includes an OpenSSL Engine interface to PKCS#11 so that OpenSSL consumers can access hardware and software cryptographic providers from the Solaris Cryptographic Framework.


Note –

Because of cryptographic import restrictions in some countries, symmetric key cryptographic algorithms are limited to 128–bit if the SUNWcry package is not installed. The SUNWcry package is not included with the Solaris software. This package is available instead as a separate controlled download.


sshd Daemon and /etc/default/login

This feature is new in the Solaris Express 10/04 release.

The sshd daemon uses the variables in /etc/default/login and the login command. The etc/default/login variables can be overridden by values in the sshd_config file.

For more information, see “Solaris Secure Shell and Login Environment Variables” in the System Administration Guide: Security Services. See also the sshd_config(4) man page.

New Password Options for Nonlogin and Locked Accounts

This feature is new in the Solaris Express 10/04 release.

The passwd command has two new options, -N and -u. The -N option creates a password entry for a nonlogin account. This option is useful for accounts that should not be logged in to, but must run cron jobs. The -u option unlocks a previously locked account.

For more information, see the passwd(1) man page.

-setcond Option to auditconfig Command Is Removed

This feature is new in the Solaris Express 10/04 release.

The -setcond option to the auditconfig command has been removed. To temporarily disable auditing, use the audit -t command. To restart auditing, use the audit -s command.

perzone Audit Policy

This feature is new in the Solaris Express 8/04 release.

The perzone audit policy enables non-global zones to be audited individually. A separate audit daemon runs in each zone. The daemon uses audit configuration files that are specific to the zone. Also, the audit queue is specific to the zone. By default, the policy is off.

For more information, see the auditd(1M) and auditconfig(1M) man pages.

Kerberos Enhancements

These Kerberos enhancements are included in the Solaris 10 release. Several of the enhancements are new in prior Software Express releases.

TCP Wrappers for rpcbind

This feature is new in the Solaris Express 4/04 release.

TCP wrapper support has been added to the rpcbind command. This support allows the administrator to limit calls to rpcbind to selected hosts. The administrator can also log all calls to rpcbind.

For further information, see the rpcbind(1M) man page.

zonename Audit Token and Audit Policy Option

The Solaris Zones partitioning technology is new in the Solaris Express 2/04 release. See Solaris Zones Software Partitioning Technology. The related zonename enhancements that are described here were also introduced in the Solaris Express 2/04 release.

The zonename audit token records the name of the zone in which an audit event occurred. The zonename audit policy option determines, for all zones, whether the zonename token is included in audit records. If the criteria for audit class preselection vary between non-global zones, then you might want to analyze audit records by zone. The zonename audit policy enables you to postselect audit records by zone.

See “Auditing and Solaris Zones” in the System Administration Guide: Security Services.

For further information, see the audit.log(4), auditconfig(1M), and auditreduce(1M) man pages. See also “Using Solaris Auditing in Zones” in the System Administration Guide: Solaris Containers-Resource Management and Solaris Zones.

User Commands for Solaris Cryptographic Framework

This feature is new in the Solaris Express 1/04 release.

The digest, mac, and encrypt commands now include an option to list the algorithms that are available for each command. For the mac and encrypt commands, the output includes the key lengths that each algorithm accepts. Also, the -I <IV-file> option has been removed from the encrypt and decrypt commands.

For further information, see Chapter 14, “Solaris Cryptographic Framework (Tasks)” and “Protecting Files With the Solaris Cryptographic Framework” in the System Administration Guide: Security Services.

For more information, see the encrypt(1), digest(1), and mac(1) man pages.

IKE Configuration Parameters

This feature is new in the Solaris Express 1/04 release.

Retransmission parameters and packet time-out parameters have been added to the /etc/inet/ike/config file. The parameters enable the administrator to tune the IKE Phase 1 (Main Mode) negotiation. The tuning enables Solaris IKE to interoperate with platforms that implement the IKE protocol differently. The parameters also help the administrator adjust for network interference and heavy network traffic.

For a detailed description of the parameters, see the ike.config(4) man page.

Simple Authentication and Security Layer

This feature is new in the Solaris Express 12/03 release.

Simple Authentication and Security Layer (SASL) provides developers of applications with interfaces for adding authentication, data integrity checking, and encryption to connection-based protocols.

For further information, see Simple Authentication and Security Layer for Developers.

See also Chapter 17, “Using SASL,” in the System Administration Guide: Security Services.

Audit Time Now Reported in ISO 8601 Format

This feature is new in the Solaris Express 12/03 release.

The file and header tokens in audit records now report time in ISO 8601 format. For example, the output from the praudit command for the file token is as follows:

Old File Token:

file,Mon Oct  13 11:21:35 PDT 2003, + 506 msec, 
/var/audit/20031013175058.20031013182135.machine1
New File Token:

file,2003-10-13 11:21:35.506 -07:00, 
/var/audit/20031013175058.20031013182135.machine1
Old Header Token:

header,173,2,settppriv(2),,machine1,
Mon Oct 13 11:23:31 PDT 2003, + 50 msec
New Header Token:

header,173,2,settppriv(2),,machine1,
2003-10-13 11:23:31.050 -07:00

The XML output has also changed. For example, the output from the praudit -x command formats the file token as follows:


<file iso8601="2003-10-13 11:21:35.506 -07:00">
/var/audit/20031013175058.20031013182135.machine1</file>

Customized scripts or tools that parse praudit output might need to be updated to accommodate this change.

For further information, see Chapter 27, “Solaris Auditing (Overview)” and “Changes to Solaris Auditing for the Solaris 10 Release” in the System Administration Guide: Security Services.

Basic Audit and Reporting Tool

This feature is new in the Solaris Express 11/03 release.

Basic Audit and Reporting Tool (BART) is a command-line utility that enables OEMs, advanced users, and system administrators to do a check at file level of the software contents of a target system. The utility is useful for gathering information about what is installed on a system. BART also enables you to compare installed systems, and to compare the contents of a system over time.

For further information, see Chapter 5, “Using the Basic Audit Reporting Tool (Tasks),” in the System Administration Guide: Security Services.

See also the bart_manifest(4), bart_rules(4), and bart(1M) man pages.

IPsec and the Solaris Cryptographic Framework

This feature is new in the Solaris Express 9/03 release.

IPsec uses the Solaris Cryptographic Framework instead of its own encryption and authentication modules. The modules are optimized for the SPARC platform. In addition, a new ipsecalgs command-line utility and APIs are provided to query the list of supported IPsec algorithms and other IPsec properties.

For further information, see the ipsecalgs(1M) man page.

In the System Administration Guide: IP Services, see Chapter 18, “IP Security Architecture (Overview)” and “Authentication and Encryption Algorithms in IPsec.”

Solaris Cryptographic Framework for System Administrators

This feature is new in the Software Express pilot program. This feature is included in the Solaris 10 3/05 release.

The Solaris Cryptographic Framework provides cryptographic services to applications in the Solaris environment. The system administrator controls which encryption algorithms can be used through the cryptoadm command. The cryptoadm command enables you to perform the following functions:

The framework comes with plug-ins for the AES, DES/3DES, RC4, MD5, SHA-1, DSA, RSA, and Diffie-Hellman algorithms. Plug-ins can be added or removed as needed.

The encrypt, decrypt, digest, and mac commands all use cryptographic algorithms from the framework.

For further information, see Chapter 13, “Solaris Cryptographic Framework (Overview),” in the System Administration Guide: Security Services.

See also the following man pages:

Remote Audit Log

This feature is new in the Software Express pilot program. This feature is included in the Solaris 10 3/05 release.

In addition to recording audit events in the binary audit log, the Solaris releases enable you to record audit events to syslog.

The generation of syslog data allows you to use the same management and analysis tools that are available for syslog messages from a variety of Solaris and non-Solaris environments, including workstation, servers, firewalls, and routers. By using syslog.conf to route audit messages to remote storage, you protect log data from alteration or deletion by an attacker. However, the syslog option provides only a summary of audit record data. Also, when syslog data is stored on a remote system, the data is susceptible to network attacks such as denial of service and false or “spoofed” source addresses.

For further information, see Chapter 27, “Solaris Auditing (Overview)” and “Audit Files” in the System Administration Guide: Security Services.

See also the following man pages:

FTP Server Enhancements

This feature is new in the Software Express pilot program. This feature is included in the Solaris 10 3/05 release.

Scalability and transfer logging enhancements have been made to the FTP server including:

The FTP client and server now support Kerberos. For more information, refer to the ftp(4) man page and to “Kerberos User Commands” in the System Administration Guide: Security Services.

In addition, ftpcount and ftpwho now support the -v option, which displays user counts and process information for FTP server classes that are defined in virtual host ftpaccess files.

For further information about these changes, see the following man pages:

FTP Client

This feature is new in the Software Express pilot program. This feature is included in the Solaris 10 3/05 release.

The Solaris software includes a change to the FTP client. By default, a Solaris FTP client, connected to a Solaris FTP server, lists directories as well as plain files when the ls command is issued. If the FTP server is not running in the Solaris operating system, directories may not be listed.

To allow for the default Solaris behavior when connecting to non-Solaris FTP servers, the /etc/default/ftp file can be edited on each Solaris client. To make the change for individual users, the FTP_LS_SENDS_NLST environment variable can be set.

For more information, see the ftp(4) man page.

The FTP client and server now support Kerberos. For more information, refer to the ftp(4) man page and to “Kerberos User Commands” in the System Administration Guide: Security Services.

Internet Key Exchange (IKE) Key Storage on Sun Crypto Accelerator 4000 Board

This feature is new in the Software Express pilot program and in the Solaris 9 12/03 release. This feature is included in the Solaris 10 3/05 release.

IKE now runs on IPv6 as well as IPv4 networks. For information about keywords that are specific to the IPv6 implementation, see the ifconfig(1M) and ike.config(4) man pages.

When a Sun Crypto Accelerator 4000 board is attached, IKE can offload computation-intensive operations to the board, thus freeing the operating system for other tasks. IKE can also use the attached board to store public keys, private keys, and public certificates. Key storage on a separate piece of hardware provides additional security.

For further information, see the ikecert(1M) man page.

See also the following in System Administration Guide: IP Services:

IKE Hardware Acceleration

This feature is new in the Software Express pilot program and in the Solaris 9 4/03 release. This feature is included in the Solaris 10 3/05 release.

Public-key operations in IKE can be accelerated by a Sun Crypto Accelerator 1000 card and Sun Crypto Accelerator 4000 cards. The operations are offloaded to the card. The offloading accelerates encryption and reduces demands on Solaris Operating System resources.

For information about IKE, see the following in System Administration Guide: IP Services:

ipseckey Enhancement

This feature is new in the Software Express pilot program. This feature is included in the Solaris 10 3/05 release.

For network administrators who have installed IPsec or IKE on their systems, the ipseckey parser provides clearer help. The ipseckey monitor command now provides a timestamp for each event.

For more information, see the ipseckey(1M) man page.

Credential Propagation Over Loopback Connections

This feature is new in the Software Express pilot program. This feature is included in the Solaris 10 3/05 release.

This Solaris release introduces ucred_t * as an abstract representation of the credentials of a process. These credentials can be retrieved by using door_ucred() in door servers and getpeerucred() for loopback connections. The credentials can be received by using recvmsg().

See the socket.h(3HEAD) man page for further information.

Auditing Header Token Contains Host Information

This feature is new in the Software Express pilot program. This feature is included in the Solaris 10 3/05 release.

The header token in audit records has been expanded to include the name of the host.

The old header is displayed as follows:


header,131,4,login - local,,Wed Dec 11 14:23:54 2002, + 471 msec

The new expanded header is displayed as follows:


header,162,4,login - local,,example-hostname,
Fri Mar 07 22:27:49 2003, + 770 msec

Customized scripts or tools that parse praudit output might need to be updated to reflect this change.

See Chapter 30, “Solaris Auditing (Reference)” and “header Token” in the System Administration Guide: Security Services for further information.

Auditing Enhancements

This feature is new in the Software Express pilot program and in the Solaris 9 8/03 release. This feature is included in the Solaris 10 3/05 release.

Enhancements to the audit features in the Solaris software reduce noise in the trail, and enable administrators to use XML scripting to parse the trail. These enhancements include the following:

For further information, see the following sections in the System Administration Guide: Security Services:

New Audit Token path_attr

This feature is new in the Software Express pilot program. This feature is included in the Solaris 10 3/05 release.

The path_attr audit token contains access path information for an object. The access path specifies the sequence of attribute file objects below the path token object. Systems calls such as openat() access attribute files. For more information on extended file attributes, see the fsattr(5) man page.

The path_attr token has three fields:

The praudit command displays the path_attr token as follows:


path_attr,1,attr_file_name

For further information, see Chapter 30, “Solaris Auditing (Reference)” and “path_attr Token” in the System Administration Guide: Security Services.

Password History Checking

This feature is new in the Software Express pilot program. This feature is included in the Solaris 10 3/05 release.

For login accounts that are defined in local files, a password history of up to 26 previously changed passwords can be enabled. When a user changes a password, the attempt fails if the new password matches one of the passwords in the history. Also, login name checking can be disabled.

See the passwd(1) man page for more information.

Enhanced crypt() Function

This feature is new in the Software Express pilot program and in the Solaris 9 12/02 release. This feature is included in the Solaris 10 3/05 release.

Password encryption protects passwords from being read by intruders. Three strong password encryption modules are now available in the software:

For information on how to protect your user passwords with these new encryption modules, see the following sections in the System Administration Guide: Security Services:

For information on the strength of the modules, see the crypt_bsdbf(5), crypt_bsdmd5(5), and crypt_sunmd5(5) man pages.