##############################################################################
 #                                                                            ##
############################################################################## #
#                                                                            # #
#                        Policy file for Solaris 8                           # #
#                                                                            ##
##############################################################################

  ##############################################################################
 #                                                                            ##
############################################################################## #
#                                                                            # #
# Global Variable Definitions                                                # #
#                                                                            # #
# These are defined at install time by the installation script.  You may     # #
# manually edit these if you are using this file directly and not from the   # #
# installation script itself.                                                # #
#                                                                            ##
##############################################################################


@@section GLOBAL
TWDOCS="/opt/tripwire/doc/tripwire";
TWBIN="/opt/tripwire/sbin";
TWPOL="/opt/tripwire/etc";
TWDB="/opt/tripwire/lib/tripwire";
TWSKEY="/opt/tripwire/etc";
TWLKEY="/opt/tripwire/etc";
TWREPORT="/opt/tripwire/lib/tripwire/report";
HOSTNAME=fafner;
EMAIL="sysadmin@genome.stanford.edu";


  ##############################################################################
 #  Predefined Variables                                                      #
##############################################################################
#
#  Property Masks
#
#  -  ignore the following properties
#  +  check the following properties
#
#  a  access timestamp (mutually exclusive with +CMSH)
#  b  number of blocks allocated
#  c  inode creation/modification timestamp
#  d  ID of device on which inode resides
#  g  group id of owner
#  i  inode number
#  l  growing files (logfiles for example)
#  m  modification timestamp
#  n  number of links
#  p  permission and file mode bits
#  r  ID of device pointed to by inode (valid only for device objects)
#  s  file size
#  t  file type
#  u  user id of owner
#
#  C  CRC-32 hash
#  H  HAVAL hash
#  M  MD5 hash
#  S  SHA hash
#
##############################################################################

Device        = +pugsdr-intlbamcCMSH ;
Dynamic       = +pinugtd-srlbamcCMSH ;
Growing       = +pinugtdl-srbamcCMSH ;
IgnoreAll     = -pinugtsdrlbamcCMSH ;
IgnoreNone    = +pinugtsdrbamcCMSH-l ;
ReadOnly      = +pinugtsdbmCM-rlacSH ;
Temporary     = +pugt ;

@@section FS 

           SEC_CRIT             = $(IgnoreNone)-SHa;  #Criical files - we we can't afford to miss any changes
           SEC_SUID             = $(IgnoreNone)-SHa;    # Binaries with the SUID or SGID flags set.
           SEC_TCB              = $(ReadOnly);  # Members of the Trusted Computing Base.
           SEC_BIN              = $(ReadOnly);  # Binaries that shouldn't change
           SEC_CONFIG           = $(Dynamic);   # Config files that are changed infrequently but accessed ofte
n.
           SEC_LOG              = $(Growing);   # Files that grow, but that should never change ownership.
           SEC_INVARIANT        = +pug; # Directories that should never change permission or ownership.
           SIG_LOW              = 33;   # Non-critical files that are of minimal security impact
           SIG_MED              = 66;   # Non-critical files that are of significant security impact
           SIG_HI               = 100;  # Critical files that are significant points of vulnerability

  ########################################
 #                                      ##
######################################## #
#                                      # #
#  Tripwire Binaries and Data Files    # #
#                                      ##
########################################

# Tripwire Binaries
(
  rulename = "Tripwire Binaries", emailto=$(EMAIL), severity=$(SIG_HI)
)
{
  $(TWBIN)/siggen                      -> $(ReadOnly) ;
  $(TWBIN)/tripwire                    -> $(ReadOnly) ;
  $(TWBIN)/twadmin                     -> $(ReadOnly) ;
  $(TWBIN)/twprint                     -> $(ReadOnly) ;
}

# Tripwire Data Files - Configuration Files, Policy Files, Keys, Reports, Databases
(
  rulename = "Tripwire Data Files", emailto=$(EMAIL), severity=$(SIG_HI)
)
{
  # NOTE: We remove the inode attribute because when Tripwire creates a backup,
  # it does so by renaming the old file and creating a new one (which will
  # have a new inode number).  Inode is left turned on for keys, which shouldn't
  # ever change.

  # NOTE: The first integrity check triggers this rule and each integrity check
  # afterward triggers this rule until a database update is run, since the
  # database file does not exist before that point.

  $(TWDB)                              -> $(Dynamic) -i ;
  $(TWPOL)/tw.pol                      -> $(ReadOnly) -i ;
  $(TWPOL)/tw.cfg                      -> $(ReadOnly) -i ;
  $(TWLKEY)/$(HOSTNAME)-local.key      -> $(ReadOnly) ;
  $(TWSKEY)/site.key                   -> $(ReadOnly) ;

  # don't scan the individual reports
  $(TWREPORT)                          -> $(Dynamic) (recurse=0) ;

  # In this configuration /usr/local is a symbolic link to /home/local.
  # We want to ignore the following directories since they are already
  # scanned using the real directory or mount point.  Otherwise we see
  # duplicates in the reports.

  !/home/local ;                 # Ignore since /home already scanned
}

  ################################################
 #                                              ##
