This page has been created in an attempt to develop, refine and promote security hardening recommended practices for OpenSolaris.  This page is structured after the headings used in the Center for Internet Security Solaris 10 Benchmark.  The actions described on this page were adapted to OpenSolaris based upon the CIS material (originally developed for Solaris 10).  The settings noted below are intended to closely mimic the CIS Solaris 10 Benchmark (as applied to OpenSolaris) so that a CIS-compliant hardened OpenSolaris configurations can be developed.  Unless otherwise stated, the settings are appropriate for OpenSolaris 2008.11 and newer versions.  Any considerations, issues or differences are covered in the "Additional Information" sections below.  Feedback as always is appreciated.

Legend

The following values are permitted for the Action Taken section of each item:

  • DEFAULT - This recommendation corresponds to an OpenSolaris default setting, so no action was required.
  • YES - This recommendation differs from the OpenSolaris default setting, so the corresponding action was taken to adjust the OpenSolaris configuration.
  • NO - This recommendation does not apply to the OpenSolaris configuration, so no action was taken.

Security Hardening Recommendations

Install Patches and Additional Software

#DescriptionAction TakenAdditional Information
1.1Apply Latest OS PatchesNOAmazon EC2: For OpenSolaris images (AMIs) made available on Amazon EC2, updates to the operating system are restricted by design as there is no way to determine if patches may require changes to the ramdisk and kernel (which are managed separately on EC2).  Current versions of OpenSolaris AMIs should be used to mitigate this issue.  This issue is specific to Amazon EC2 implementations.  All Others: All other versions can and should be updated using standard OpenSolaris methods.
1.2Install Solaris Encryption KitDEFAULTThe Solaris Encryption Kit is integrated by default (since Solaris 10 08/07) so no further action was required.

Restrict Services

#DescriptionImplementedAdditional Information
2.1Establish a Secure BaselineDEFAULTSecure by Default is the default setting for OpenSolaris.  No additional steps were required.
2.2.1Disable Local CDE ToolTalk Database ServerDEFAULTSoftware was not installed by default.
2.2.2Disable Local CDE Calendar ManagerDEFAULTSoftware was not installed by default.
2.2.3Disable Local Common Desktop EnvironmentDEFAULTSoftware was not installed by default.
2.2.4Disable Local Sendmail ServiceNOsendmail was configured for queue processing services only.  It was not configured to accept incoming mail requests originating from off of the system.
2.2.5Disable Local Web ConsoleDEFAULTSoftware was not installed by default.
2.2.6Disable Local WBEMDEFAULTSoftware was not installed by default.
2.2.7Disable Local BSD Print Protocol AdaptorDEFAULTService was disabled by Item 2.1.
2.3.1Disable RPC Encryption KeyDEFAULTService was disabled by default.
2.3.2Disable NIS Server DaemonsDEFAULTService was not installed by default.
2.3.3Disable NIS Client DaemonsDEFAULTService was disabled by default.
2.3.4Disable NIS+ DaemonsDEFAULTService was disabled by default.
2.3.5Disable LDAP Cache ManagerDEFAULTService was disabled by default.
2.3.6Disable Kerberos TGT Expiration WarningYESService was enabled by default.  It has been disabled, but it can be re-enabled if needed.  If re-enabled, the service is configured to use a loopback transport provider (no external network port is exposed) and will run with limited privileges.
2.3.7Disable Generic Security Services (GSS) DaemonsYESService was enabled by default.  It has been disabled, but it can be re-enabled if needed.  If re-enabled, the service is configured to use a loopback transport provider (no external network port is exposed) and will run with limited privileges.
2.3.8Disable Volume ManagerYESService was enabled by default.  It has been disabled, but it can be re-enabled if needed.  Note that OpenSolaris uses the FMRI rmvolmgr in place of volfs.
2.3.9Disable Samba SupportDEFAULTSoftware was not installed by default.
2.3.10Disable Automount DaemonYESService was enabled by default.  It has been disabled, but it can be re-enabled if needed.  If re-enabled, this service does not expose a network port.
2.3.11Disable Apache ServicesDEFAULTService was not installed by default.
2.3.12Disable Solaris Volume Manager ServicesYESService (metainit) was enabled by default.  It has been disabled, but it can be re-enabled if needed.  If re-enabled, this service does not expose a network port.  In addition to metainit, the metasync service was also disabled.
2.3.13Disable Solaris Volume Manager GUIDEFAULTService was disabled by default.
2.3.14Disable Local RPC Port Mapping ServiceYESService is enabled by default.  Since no RPC services were left running as part of the hardening process, this service was also disabled.  If enabled, the service is configured to access communication originating only from the local system.  This service runs with limited privileges.
2.4.1Enable Kerberos Server DaemonsDEFAULTService was disabled by default.  Note that the krb5_prop service was not installed by default.
2.4.2Enable NFS Server ProcessesDEFAULTService was disabled by default.
2.4.3Enable NFS Client ProcessesDEFAULTService was disabled by default.
2.4.4Enable telnet AccessDEFAULTService was disabled by default.
2.4.5Enable FTP AccessDEFAULTService was disabled by default.
2.4.6Enable Boot ServicesDEFAULTSoftware was not installed by default.
2.4.7Enable Reverse Address Resolution Protocol (RARP)DEFAULTSoftware was not installed by default.
2.4.8Enable DHCP Server SupportDEFAULTSoftware was not installed by default.
2.4.9Enable Domain Name System (DNS) Server SupportDEFAULTService was disabled by default.
2.4.10Enable Trivial File Transfer Protocol (TFTP) ServicesDEFAULTSoftware was not installed by default
2.4.11Enable Printer DaemonsDEFAULTService was disabled by default.  Note that the print/cleanup service was not installed by default.
2.4.12Enable Simple Network Management Protocol (SNMP)DEFAULTSoftware was not installed by default.
2.5Configure TCP WrappersNOFor a generic installation with specific filtering requirements, using this recommendation does not make much sense.  Individual users can enable this functionality if needed else use other mitigating controls such as IP Filter.

