Home > Articles > Operating Systems, Server > Solaris

  • Print
  • + Share This
Like this article? We recommend

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.

  • + Share This
  • 🔖 Save To Your Account