################################################ #
#                                              # #
#  OS Boot and Configuration Files             # #
#                                              ##
################################################
(
  rulename = "OS Boot and Configuration Files", emailto=$(EMAIL), severity=$(SIG_HI)
)
{
  /etc                          -> $(IgnoreNone) -SHa ;
  /kernel                       -> $(ReadOnly) ;
}

  ###################################################
 #                                                 ##
################################################### #
#                                                 # #
#  Mount Points                                   # #
#                                                 ##
###################################################
(
  rulename = "Mount Points", emailto=$(EMAIL), severity=$(SIG_HI)
)
{
  /                             -> $(ReadOnly) ;
 # /cdrom                        -> $(Dynamic) ;
  /home                         -> $(ReadOnly) ;
  /mnt                          -> $(Dynamic) ;
  /usr                          -> $(ReadOnly) ;
  /var                          -> $(ReadOnly) ;
  /opt                          -> $(ReadOnly) ;
}

  ###################################################
 #                                                 ##
################################################### #
#                                                 # #
#  Misc Top-Level Directories                     # #
#                                                 ##
###################################################
(
  rulename = "Misc Top-Level Directories",emailto=$(EMAIL), severity=$(SIG_LOW)
)
{
  /lost+found                   -> $(ReadOnly) ;
}

  ################################################
 #                                              ##
################################################ #
#                                              # #
#   System Devices                             # #
#                                              ##
################################################
(
  rulename = "System Devices", emailto=$(EMAIL), severity=$(SIG_HI)
)
{
  /dev                          -> $(Device) ;
  !/dev/.devfsadm_synch_door ;
  !/dev/.zone_reg_door ;
  /devices                      -> $(Device) ;
}

  ################################################
 #                                              ##
################################################ #
#                                              # #
#  OS Binaries and Libraries                   # #   
#                                              ##
################################################
(
  rulename = "OS Binaries and Libraries", emailto=$(EMAIL), severity=$(SIG_MED)
)
{
  /sbin                         -> $(ReadOnly) ;
  /usr/bin                      -> $(ReadOnly) ;
  /usr/lib                      -> $(ReadOnly) ;
  /usr/sbin                     -> $(ReadOnly) ;
  /usr/openwin/bin              -> $(ReadOnly) ;
  /usr/openwin/lib              -> $(ReadOnly) ;
}

  ################################################
 #                                              ##
################################################ #
#                                              # #
#  Root Directory and Files                    # #
#                                              ##
################################################
(
  rulename = "Root Directory and Files",
)
{
  ! /.netscape/cache ; 
  #/.bash_history                -> $(ReadOnly) -smbCM;
  #/.sh_history                   -> $(Dynamic) ;
  #/.Xauthority                   -> $(ReadOnly) ;
}

  ################################################
 #                                              ##
################################################ #
#                                              # #
#  Temporary Directories                       # #
#                                              ##
################################################
(
  rulename = "Temporary Directories", emailto=$(EMAIL), severity=$(SIG_LOW)
)
{
  /tmp                          -> $(Temporary) ;
  /var/tmp                      -> $(Temporary) ;
}

  ################################################
 #                                              ##
################################################ #
#                                              # #
#  System Doors and Misc Mounts                # #
#                                              ##
################################################
(
  rulename = "System Doors and Misc Mounts",
)
{
  !/etc/mnttab ;
  !/etc/.name_service_door ;
  !/etc/sysevent/syseventconfd_event_service ;
  !/etc/sysevent/sysevent_door ;
  !/etc/sysevent/piclevent_door ;
  !/dev/fd ;
  !/net ;
  !/proc ;
  !/var/run ;
  !/var/run/syslog_door ;
  !/vol ;
  !/xfn ;

}

  ################################################
 #                                              ##
################################################ #
#                                              # #
#  System FIFOs                                # #
#                                              ##
################################################
(
  rulename = "System FIFOs",
)
{
  !/etc/cron.d/FIFO ;
  !/etc/initpipe ;
  !/etc/saf/_cmdpipe ;
  !/etc/saf/_sacpipe ;
  !/etc/saf/zsmon/_pmpipe ;
  !/etc/utmppipe ;
  !/var/spool/lp/fifos/FIFO ;
  !/tmp/.removable ;
  !/tmp/.X11-pipe/X0 ;
}

  ################################################
 #                                              ##
################################################ #
#                                              # #
#  System and Boot Changes                     # #
#                                              ##
################################################
(
  rulename = "System and Boot Changes", emailto=$(EMAIL), severity=$(SIG_LOW)
)
{
  #/etc/.pwd.lock                  -> $(ReadOnly) -cm;
  /etc/coreadm.conf                -> $(ReadOnly) -cm;
  /var/adm                         -> $(Growing) -i;
  #/var/backups                    -> $(Dynamic) -i ;
  /var/cron/log                    -> $(Growing) -i ;
  #/var/db/host.random             -> $(ReadOnly) -mCM ;
  #/var/db/locate.database         -> $(ReadOnly) -misCM ;
  /var/log                         -> $(Growing) -i ;
  #/var/run                        -> $(Dynamic) -i ;
  #/var/mail                       -> $(Growing) ;
  #/var/msgs/bounds                -> $(ReadOnly) -smbCM ;
  !/var/sendmail ;
  !/var/spool/clientmqueue ;
  !/var/spool/mqueue ;
  #!/var/tmp/vi.recover ;           # perl script periodically removes this

}