#!/bin/sh
#
#     tiger - A UN*X security checking system
#     Copyright (C) 2003 Michael Sconzo, Javier Fernandez-Sanguino Pea,
#                        Ryan Bradetich
#
#    This program is free software; you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation; either version 1, or (at your option)
#    any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#     Please see the file `COPYING' for the complete copyright notice.
#
#  check_xinetd - 02/11/2003
# 
#  Checks which xinetd services are enabled or disabled.
#
#  05/02/2004 jfs  Try to avoid eval problems if handling variables with
#                 special characters (such as space)
#  01/15/2004 - jfs - Fixed syntax error (at least in RH 8) and added TODO
#  11/19/2003 - jfs - Linux-specific version based on patch from Ryan
#      Bradetich which introduces many more checks for services and
#      configuration (but still more is needed). Added many TODOs.
#  08/19/2003 - jfs - Allow override of XINETDCONF and fix error
#  08/12/2003 - jfs - Now write messages for disabled services too. Also
#               fixed some errors.
#  08/11/2003 - jfs - Fixed dependancies. Now uses XINETDFILE instead of 
#               hardcoding the location. Added additional checks
#               to avoid errors and use message instead of echo.
#
#-----------------------------------------------------------------------------
# TODO:
#
# - this script can emit false positives for services that are redirected
#   (i.e. no 'server' flag but a 'redirect' flag)
# - it could warn for servers that are not restricted by TCP wrappers
#   (nees to check if server = tcpd)
# - should check whether some services use log_on_failure or log_on_success
# - info for services that are chrooted (server = chroot)
# - do not warn for services which are bound to 127.0.0.1?
# - xinetd checks should determine if insecure services are active or
#   running as root when not needed.
# - should check the server binaries it points to. Are they properly
#   owned?
# - consider generating a file based on the xinetd.conf similar to 
#   how it's done with GEN_INETD_SERVICES
# - it could also check vs the tiger's provided operating system's
#   XINETDFILE to determine changes in services just as check_inetd does
#
#-----------------------------------------------------------------------------
#
TigerInstallDir="/usr/lib/tiger"

#
# Set default base directory.
# Order or preference:
#      -B option
#      TIGERHOMEDIR environment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      TigerInstallDir instal8vironment variable
#      Tiger