- Sun Cluster 3.0 12/01 Security with the Apache and iPlanet Web and Messaging Agents
- Supportability
- 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
- Conclusion
- Bibliography
Solaris OE Service Restriction
The typical hardening of a Solaris OE system involves commenting out all of the services in the /etc/inetd.conf file and disabling unneeded system daemons from starting. All of the interactive services normally started from inetd are then replaced by Secure Shell (SSH). Unfortunately, Sun Cluster 3.0 12/01 software does not permit the entire contents of the /etc/inetd.conf file to be commented out. The primary reason for this limitation is that volume management software requires several RPC services to be available. The Sun Cluster 3.0 12/01 software also installs additional RPC- based services. These Sun Cluster software-specific RPC services include the rpc.pmfd and rpc.fed services.
The security recommendations in this article include all Solaris OE modifications that do not impact required Sun Cluster 3.0 node functionality. This does not mean that these modifications are appropriate for every node. In fact, it is likely that some of the services disabled by the default suncluster30u2-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 Cluster 3.0 12/01 software will support. The security configuration presented in this article is a high-watermark for system security, as every service that is not required by the Sun Cluster 3.0 12/01 software and agents is disabled. This information should provide you with a clear idea of which services can and cannot be disabled without affecting the behavior of the Sun Cluster 3.0 12/01 software and the three agents.
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 Operating Environment." 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 following section summarizes the modifications made by the toolkit during a Sun Cluster 3.0 12/01 software hardening run.
Hardening Modifications
Each of the modifications performed by the toolkit to harden Sun Cluster 3.0 nodes 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 describe each of these categories and the scripts modifications they perform. For a complete listing of the scripts included in the suncluster30u2-secure.driver refer to the Solaris Security Toolkit Drivers directory.
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 30 disable scripts are included with the Sun Cluster 3.0 12/01 software-hardening driver. These scripts impose modifications to disable all, or part, of the following services and configuration files:
apache |
ldap™cachemgr |
sendmail |
aspppd |
lpsched |
slp |
automountd |
mipagent |
snmpdx |
core generation |
mountd |
printd |
dhcp |
nfsd |
syslogd |
snmpXdmid |
nscd |
smcboot |
dtlogin |
picld |
|
IPv6 |
pmconfig |
|
keyservd |
pam.conf |
|
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 client requests to use privileged ports for all requests
Enabling process accounting
Enabling improved sequence number generation per RFC 1948
Enabling optional stack protection and logging to protect against most buffer overflow attacks
While some of these services are disabled, 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 Cluster 3.0 driver, the following Solaris OE files are created to enhance the security of the system:
An empty /etc/cron.d/at.allow to restrict access to at commands
An updated /etc/ftpusers file with all system accounts to restrict system FTP access
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
In addition to creating the preceding files, some install scripts also add software to the system. Specifically, for the Sun Cluster 3.0 nodes, the following software is installed:
Recommended and Security patch clusters
MD5 software
FixModes software
Remove Scripts
Only one remove script is distributed with the Sun Cluster 3.0 driver and 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 accounts that are removed include:
- smtp
- nuucp
- listen
- nobody4
Set Scripts
These scripts configure the security features of the Solaris OE that are not defined by default. Fourteen of these scripts are distributed with the Sun Cluster 3.0 driver and they can configure the following Solaris OE security features not enabled by default:
- root password
- ftpd banner
- telnetd banner
- ftpd UMASK
- login RETRIES
- power restrictions
- 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 do not have all of their security settings properly set. The following configuration files are modified:
- at.deny
- cron.allow
- cron.deny
- logchecker
- inetd.conf
Hardening Results
After hardening, the following non-cluster services remain running on a node:
# ps -ef | grep -v cluster UID PID PPID C STIME TTY TIME CMD root 0 0 0 Oct 25 ? 0:01 sched root 1 0 0 Oct 25 ? 0:00 /etc/init - root 2 0 0 Oct 25 ? 0:00 pageout root 3 0 0 Oct 25 ? 4:41 fsflush root 466 1 0 Oct 25 ? 0:00 /usr/lib/saf/sac -t 300 root 65 1 0 Oct 25 ? 0:01 /usr/lib/sysevent/syseventd root 67 1 0 Oct 25 ? 0:00 /usr/lib/sysevent/syseventconfd root 77 1 0 Oct 25 ? 8:22 devfsadmd root 265 1 0 Oct 25 ? 0:00 /usr/lib/netsvc/yp/ypbind -broadcast root 252 1 0 Oct 25 ? 0:00 /usr/sbin/rpcbind root 167 1 0 Oct 25 ? 0:00 /usr/sbin/in.rdisc -s root 469 466 0 Oct 25 ? 0:00 /usr/lib/saf/ttymon root 255 1 0 Oct 25 ? 0:00 /usr/sbin/keyserv -d root 394 1 0 Oct 25 ? 0:00 /usr/lib/utmpd root 274 1 0 Oct 25 ? 0:00 /usr/sbin/inetd -s -t root 318 1 0 Oct 25 ? 0:00 /usr/lib/inet/xntpd root 285 1 0 Oct 25 ? 0:00 /usr/sbin/syslogd -t root 327 274 0 Oct 25 ? 0:00 rpc.metad root 396 1 0 Oct 25 ? 0:00 /usr/sbin/nscd root 373 1 0 Oct 25 ? 0:00 /usr/sbin/cron root 391 1 0 Oct 25 ? 0:00 /usr/sbin/vold root 470 1 0 Oct 25 ? 0:00 /usr/lib/sendmail -q15m root 1060 1 0 13:54:45 ? 0:00 /opt/OBSDssh/sbin/prngd --cmdfile /etc/prngd.conf --seedfile /var/spool/prngd/p root 1086 1 1 13:55:00 ? 0:00 /opt/OBSDssh/sbin/sshd |
The preceding listing of services may not exactly match your environment. Several configuration modifications were made on this node after the OS was installed. These modifications included the configuration of xntp, NIS, and the installation of OpenSSH.
The following output was generated by nmap, a popular freeware security scanning tool:
# nmap -p 1-65535 10.6.25.150 Starting nmap V. 2.53 by fyodor@insecure.org ( http://www.insecure.org/nmap/ ) Port State Service 22/tcp open ssh 111/tcp open sunrpc 8059/tcp open unknown 8060/tcp open unknown 32785/tcp open unknown 32786/tcp open sometimes-rpc25 32787/tcp open sometimes-rpc27 32788/tcp open unknown 32789/tcp open unknown 32790/tcp open unknown 32791/tcp open unknown 32804/tcp open unknown 32806/tcp open unknown 32811/tcp open unknown 32821/tcp open unknown Nmap run completed -- 1 IP address (1 host up) scanned in 211 seconds |
Ports 8059 and 8060 are Sun Cluster 3.0 software-specific ports that accept only connections from other cluster nodes. When a connection request from a non-cluster node is received, the following message is logged to syslog:
Oct 30 14:00:52 phys-sps-1 cl™runtime: WARNING: Received a connect request from a node not configured in the cluster. Nodeid 0 ipaddr 0x8194b556 |
Monitor log files for these types of messages so that appropriate action can be taken when unauthorized access attempts are made against the cluster.
Cluster nodes are added based on the authentication method defined in the Sun Cluster 3.0 12/01 software configuration. It is strongly recommended that you use the strongest possible method of authentication. The available options are discussed in the Node Authentication section below.