Beyond those services noted above, the following services were disabled as part of the OpenSolaris Security Hardening process.  If any of these services are required, they can be re-enabled using standard OpenSolaris methods:

ServicesRationale

svc:/application/desktop-cache/desktop-mime-cache:default
svc:/application/desktop-cache/gconf-cache:default
svc:/application/desktop-cache/icon-cache:default
svc:/application/desktop-cache/input-method-cache:default
svc:/application/desktop-cache/mime-types-cache:default
svc:/application/desktop-cache/pixbuf-loaders-installer:default
svc:/application/font/fc-cache:default
svc:/application/graphical-login/gdm:default

Desktop services are not needed for server configurations.
svc:/application/pkg/update:defaultAmazon EC2: Image updates are not permitted for OpenSolaris AMIs.
All Others: This service can be re-enabled if needed.
svc:/application/print/ppd-cache-update:defaultPrinting services are often not needed for server configurations.
svc:/network/dns/multicast:defaultmDNS services are often not needed for server configurations.
svc:/network/inetd:defaultSince no inetd services were left running as part of this hardening process, this service was disabled.

svc:/system/avahi-bridge-dsd:default
svc:/system/dbus:default

Message bus services are likely not needed for server configurations.
svc:/system/hal:defaultHardware abstraction layer services are often not needed for server configurations.
svc:/system/power:defaultPower management services are often not needed for server configurations.

Kernel Tuning

#DescriptionImplementedAdditional Information
3.1Restrict Core Dumps to Protected DirectoryYES 
3.2Enable Stack ProtectionSEE NOTEAmazon EC2: For OpenSolaris 2008.11, this change was not implemented as a new boot image would first need to be created.  For OpenSolaris 2009.06, this change is implemented.  All Others: This setting is in effect for all other implementations.
3.3Enable Strong TCP Sequence Number GenerationYES 
3.4Modify Network ParametersYES 
3.5Disable Network RoutingDEFAULT 

Logging

#DescriptionImplementedAdditional Information
4.1Enable inetd Connection LoggingYESThis step is only meaningful if inetd is re-enabled.
4.2Enable FTP Daemon LoggingYESThis step is only meaningful if FTP is re-enabled.
4.3Enable Debug Level Daemon LoggingYES 
4.4Capture SYSLOG AUTH MessagesYES 
4.5Enable Login RecordsYES 
4.6Capture All Failed Login AttemptsYES 
4.7Enable cron LoggingDEFAULT 
4.8Enable System AccountingYES 
4.9Enable Kernel Level AuditingSEE NOTEAmazon EC2: For OpenSolaris 2008.11, this change is not implemented as a new boot image would first need to be created.  For OpenSolaris 2009.06, this change is implemented.  A reduced audit configuration is implemented for simplicity.  All Others: This setting is in effect for all other implementations.  A reduced audit configuration is implemented for simplicity.

File/Directory Permissions/Access

#DescriptionImplementedAdditional Information
5.1Set Daemon umaskDEFAULT 
5.2Restrict Set-UID on User Mounted DevicesDEFAULT 
5.3Verify System File PermissionsNOThe system file permissions are as delivered in OpenSolaris.  Change requests should be submitted to bugs.opensolaris.org.
5.4Set Sticky Bit on World Writable DirectoriesDEFAULTNo non-sticky world writable directories exist by default. 
5.5Find World Writable FilesYESThe only world writable file by default is /var/adm/spellhist.
5.6Find SUID/SGID System ExecutablesDEFAULTThe executable ownership and permissions are as delivered in OpenSolaris.
5.7Find Un-owned Files and DirectoriesDEFAULTNo un-owned files or directories exist by default.
5.8Find Files and Directories with Extended AttributesDEFAULTNo files and directories with extended attributes exist by default.

