- Sun Cluster 3.0 12/01 Security with the Apache and iPlanet Web and Messaging Agents
- Assumptions and Limitations
- Solaris OE Service Restriction
- Sun Cluster 3.0 Daemons
- Terminal Server Usage
- Node Authentication
- Securing Sun Cluster 3.0 12/01 Software
- Verifying Node Hardening
- Maintaining a Secure System
- Solaris Security Toolkit Software Backout Capabilities
Securing Sun Cluster 3.0 12/01 Software
To effectively secure each node in a cluster, you must make changes to the Solaris OE software running on each node. These changes can be separated into the following distinct areas:
Installing additional security software on the Sun Cluster 3.0 nodes
Solaris OE modifications to each of the Sun Cluster 3.0 nodes
At this point in the process, the appropriate Solaris OE cluster should be installed on the cluster nodes and the required Sun Cluster 3.0 12/01 software and agents should be installed and configured. Only continue on to the installation of the security software if the cluster is installed and running with the appropriate agents.
Installing Security Software
The security recommendations to secure the Sun Cluster 3.0 12/01 environment involve the installation of several software packages. These packages are:
- Solaris Security Toolkit software
- Recommended and Security patch cluster
- FixModes software
- OpenSSH software
- MD5 software
Of the packages described in this section, only the Solaris Security Toolkit software, the FixModes software, and the MD5 software are required. The use of OpenSSH, while strongly recommended, is not required. Commercial versions of SSH, available from http://www.fsecure.com or http://www.ssh.com, for OpenSSH.
The first step in securing cluster nodes is to install the required software. This section describes how to install or prepare to install each of the software packages.
Installing Solaris Security Toolkit Software
First, download the Solaris Security Toolkit software and install it on each of the nodes. The toolkit is used to automate the Solaris OE hardening tasks described later in this article.
The primary function of the toolkit is to automate and simplify building secured Solaris OE systems based on the recommendations contained in this and the other security-related Sun BluePrints OnLine articles. In the context of this article, a module has been developed specifically to harden Sun Cluster 3.0 nodes. The secondary function of the toolkit is to automate the installation of software such as the FixModes software and the Recommended and Security patch clusters.
The following instructions use file names that are only correct for this release of the toolkit. Use the following procedure to download and install the toolkit:
Download the source file (SUNWjass-0.3.3.pkg.Z).
Use the uncompress command to extract the source file into a directory on the server as follows:
# uncompress SUNWjass-0.3.3.pkg.Z
Use the pkgadd command to install the Solaris Security Toolkit software on the server as follows:
# pkgadd -d SUNWjass-0.3.3.pkg SUNWjass
The source file is located at http://www.sun.com/security/jass
Executing this command creates the SUNWjass directory in /opt. This subdirectory will contain all the toolkit directories and associated files. The script make-jass-pkg, included in toolkit releases since 0.3 allows administrators tp create custom packages using a different installation directory.
Installing Recommended and Security Patch Clusters
The installation procedures presented in this section use the Solaris Security Toolkit software to install the most recent Recommended and Security Patch clusters available from the SunSolve OnlineSM Web site. To install these patches with the toolkit, download them and store them, uncompressed, in the /opt/SUNWjass/Patches directory on each node.
Sun regularly releases patches to provide Solaris OE fixes for performance, stability, functionality, and security reasons. It is critical to the security of the system that you install the most up-to-date patch clusters. This section describes how to use the Solaris Security Toolkit software to automatically install patches, thereby ensuring that the latest Recommended and Security patch clusters are installed on each node.
To download the latest cluster, go to the SunSolve Online Web site at http://sunsolve.sun.com and click the Patches link on the top of the left navigation bar.
Downloading the Solaris OE Recommended and Security patch clusters does not require a SunSolve support contract.
Next, select the appropriate Solaris OE version in the Recommended Solaris Patch Clusters box. This example uses Solaris 8 OE.
After selecting the appropriate Solaris OE version, select the best download option, either HTTP or FTP, with the associated radio button and click the Go button.
In the Save As window that appears in your browser, save the file locally in preparation for uploading it to the cluster being hardened.
After downloading the patch cluster, move the file securely to the node being hardened using either the scp SSH command or the sftp SSH command. If SSH is not yet installed, use the ftp command. The scp command used to copy the file to an domain called scnode01 should appear similar to the following:
% scp 8_Recommended.zip scnode01:/var/tmp
Next, you must move the file to the /opt/SUNWjass/Patches directory and uncompress it. The following commands perform these tasks:
# cd /opt/SUNWjass/Patches # mv /var/tmp/8_Recommended.zip . # unzip 8_Recommended.zip Archive: 8_Recommended.zip creating: 8_Recommended/ inflating: 8_Recommended/CLUSTER_README inflating: 8_Recommended/copyright inflating: 8_Recommended/install_cluster [. . .]
If the Recommended and Security patches are not loaded into the appropriate directory, a warning message will be generated during the execution of the toolkit.
Installing FixModes Software
This section describes how to download and install the FixModes software into the appropriate toolkit directory so it can be used to tighten file permissions during the toolkit run. By selectively modifying system permissions it will be more difficult for malicious users to gain additional privileges on the system.
Follow these instructions to download the FixModes software:
Download the FixModes precompiled binaries from http://www.sun.com/blueprints/tools/FixModes_license.html
The FixModes software is distributed as a precompiled and compressed tar file format called FixModes.tar.Z.
Save the downloaded file, FixModes.tar.Z, to the Solaris Security Toolkit Packages directory in /opt/SUNWjass/Packages
Do not uncompress the tar archive.
Installing the OpenSSH Software
In any secured environment the use of encryption, in combination with strong authentication, is highly recommended. At a minimum, user interactive sessions should be encrypted. The tool most commonly used to implement this is an implementation of secure shell (SSH) software. You can use either the commercially purchased version of the software or the freeware version of the software.
The use of a SSH variant is strongly recommended when implementing all the security modifications performed by the Solaris Security Toolkit software. The toolkit will disable all non-encrypted user-interactive services and daemons on the system. In particular, services such as in.rshd, in.telnetd, and in.ftpd are disabled. Access to the system can be gained with SSH in a similar fashion to what was provided by RSH, TELNET, and FTP. It is strongly recommended that you install and configure SSH before executing a toolkit run.
For information about compiling and deploying OpenSSH, refer to the Sun BluePrints OnLine article "Building and Deploying OpenSSH on the Solaris™ Operating Environment (July 2001)" available at http://www.sun.com/blueprints/0701/openSSH.pdf
Information about obtaining commercial versions of SSH is provided in the Bibliography section of this article.
The Sun BluePrints OnLine article mentioned above provides recommendations for compiling OpenSSH. However, OpenSSH should not be compiled on the cluster itself and the compilers should not be installed on the cluster. Instead, use a separate Solaris system, running the same Solaris OE version, architecture, and mode (i.e., 64 bit) to compile OpenSSH. If you use a commercial version of SSH, this issue is avoided.
Installing MD5 Software
This section describes how to download and install the MD5 software used to validate MD5 digital fingerprints on Sun Cluster 3.0 nodes. This ability to validate the integrity of Solaris OE binaries provides a robust mechanism for detecting system binaries that may have been altered by unauthorized users of the system. By modifying system binaries, attackers can gain back-door access to the system.
Once it is installed, you can use the Solaris Fingerprint Database to verify the integrity of the executables that are included in the package. For more information about the Solaris Fingerprint Database, refer to the Sun BluePrint OnLine article "The Solaris Fingerprint Database - A Security Tool for Solaris Software and Files" available at http://www.sun.com/blueprints/0501/Fingerprint.pdf. This article also provides information about additional tools that can be used to simplify the process of validating system binaries against the database of MD5 checksums maintained by Sun at SunSolve Online Web site.
It is strongly recommended that you use these tools, in combination with the MD5 software installed in this section, to frequently validate the integrity of the Solaris OE binaries and files on the cluster nodes. In addition, ensure that MD5 signatures generated on the server are protected until they are sent to the Solaris FingerPrint Database for validation. After they have been used, delete the MD5 signatures until they are regenerated for the next validation check.
To install the MD5 program (Intel and SPARC™ Architecture), follow these steps:
Download the MD5 binaries from http://www.sun.com/blueprints/tools/md5_license.html
The MD5 programs are distributed as a compressed tar file.
Save the downloaded file, md5.tar.Z, to the Solaris Security Toolkit Packages directory in /opt/SUNWjass/Packages
Do not uncompress the tar archive.
After the MD5 software has been saved to the /opt/SUNWjass/Packages directory, it is installed during the execution of the Solaris Security Toolkit software.
Sun Cluster 3.0 Node Solaris OE Modifications
By default, the Solaris OE configuration of a Sun Cluster 3.0 node has many of the same issues as other Solaris OE default installations. This includes having many potentially insecure daemons enabled by default. Some of these insecure services include in.telnetd, in.ftpd, in.rsh, fingerd, and sadmind. For a complete list of default Solaris OE services, refer to the Sun BluePrints OnLine article "Solaris Operating Environment Security: updated for Solaris 8 OE." This article describes the security issues associated with these default Solaris OE services and daemons.
This article recommends that all unused services be disabled. Based on the Solaris OE installation cluster (SUNWCall) typically used for an Sun Cluster 3.0 node, there are over 80 recommended Solaris OE configuration changes to improve the security configuration of the Solaris OE image running on each node. While the SUNWCall Solaris cluster is typically used for cluster installations, only the SUNWuser cluster is required. It is strongly recommended that you limit the number of Solaris services and daemons installed by using the Solaris OE cluster that contains the fewest number of packages.
To simplify the implementation of these recommendations, a customized module, or driver, has been added to the Solaris Security Toolkit software. This driver can automatically perform the recommended modifications to the Solaris OE of the nodes. These new Solaris Security Toolkit drivers are available in version 0.3.3 of the toolkit software.
The recommendations for securing the Sun Cluster 3.0 nodes closely follow the hardening described in the Sun BluePrints OnLine article "Solaris Operating Environment Security - Updated for Solaris 8 Operating Environment."
There are several exceptions to these recommendations due to functionality that is required by the Sun Cluster 3.0 nodes and due to supportability constraints. For example:
The Remote Procedure Call (RPC) system startup script is not disabled because RPC is used by the volume management software.
The Solaris Basic Security Module (BSM) is not enabled because the BSM subsystem is difficult to optimize for appropriate logging levels and produces log files that are time-consuming to interpret. This subsystem should only be enabled in sites that have the expertise and resources to manage the generation and data reconciliation tasks required to use BSM effectively.
Solaris OE minimization is currently not supported for use with Sun Cluster 3.0 software.
Now that all software is installed, each of the Solaris OE images running on each of the Sun Cluster 3.0 nodes can be secured.
Before implementing the security recommendations in the following sections, note that all non-encrypted access mechanisms to the systems (such as TELNET and RSH) will be disabled. The hardening steps will not disable console serial access over the serial port.
Executing the Solaris Security Toolkit Software
This section explains the process the Solaris Security Toolkit software uses to harden each server in a web server cluster. No changes to the default suncluster30u2-secure.driver script are required for these agents.
The the suncluster30u2-secure.driver script lists all security-specific scripts appropriate for a Sun Cluster 3.0 software installation. This script defines files and scripts to be run by the driver.run script. This driver is written to harden an already-built Sun Cluster 3.0 software cluster.
The custom driver for Sun Cluster 3.0 nodes performs the following tasks:
Installs and executes FixModes software
Installs Recommended and Security patches
Installs MD5 software
Makes 80+ modifications to the Solaris OE
Before implementing the security recommendations in this section, it should be understood that all non-encrypted access mechanisms to the nodes will be disabled, such as TELNET, RSH, and FTP. The hardening steps will not disable console serial access over the serial port.
The Solaris Security Toolkit software executes as follows:
# cd /opt/SUNWjass # ./jass-execute -d suncluster30u2-secure.driver ./jass-execute: NOTICE: Executing driver, suncluster30u2-secure.driver ============================================================ suncluster30u2-secure.driver: Driver started. ============================================================ [...]
By executing the suncluster30u2-secure.driver script, all of the security modifications included in that script are made on the system. The current release of this driver includes over 80 security modifications to the Solaris OE image running on each node of the cluster.
The suncluster30u2-secure.driver automatically executes the FixModes program, which must be installed as described previously, to tighten file system permissions on the system.
In addition to displaying the output to the console, a log file is created in the /var/opt/SUNWjass/run directory. Each Solaris Security Toolkit software run creates another run directory in /var/opt/SUNWjass/run. The names of these directories are based on the date and time the run begins.
Do not modify the contents of the /var/opt/SUNWjass/run directories under any circumstances. Modifying the files contained in these directories may corrupt the contents and cause unexpected errors when using Solaris Security Toolkit software features such as undo.