mirror of
https://github.com/CISOfy/lynis.git
synced 2025-07-27 07:44:14 +02:00
Added new 'generate' command
This commit is contained in:
parent
6bc2aefbd4
commit
2d0c684931
@ -251,8 +251,10 @@ unset LANG
|
|||||||
SHOW_REPORT_SOLUTION=1
|
SHOW_REPORT_SOLUTION=1
|
||||||
SHOW_TOOL_TIPS=1 # Show inline tool tips (default true)
|
SHOW_TOOL_TIPS=1 # Show inline tool tips (default true)
|
||||||
SHOW_WARNINGS_ONLY=0
|
SHOW_WARNINGS_ONLY=0
|
||||||
|
SKIP_GETHOSTID=0
|
||||||
SKIP_PLUGINS=0
|
SKIP_PLUGINS=0
|
||||||
SKIP_TESTS=""
|
SKIP_TESTS=""
|
||||||
|
SKIP_VM_DETECTION=0
|
||||||
SKIPREASON=""
|
SKIPREASON=""
|
||||||
SKIPPED_TESTS_ROOTONLY=""
|
SKIPPED_TESTS_ROOTONLY=""
|
||||||
SMTPCTLBINARY=""
|
SMTPCTLBINARY=""
|
||||||
|
@ -805,15 +805,26 @@
|
|||||||
# Name : GetHostID()
|
# Name : GetHostID()
|
||||||
# Description : Create an unique id for the system
|
# Description : Create an unique id for the system
|
||||||
#
|
#
|
||||||
# Returns : optional value
|
# Returns : 0 = fetched or created IDs, 1 = failed, 2 = skipped
|
||||||
# Usage : GetHostID
|
# Usage : GetHostID
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
GetHostID() {
|
GetHostID() {
|
||||||
|
|
||||||
|
if [ ${SKIP_GETHOSTID} -eq 1 ]; then
|
||||||
|
return 2
|
||||||
|
fi
|
||||||
|
|
||||||
if [ ! -z "${HOSTID}" -a ! -z "${HOSTID2}" ]; then
|
if [ ! -z "${HOSTID}" -a ! -z "${HOSTID2}" ]; then
|
||||||
Debug "Skipping creation of host identifiers, as they are already configured (via profile)"
|
Debug "Skipping creation of host identifiers, as they are already configured (via profile)"
|
||||||
return 1
|
return 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "${ROOTDIR}etc/lynis/hostids" ]; then
|
||||||
|
Debug "Used hostids file to fetch values"
|
||||||
|
HOSTID=$(grep "^hostid=" ${ROOTDIR}etc/lynis/hostids | awk -F= '{print $2}')
|
||||||
|
HOSTID2=$(grep "^hostid2=" ${ROOTDIR}etc/lynis/hostids | awk -F= '{print $2}')
|
||||||
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
FIND=""
|
FIND=""
|
||||||
@ -1110,8 +1121,9 @@
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Show an exception if no HostID could be created, to ensure each system (and scan) has one
|
# Show an exception if no HostID could be created, to ensure each system (and scan) has one
|
||||||
if [ "${HOSTID}" = "" ]; then
|
if [ -z "${HOSTID}" ]; then
|
||||||
ReportException "GetHostID" "No unique host identifier could be created."
|
ReportException "GetHostID" "No unique host identifier could be created."
|
||||||
|
return 1
|
||||||
elif [ ! -z "${HOSTID2}" ]; then
|
elif [ ! -z "${HOSTID2}" ]; then
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
@ -1393,6 +1405,10 @@
|
|||||||
ISVIRTUALMACHINE=2; VMTYPE="unknown"; VMFULLTYPE="Unknown"
|
ISVIRTUALMACHINE=2; VMTYPE="unknown"; VMFULLTYPE="Unknown"
|
||||||
SHORT=""
|
SHORT=""
|
||||||
|
|
||||||
|
if [ ${SKIP_VM_DETECTION} -eq 1 ]; then
|
||||||
|
return 2
|
||||||
|
fi
|
||||||
|
|
||||||
# lxc environ detection
|
# lxc environ detection
|
||||||
if [ -z "${SHORT}" ]; then
|
if [ -z "${SHORT}" ]; then
|
||||||
if [ -f /proc/1/environ ]; then
|
if [ -f /proc/1/environ ]; then
|
||||||
|
89
include/helper_generate
Normal file
89
include/helper_generate
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
#################################################################################
|
||||||
|
#
|
||||||
|
# Lynis
|
||||||
|
# ------------------
|
||||||
|
#
|
||||||
|
# Copyright 2007-2013, Michael Boelen
|
||||||
|
# Copyright 2007-2019, CISOfy
|
||||||
|
#
|
||||||
|
# Website : https://cisofy.com
|
||||||
|
# Blog : http://linux-audit.com
|
||||||
|
# GitHub : https://github.com/CISOfy/lynis
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
######################################################################
|
||||||
|
#
|
||||||
|
# Helper program to generate specific details such as host IDs
|
||||||
|
#
|
||||||
|
######################################################################
|
||||||
|
#
|
||||||
|
# How to use:
|
||||||
|
# ------------
|
||||||
|
# Run: lynis generate <option>
|
||||||
|
#
|
||||||
|
######################################################################
|
||||||
|
|
||||||
|
SAVEFILE=0
|
||||||
|
GENERATE_ARGS="hostids"
|
||||||
|
|
||||||
|
if [ $# -gt 0 ]; then
|
||||||
|
case $1 in
|
||||||
|
"hostids")
|
||||||
|
|
||||||
|
if [ $# -gt 1 ]; then
|
||||||
|
shift
|
||||||
|
if [ $1 = "--save" ]; then
|
||||||
|
SAVEFILE=1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Generate random host IDs
|
||||||
|
HOSTID=$(head -c20 < /dev/urandom | xxd -c 20 -p)
|
||||||
|
HOSTID2=$(head -c32 < /dev/urandom | xxd -c 32 -p)
|
||||||
|
|
||||||
|
${ECHOCMD} "Generated host identifiers"
|
||||||
|
${ECHOCMD} "- hostid: ${HOSTID}"
|
||||||
|
${ECHOCMD} "- hostid2: ${HOSTID2}"
|
||||||
|
|
||||||
|
if [ ${SAVEFILE} -eq 1 ]; then
|
||||||
|
FILE="${ROOTDIR}etc/lynis/hostids"
|
||||||
|
if [ -f ${FILE} ]; then
|
||||||
|
${ECHOCMD} "Error: hostids file already exists (${FILE})"
|
||||||
|
${ECHOCMD} "Remove the file first and rerun command"
|
||||||
|
ExitFatal
|
||||||
|
else
|
||||||
|
OUTPUT=$(touch ${FILE} 2> /dev/null)
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
${ECHOCMD} "Created hostids file (${FILE})"
|
||||||
|
echo "# generated using 'lynis generate hostids --save'" > ${FILE}
|
||||||
|
echo "hostid=${HOSTID}" >> ${FILE}
|
||||||
|
echo "hostid2=${HOSTID2}" >> ${FILE}
|
||||||
|
else
|
||||||
|
ExitFatal "Error: could not created hostids file (${FILE}). Issue with permissions?"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
ExitClean
|
||||||
|
;;
|
||||||
|
*) ${ECHOCMD} "Unknown argument '${RED}$1${NORMAL}' for lynis generate" ;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
${ECHOCMD} "\n ${WHITE}Provide an additional argument${NORMAL}\n\n"
|
||||||
|
for ITEM in ${GENERATE_ARGS}; do
|
||||||
|
${ECHOCMD} " lynis generate ${BROWN}${ITEM}${NORMAL}"
|
||||||
|
done
|
||||||
|
${ECHOCMD} "\n"
|
||||||
|
${ECHOCMD} ""
|
||||||
|
${ECHOCMD} "Extended help about the generate command can be provided with: $0 show commands generate"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
ExitClean
|
||||||
|
|
||||||
|
# The End
|
@ -94,6 +94,17 @@ AUDIT_HELP="
|
|||||||
|
|
||||||
"
|
"
|
||||||
|
|
||||||
|
GENERATE_ARGS="( --save )"
|
||||||
|
GENERATE_HELP="
|
||||||
|
Generate random value for hostid and hostid2
|
||||||
|
${WHITE}lynis generate hostids${NORMAL}
|
||||||
|
|
||||||
|
Generate and save values
|
||||||
|
${WHITE}lynis generate hostids --save${NORMAL}
|
||||||
|
|
||||||
|
"
|
||||||
|
|
||||||
|
|
||||||
UPDATE_ARGS="check info"
|
UPDATE_ARGS="check info"
|
||||||
UPDATE_HELP="
|
UPDATE_HELP="
|
||||||
${CYAN}update info${NORMAL}
|
${CYAN}update info${NORMAL}
|
||||||
@ -274,6 +285,7 @@ if [ $# -gt 0 ]; then
|
|||||||
shift
|
shift
|
||||||
case $1 in
|
case $1 in
|
||||||
"audit") ${ECHOCMD} "${AUDIT_HELP}" ;;
|
"audit") ${ECHOCMD} "${AUDIT_HELP}" ;;
|
||||||
|
"generate") ${ECHOCMD} "${GENERATE_HELP}" ;;
|
||||||
"show") ${ECHOCMD} "${SHOW_HELP}" ;;
|
"show") ${ECHOCMD} "${SHOW_HELP}" ;;
|
||||||
"update") ${ECHOCMD} "${UPDATE_HELP}" ;;
|
"update") ${ECHOCMD} "${UPDATE_HELP}" ;;
|
||||||
"upload-only") ${ECHOCMD} "${UPLOAD_ONLY_HELP}" ;;
|
"upload-only") ${ECHOCMD} "${UPLOAD_ONLY_HELP}" ;;
|
||||||
|
@ -111,6 +111,24 @@
|
|||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
# Generate data
|
||||||
|
generate)
|
||||||
|
CHECK_BINARIES=0
|
||||||
|
HELPER="generate"
|
||||||
|
LOGTEXT=0
|
||||||
|
QUIET=1
|
||||||
|
RUN_HELPERS=1
|
||||||
|
RUN_TESTS=0
|
||||||
|
RUN_UPDATE_CHECK=0
|
||||||
|
SKIP_GETHOSTID=1
|
||||||
|
SKIP_PLUGINS=1
|
||||||
|
SKIP_VM_DETECTION=1
|
||||||
|
SHOW_PROGRAM_DETAILS=0
|
||||||
|
SHOW_TOOL_TIPS=0
|
||||||
|
shift; HELPER_PARAMS="$@"
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
|
||||||
# Show Lynis details
|
# Show Lynis details
|
||||||
show)
|
show)
|
||||||
CHECK_BINARIES=0
|
CHECK_BINARIES=0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user