mirror of https://github.com/CISOfy/lynis.git
160 lines
6.5 KiB
Bash
160 lines
6.5 KiB
Bash
#!/bin/sh
|
|
|
|
#################################################################################
|
|
#
|
|
# Lynis
|
|
# ------------------
|
|
#
|
|
# Copyright 2007-2015, Michael Boelen, CISOfy (michael.boelen@cisofy.com)
|
|
# Web site: https://cisofy.com
|
|
#
|
|
# Lynis comes with ABSOLUTELY NO WARRANTY. This is free software, and you are
|
|
# welcome to redistribute it under the terms of the GNU General Public License.
|
|
# See LICENSE file for usage of this software.
|
|
#
|
|
#################################################################################
|
|
#
|
|
AUTOMATION_TOOL_FOUND=0
|
|
AUTOMATION_TOOL_RUNNING=""
|
|
CFENGINE_AGENT_FOUND=0
|
|
CFENGINE_SERVER_RUNNING=0
|
|
BACKUP_AGENT_FOUND=0
|
|
PUPPET_MASTER_RUNNING=0
|
|
SALT_MASTER_RUNNING=0
|
|
SALT_MINION_RUNNING=0
|
|
#
|
|
#################################################################################
|
|
#
|
|
InsertSection "Software: System tooling"
|
|
#
|
|
#################################################################################
|
|
#
|
|
# Automation
|
|
#
|
|
#################################################################################
|
|
#
|
|
# Test : TOOL-5002
|
|
# Description : Check if automation tools are found
|
|
Register --test-no TOOL-5002 --weight L --network NO --description "Checking for automation tools"
|
|
if [ ${SKIPTEST} -eq 0 ]; then
|
|
|
|
Display --indent 2 --text "- Checking automation tooling"
|
|
|
|
# Cfengine
|
|
if [ ! "${CFAGENTBINARY}" = "" ]; then
|
|
logtext "Result: CFEngine (cfagent) is installed (${CFAGENTBINARY})"
|
|
AUTOMATION_TOOL_FOUND=1
|
|
CFENGINE_AGENT_FOUND=1
|
|
report "automation_tool_running[]=cf-agent"
|
|
Display --indent 4 --text "Found: Cfengine (cfagent)" --result FOUND --color GREEN
|
|
fi
|
|
OTHER_CFENGINE_LOCATIONS="/var/cfengine/bin"
|
|
for I in ${OTHER_CFENGINE_LOCATIONS}; do
|
|
if [ -d ${I} ]; then
|
|
if [ -f ${I}/cf-agent ]; then
|
|
logtext "Result: found CFEngine agent (cf-agent) in ${I}"
|
|
AUTOMATION_TOOL_FOUND=1
|
|
CFENGINE_AGENT_FOUND=1
|
|
report "automation_tool_running[]=cf-agent"
|
|
Display --indent 4 --text "Found: CFEngine (cf-agent)" --result FOUND --color GREEN
|
|
fi
|
|
IsRunning "cf-server"
|
|
if [ ${RUNNING} -eq 1 ]; then
|
|
logtext "Result: found CFEngine server"
|
|
AUTOMATION_TOOL_FOUND=1
|
|
CFENGINE_SERVER_RUNNING=1
|
|
report "automation_tool_running[]=cf-server"
|
|
Display --indent 4 --text "Found: CFEngine (cf-server)" --result FOUND --color GREEN
|
|
fi
|
|
fi
|
|
done
|
|
|
|
# Chef
|
|
CHEF_LOCATIONS="/opt/chef/bin /opt/chef-server/sv /opt/chefdk/bin"
|
|
for I in ${CHEF_LOCATIONS}; do
|
|
if [ -d ${I} ]; then
|
|
if [ -f ${I}/chef-client ]; then
|
|
CHEFCLIENTBINARY="${I}/chef-client"
|
|
AUTOMATION_TOOL_FOUND=1
|
|
report "automation_tool_running[]=chef-client"
|
|
Display --indent 4 --text "Found: Chef client (chef-client)" --result FOUND --color GREEN
|
|
logtext "Result: found chef-client (chef client daemon) in ${I}"
|
|
fi
|
|
if [ -f ${I}/erchef ]; then
|
|
CHEFSERVERBINARY="${I}/erchef"
|
|
logtext "Result: Chef Server (erchef) is installed (${CHEFSERVERBINARY})"
|
|
AUTOMATION_TOOL_FOUND=1
|
|
report "automation_tool_running[]=chef-server"
|
|
Display --indent 4 --text "Found: Chef Server (erchef)" --result FOUND --color GREEN
|
|
logtext "Result: found erchef (chef server daemon) in ${I}"
|
|
fi
|
|
fi
|
|
done
|
|
|
|
# Puppet
|
|
if [ ! "${PUPPETBINARY}" = "" ]; then
|
|
logtext "Result: Puppet is installed (${PUPPETBINARY})"
|
|
AUTOMATION_TOOL_FOUND=1
|
|
report "automation_tool_running[]=puppet-agent"
|
|
Display --indent 4 --text "Found: Puppet (agent)" --result FOUND --color GREEN
|
|
fi
|
|
IsRunning "puppet master"
|
|
if [ ${RUNNING} -eq 1 ]; then
|
|
logtext "Result: found puppet master"
|
|
PUPPET_MASTER_RUNNING=1
|
|
report "automation_tool_running[]=puppet-master"
|
|
Display --indent 4 --text "Found: Puppet (master)" --result FOUND --color GREEN
|
|
fi
|
|
|
|
# SaltStack
|
|
if [ ! "${SALTMINIONBINARY}" = "" ]; then
|
|
logtext "Result: SaltStack (salt-minion) is installed (${SALTMINIONBINARY})"
|
|
AUTOMATION_TOOL_FOUND=1
|
|
SALT_MINION_RUNNING=1
|
|
report "automation_tool_running[]=saltstack-minion"
|
|
Display --indent 4 --text "Found: SaltStack minion (salt-minion)" --result FOUND --color GREEN
|
|
fi
|
|
if [ ! "${SALTMASTERBINARY}" = "" ]; then
|
|
logtext "Result: SaltStack (salt-master) is installed (${SALTMASTERBINARY})"
|
|
AUTOMATION_TOOL_FOUND=1
|
|
SALT_MASTER_RUNNING=1
|
|
report "automation_tool_running[]=saltstack-minion"
|
|
Display --indent 4 --text "Found: SaltStack master (salt-master)" --result FOUND --color GREEN
|
|
else
|
|
IsRunning "salt-master"
|
|
if [ ${RUNNING} -eq 1 ]; then
|
|
logtext "Result: found SaltStack (master)"
|
|
AUTOMATION_TOOL_FOUND=1
|
|
SALT_MASTER_RUNNING=1
|
|
report "automation_tool_running[]=saltstack-master"
|
|
Display --indent 4 --text "Found: SaltStack (master)" --result FOUND --color GREEN
|
|
fi
|
|
fi
|
|
|
|
if [ ${AUTOMATION_TOOL_FOUND} -eq 1 ]; then
|
|
Display --indent 2 --text "- Automation tooling" --result FOUND --color GREEN
|
|
else
|
|
Display --indent 2 --text "- Automation tooling" --result "NOT FOUND" --color YELLOW
|
|
ReportSuggestion ${TEST_NO} "Determine if automation tools are present for system management"
|
|
fi
|
|
fi
|
|
#
|
|
#################################################################################
|
|
#
|
|
# Backup tools
|
|
#
|
|
#################################################################################
|
|
#
|
|
# Netvault
|
|
# Rsync in cron
|
|
#
|
|
#################################################################################
|
|
#
|
|
report "automation_tool_present=${AUTOMATION_TOOL_FOUND}"
|
|
|
|
|
|
wait_for_keypress
|
|
#
|
|
#================================================================================
|
|
# Lynis - Copyright 2007-2015, Michael Boelen, CISOfy - https://cisofy.com
|