Beyond those checks noted above, it was verified that no files or directories with ACLs exist by default.

System Access, Authentication and Authorization

#DescriptionImplementedAdditional Information
6.1Disable login: Prompts on Serial PortsYES
6.2Disable "nobody" Access for RPC Encryption Key Storage ServiceYES 
6.3Configure SSHNOAmazon EC2: PermitRootLogin was set to without-password.  On Amazon EC2, only the root account has access and even then only using public-key authentication.  There are no passwords assigned, by default, to local accounts.
All Others: This setting is in effect for all other implementations.
6.4Disable .rhosts Support in /etc/pam.confYES 
6.5Restrict FTP UseDEFAULTBeyond the users identified in this item, the users postgres and xvm were added to the restricted FTP user list.
6.6Verify Delay between Failed Login Attempts Set to 4DEFAULT 
6.7Set Default Screen Lock for CDE UsersDEFAULTSoftware was not installed by default.
6.8Set Default Screen Lock for Gnome UsersNOOpenSolaris GDM screen lock is enabled, default time out value used. (Sun: 15:00, CIS: 10:00)
6.9Restrict at/cron to Authorized UsersYESThe account sys was added to support Item 4.8.
6.10Restrict root Login to System ConsoleDEFAULTAmazon EC2: SSH is configured to allow remote root login using public key authentication. All Others: This setting is in effect for all other implementations.
6.11Set Retry Limit for Account LockoutYESAmazon EC2: Limited impact as generally only _root_ account is enabled by default.
*All Others*: This setting is in effect for all other implementations.
6.12Set EEPROM Security Mode and Log Failed AccessNOThis recommendation may not be appropriate for virtualized environments.
6.13Secure the GRUB MenuNOThis recommendation may not be appropriate for virtualized environments.

User Accounts and Environment

#DescriptionImplementedAdditional Information
7.1Disable System AccountsDEFAULTOnly root account is active by default.  Shell changes were not implemented.
7.2Ensure Password Fields are Not EmptyDEFAULT 
7.3Set Password Expiration Parameters on Active AccountsYES 
7.4Set Strong Password Creation PoliciesPARTIALThe changes to /etc/default/passwd have been implemented as per the CIS recommendations.  No changes have been made to any of the system accounts directly.
7.5Verify No Legacy "+" Entries Exist in passwd, shadow, and group filesDEFAULT 
7.6Verify No UID 0 Accounts Exist Other than rootDEFAULT 
7.7Set Default Group for root AccountDEFAULT 
7.8Change Home Directory for root AccountDEFAULT 
7.9Ensure root PATH IntegrityDEFAULT 
7.10Check Permissions on User Home DirectoriesDEFAULTAmazon EC2: There are no active user accounts by default.  All Others: This check should be manually verified and corrective action taken if necessary.
7.11Check User Dot File PermissionsDEFAULTAmazon EC2: There are no active user accounts by default.  All Others: This check should be manually verified and corrective action taken if necessary.
7.12Check Permissions on User .netrc FilesDEFAULTThere are no .netrc files by default.
7.13Check for Presence of User .rhosts FilesDEFAULTThere are no .rhosts files by default.
7.14Set Default umask for UsersNODefault file creation mask of 022 is used.
7.15Set Default umask for FTP Users*NO*FTP is disabled by Item 2.4.5 and access is restricted by Item 6.5 (no user access is permitted).  Default file creation mask of 022 is used.
7.16Set "mesg n" as Default for All UsersYES 

Warning Banners

#DescriptionImplementedAdditional Information
8.1Create Warnings for Standard Login ServicesYES 
8.2Create Warning Banner for CDE UsersDEFAULTSoftware was not installed by default.
8.3Create Warning Banner for GNOME UsersNOGDM is disabled in Section 2.
8.4Create Warning Banner for FTP DaemonYESFTP is disabled by Item 2.4.5.
8.5Check Banner Setting for TELNET is NULLDEFAULTtelnet is disabled by Item 2.4.4.
8.6Create Power On WarningDEFAULTThis recommendation may not be appropriate for virtualized environments.
8.7Change Default Greeting String for SendmailYES 

Pre-Configured OpenSolaris Images and Projects

The above security hardening recommendations have been implemented in the following projects:

Immutable Service Containers

Pre-Configured OpenSolaris Images on Amazon EC2

OpenSolaris Just Enough OS (JeOS) Project

Created by gbrunett on 2010/02/03 20:26
Last modified by gbrunett on 2010/02/03 20:43

Collectives

Project


© 2010, Oracle Corporation and/or its affiliates
XWiki Enterprise 2.1.1.25889 - Documentation
Terms Of Use | Privacy | Trademarks | Copyright Policy | Site Guidelines | Site map | Help
Your use of this web site or any of its content or software indicates your agreement to be bound by these Terms of Use.
Oracle