Sun Fire 15K Domain Hardening
This section describes the Solaris Security Toolkit software and provides an overview of its two different modes of operation. In addition, this section summarizes the security modifications made to the domain.
Standalone Versus JumpStart™ Modes
Hardening a Sun Fire 15K domain can be done automatically during a JumpStart_ installation of the operating system (OS), or it can be performed following the installation of the OS. This article documents the methods for manually hardening a domain after the OS installation has been completed, as a discussion of the JumpStart environment is beyond the scope of this article. For information about setting up a JumpStart server and integrating the Solaris Security Toolkit software with a JumpStart server, refer to the following Sun BluePrints OnLine articles referenced in the Bibliography:
"The Solaris™ Security Toolkit - Quick Start: Updated for version 0.3"
"Building a JumpStart™ Infrastructure"
This article does not discuss the installation of the Solaris 8 OE 10/01 SUNWCall cluster or the initial configuration of the Sun Fire 15K domain software. Instead, this article focuses on the steps involved in securing a domain including installing security-related software, installing the latest patch clusters, and hardening the OS. This hardening is critical to the security of the domain, as the default configuration of Solaris OE may not provide the required level of security.
Solaris Security Toolkit Software
As previously mentioned, we strongly recommend that you use the Solaris Security Toolkit software to secure a domain. The toolkit implements the recommendations made in this article, as well as the security recommendations provided in the following articles:
ìSolaris™ Operating Environment Security: Updated for the Solaris 8 Operating Environmentî
"Solaris™ Operating Environment Network Settings for Security: Updated for Solaris 8"
"The Solaris™ Security Toolkit - Installation, Configuration, and Usage Guide: Updated for version 0.3"
These articles are referenced in the Bibliography and are available from the Sun BluePrints OnLine Web site at http://www.sun.com/security/blueprints
Security Modifications
The security recommendations in this article include all Solaris OE modifications that do not impact required Sun Fire 15K domain functionality. This does not mean these modifications are appropriate for every domain. In fact, it is likely that some of the services disabled by the default sunfire_15k_domain-secure.driver script will affect some applications. Because applications and their service requirements vary, it is unusual for one configuration to work for all applications.
NOTE
Consider the role of a secured configuration in the context of the applications and services that the Sun Fire 15K domain will provide. The security configuration presented in this article is a high-watermark for system security, as every service that is not required by the Sun Fire 15K platform is disabled. This information should provide you with a clear idea of which services can and cannot be disabled without affecting the behavior of Sun Fire 15K domains. You can then include the application-specific requirements of your environment to identify which security modifications can and cannot be performed.
For information about Solaris OE services and for recommendations about mitigating their security implications, refer to the Sun BluePrints OnLine article "Solaris™ Operating Environment Security: Updated for the Solaris 8 Operating Environment" and the Sun BluePrints OnLine article "Solaris™ Operating Environment Network Settings for Security: Updated for Solaris 8." The recommendations in these articles are implemented with the Solaris Security Toolkit software in standalone and JumpStart modes. In addition, the Sun BluePrints OnLine article "The Solaris™ Security Toolkit - Internals: Updated for version 0.3" describes the functions of each of the toolkit scripts.
The three scripts used by the toolkit to harden a Sun Fire 15K domain are:
sunfire_15k_domain-config.driver
sunfire_15k_domain-hardening.driver
sunfire_15k_domain-secure.driver
These files should be copied and the copies used to make environment-specific modifications will simplify the migration to new versions of the toolkit as they become available.
To prevent the toolkit from disabling services, comment out the call to the appropriate finish script in the driver. For example, in the preceding NFS server example, it is necessary to comment out only the disable-nfs-server.fin and disable-rpc.fin scripts by appending a '#' sign before them in the copy of the sunfire_15k_domain-hardening.driver script. For more information about editing and creating driver scripts, refer to the Sun BluePrints OnLine article titled "The Solaris_ Security Toolkit - Installation, Configuration, and Usage Guide: Updated for version 0.3."
Each of the modifications performed by the toolkit falls into one of the following categories:
- Disable
- Enable
- Install
- Remove
- Set
- Update
In addition, the toolkit copies files from the toolkit distribution to increase the security of the system. These system configuration files change the default behavior of syslogd, system network parameters, and a variety of other system configurations.
The following sections briefly describe each of these categories and the script modifications they perform. For a complete listing of the scripts included in the sunfire_15k_domain driver, refer to Appendix A of this article.
Disable Scripts
These scripts disable services on the system. Disabled services include the NFS client and server, the automounter, the DHCP server, printing services, and the window manager. The goal of these scripts is to disable all of the services that are not required by the system.
A total of 31 disable scripts are included with the Sun Fire 15K domain-hardening driver. These scripts impose the following modifications to disable all, or part, of the following services and configuration files:
TABLE 1 Scripts Affected By Domain Hardening
apache |
lpsched |
printd |
aspppd |
mipagent |
rpcbind |
automountd |
mountd |
sendmail |
core generation |
nfsd |
slp |
dhcp |
nscd |
smcboot |
dtlogin |
pam.conf |
snmpdx |
IPv6 |
picld |
snmpXdmid |
keyservd |
pmconfig |
syslogd |
ldap_cachemgr |
lpsched |
|
Enable Scripts
These scripts enable the security features that are disabled by default on Solaris OE. These modifications include:
Enabling optional logging for syslogd and inetd
Requiring NFS clients to use a port below 1024
Enabling process accounting
Enabling improved sequence number generation per RFC 1948
Enabling optional stack protection and logging
While some of these services are disabled by the toolkit, their optional security features remain enabled so that they are used securely if enabled in the future.
Install Scripts
These scripts create new files to enhance system security. In the Sun Fire 15K driver, the following Solaris OE files are created to enhance the security of the system:
An empty /etc/cron.d/at.allow file to restrict access to at commands
An updated /etc/ftpusers file with all system accounts restricts FTP access to the system
An empty /var/adm/loginlog to log unsuccessful login attempts
An updated /etc/shells file to limit which shells can be used by system users
An empty /var/adm/sulog to log su attempts to root
In addition to creating the preceding files, some install scripts also add software to the system. Specifically, on Sun Fire 15K domains, the following software is installed:
- Recommended and Security patch clusters
- MD5 software
- OpenSSH software
- FixModes software
Remove Scripts
Only one remove script is distributed with the Sun Fire 15K driver; it used to remove unused Solaris OE system accounts. The accounts that are removed are no longer used by the Solaris OE and can safely be removed. The removed accounts include:
Set Scripts
These scripts configure the security features of the Solaris OE that are not defined by default. Thirteen of these scripts are distributed with the Sun Fire 15K domain driver and can configure the following optional Solaris OE features not enabled by default:
- root password
- ftpd banner
- telnetd banner
- ftpd UMASK
- login RETRIES
- Power restrictions
- Use of SUID on removable media
- System suspend options
- TMPFS size
- User password requirements
- User UMASK
Update Scripts
These scripts update the configuration files that are shipped with the Solaris OE but that do not have all of their security settings properly set. Modifications are made to the following configuration files:
- at.deny
- cron.allow
- cron.deny
- logchecker
- inetd.conf
The modifications made to the inetd.conf file include disabling all of the entries the Solaris OE includes in the /etc/inetd.conf file. Disabling these entries turns off all interactive access mechanisms to the domain including TELNET, FTP, and all of the r* services. Serial access to the system is not affected.