Softpanorama
(slightly skeptical) Open Source Software Educational Society

May the source be with you, but remember the KISS principle ;-)

Google   


Best Solaris Hardening Papers

BTW one simple hardening recommendation that people often forget to mention is just to upgrade to Solaris 10: it's really a much better and more secure OS then any previous versions of Solaris. Neither from the security standpoint nor from the performance standpoint, there are real reasons of running, say, a webserver or Websphere outside zones like I saw in some big corporations.

Among the best Solaris-specific materials that are freely available on the Internet I would recommend the following:

  1. [Feb 11, 2005] Casper Dik's Weblog Solaris Privileges

    So what makes Solaris Privileges different? Why didn't we copy something else like Trusted Solaris Privileges or "POSIX" capabilities?

    Let's start from what we formulated as our requirements near the beginning of our project.

    One of the important features of Solaris is complete binary backward compatibility; in order to offer that we needed to design the privilege subsystem in such a manner that current practices, binaries and products would continue to work. Of course, some have solved this issue by providing a system wide knob to turn: root / root + privileges / just privileges. We don't like knobs in our OS; specifically not ones which drastically alter the behavior of a system. It makes it harder to develop software; it needs to work for all settings. Certain products may require conflicting settings, and so on. So we decided on a "per-process" knob which is largely automatic

    With backward compatibility comes the onus on the software developer to develop future proof interfaces; that ruled out all other interfaces as they all have fixed bitmaps and fixed privilege/capability numbers, fixed structure sizes in the programmer visible parts of the system. Solaris Privileges have none of that. And while we could safely reuse the names of the Trusted Solaris interfaces we can not redefine interfaces even from a defunct standard. So we have interfaces which smell like Trusted Solaris but with a completely new userland representation of privileges and privilege sets. We can never have more signals; but we can have more privileges and more privilege sets!

    The privileges and privilege sets in Solaris 10 are represented to userland processes and non-core kernel modules as strings; privilege sets are bitmasks of undetermined size; they can only be allocated through the C library routines. Privilege set names are also strings and not plain integer indices; this gives us even more flexibility. A Solaris binary compiled for 4 privilege sets of each 32 privileges will continue to work on a Solaris system with 5 privilege sets each of which can contain 64 privileges and with all the privileges having their internal representation renumbered.

  2. [Feb 11, 2005] BigAdmin Feature Article- The Least Privilege Model in the Solaris ...  by Amy Rich,

    ... Many software exploits count on this escalated privilege to gain superuser access to a machine via bugs like buffer overflows and data corruption. To combat this problem, the Solaris 10 Operating System includes a new least privilege model, which gives a specified process only a subset of the superuser powers and not full access to all privileges.

    The least privilege model evolved from Sun's experiences with Trusted Solaris and the tighter security model used there. The Solaris 10 OS least privileged model conveniently enables normal users to do things like mount file systems, start daemon processes that bind to lower numbered ports, and change the ownership of files. On the other hand, it also protects the system against programs that previously ran with full root privileges because they needed limited access to things like binding to ports lower than 1024, reading from and writing to user home directories, or accessing the Ethernet device. Since setuid root binaries and daemons that run with full root privileges are rarely necessary under the least privilege model, an exploit in a program no longer means a full root compromise. Damage due to programming errors like buffer overflows can be contained to a non-root user, which has no access to critical abilities like reading or writing protected system files or halting the machine.

    The Solaris 10 OS least privilege model includes nearly 50 fine-grained privileges as well as the basic privilege set.

    • The defined privileges are broken into the groups contract, cpc, dtrace, file, ipc, net, proc, and sys.
    • The basic privilege set includes all privileges granted to unprivileged processes under the traditional security model: proc_fork, proc_exec, proc_session, proc_info, and file_link_any.
  3. Automating Centralized File Integrity Checks in the Solaris 10 Operating System A simple and free integrity checking method for Solaris. Uses BAST

    by Glenn Brunette

    This Sun BluePrints Cookbook describes how to centralize and automate the collection of file integrity information using the following Solaris features:

    * Secure Shell
    * Role-based Access Control (RBAC)
    * Process Privileges
    * Basic Auditing and Reporting Tool (BART)

    Each of these features can be quickly and easily integrated to centralize and automate the process of collecting file fingerprints across a network of Solaris 10 systems.

    Note: This article is available in PDF Format only.

  4. SANS Resources - How To Eliminate The Ten Most Critical Internet Security Threats  -- you may (and should) disagree on the content on the list (I really disagree). But it might help to understand and properly set your own priorities, get a buy-in from (possibly clueless) management  and proceed from this point. The recognition that top ten vulnerabilities exists helps to prioritize hardening.  Closing real top ten probably can help in more than 80% of "naive" attempts to break into the system. This understanding of hierarchical nature of threats is a huge step forward toward more secure system. See also Lance Spitzner, On SANS Institute's Twenty Vulnerabilities List
     
  5. Building Secure N-Tier Environments -- if you structure DMZ in several ties you can generally imporve security. Bu t it is costly and firewalls involed
     
  6. Minimizing the Solaris Operating Environment for Security: Updated for Solaris 9 Operating Environment (November 2002)  By Alex Noordergraaf and Keith Watson December 1999. This is must read.  The paper addresses the principal question about how to remove unnecessary packages -- actually they consider a very practical case of Solaris + Netscape Enterprise Server.  The paper a little bit dated and weak on the tool side,  though. See also Solaris Operating Environment Security: Updated for Solaris 9 Operating Environment (December 2002)
     
  7. Securing Solaris Servers  -- A Checklist Approach by Paul D. J. Vandenberg and Susan D. Wyess. Point by point checklist from Usenix -- this is probably the third best paper on this topic which is available on the Internet. This list in not that practical, but you can use it as a starting point for adaptation of titan to your own need. This continued refinement of Titan and the list is the way to go.
     
  8. Solaris Operating Environment Network Settings for Security: Updated for Solaris 9 Operating Environment (June 2003)  -- by Keith Watson and Alex Noordergraaf. A better than in previous paper checklist-style discussion of networking specific issues.
     
  9. Compass Security Network Computing AG -- pretty practical but slight outdated guides (Titan modules descriptions are definitely outdated, but it's one of the few descriptions of issues connected with hardening Oracle available on the Internet)
  10. Extending Authentication in the Solaris 9 Operating Environment Using Pluggable Authentication Modules (PAM): Part I (September 2002)
     
  11. Securing Systems with Host-Based Firewalls - Implemented With SunScreen Lite 3.1 Software (September 2001)
    -by Martin Englund
    This article provides a discussion of why host-based firewalls can be an effective alternative to choke-point based firewalls or an additional layer of security in an environment. Details are then provided on how to implement a host-based firewalls using Sun's free host-based firewall software - SunScreen SecureNet Lite.
     
  12. Securing SNMP on Solaris - by Reg Quinton. From the author of  pretty interesting Solaris Network Hardening Kit -- a Titan derivative (Like Titan this is a Borne shell-based set of simple hardening scripts structured like RC scripts)
     
  13. Integrating the Secure Shell Software (May 2003)
    by Jason Reid
    This article discusses integrating Secure Shell software into an environment. It covers replacing rsh(1) with ssh(1) in scripts, using proxies to bridge disparate networks, limiting privileges with role-based access control (RBAC), and protecting legacy TCP-based applications. This article is the entire fifth chapter of the upcoming Sun BluePrints book "Secure Shell in the Enterprise" by Jason Reid, which will be available in June 2003.
     
  14. Running BIND v8 chrooted on Solaris 5-6-7
     
  15. Securing Web Applications through a Secure Reverse Proxy (November 2003)
    -by Anh-Duy Nguyen
    This article describes recommended practices for setting up the Sun ONE Proxy Server software to represent a secure content server to outside clients, preventing direct, unmonitored access to your server's data from outside your company. This article uses recommended practices to secure your web applications behind a firewall and leverage access and authentication using the Sun ONE platform products.

    This article assumes an intermediate reader who is familiar with installing and configuring the Sun ONE Proxy Server. It also assumes that the reader can configure the firewall router to allow a specific server on a specific port access through the firewall without allowing any other machines in or out.

Due to the growing volume of the page several historically important hardening scripts are now covered separately.


Copyright © 1996-2008 by Dr. Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. Submit comments This document is an industrial compilation designed and created exclusively for educational use and is placed under the copyright of the Open Content License(OPL). Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

Standard disclaimer: The statements, views and opinions presented on this web page are those of the author and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.

Last modified: February 28, 2008