mirror of https://github.com/CISOfy/lynis.git
152 lines
5.8 KiB
Bash
152 lines
5.8 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=""
|
|
BACKUP_AGENT_FOUND=0
|
|
PUPPET_MASTER_RUNNING=0
|
|
SALT_MASTER_RUNNING=0
|
|
SALT_MINION_RUNNING=0
|
|
CF3_AGENT_FOUND=0
|
|
CF3_SERVER_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
|
|
Display --indent 4 --text "Found: Cfengine (cfagent)" --result FOUND --color GREEN
|
|
fi
|
|
# Cfengine 3
|
|
CF3_LOCATIONS="/var/cfengine/bin"
|
|
for I in ${CF3_LOCATIONS}; do
|
|
if [ -d ${I} ]; then
|
|
if [ -e ${I}/cf-agent ]; then
|
|
logtext "Result: found Cfengine3 agent (cf-agent) in ${I}"
|
|
AUTOMATION_TOOL_FOUND=1
|
|
CF3_AGENT_FOUND=1
|
|
Display --indent 4 --text "Found: Cfengine (cf-agent)" --result FOUND --color GREEN
|
|
fi
|
|
IsRunning "cf-server"
|
|
if [ ${RUNNING} -eq 1 ]; then
|
|
logtext "Result: found Cfengine3 server"
|
|
CF3_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_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
|
|
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
|
|
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
|
|
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"
|
|
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
|
|
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
|
|
Display --indent 4 --text "Found: SaltStack master (salt-master)" --result FOUND --color GREEN
|
|
fi
|
|
IsRunning "salt-master"
|
|
if [ ${RUNNING} -eq 1 ]; then
|
|
logtext "Result: found SaltStack (master)"
|
|
SALT_MASTER_RUNNING=1
|
|
report "automation_tool_running[]=saltstack-master"
|
|
Display --indent 4 --text "Found: SaltStack (master)" --result FOUND --color GREEN
|
|
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 "cf3_server=${CF3_SERVER_RUNNING}"
|
|
report "cf3_agent=${CF3_AGENT_INSTALLED}"
|
|
report "puppet_master=${PUPPET_MASTER_RUNNING}"
|
|
report "salt_master=${SALT_MASTER_RUNNING}"
|
|
report "salt_minion=${SALT_MINION_RUNNING}"
|
|
|
|
|
|
wait_for_keypress
|
|
#
|
|
#================================================================================
|
|
# Lynis - Copyright 2007-2015, Michael Boelen, CISOfy - https://cisofy.com
|