Add upload-only command

This commit is contained in:
Michael Boelen 2016-10-13 20:15:00 +02:00
parent 4da54cf95a
commit 063f50f39c
5 changed files with 41 additions and 5 deletions

View File

@ -77,6 +77,7 @@ unset LANG
CONTROL_URL_APPEND="" CONTROL_URL_APPEND=""
CONTROL_URL_PREPEND="" CONTROL_URL_PREPEND=""
CONTROL_URL_PROTOCOL="" CONTROL_URL_PROTOCOL=""
CREATE_REPORT_FILE=1
CSUMBINARY="" CSUMBINARY=""
CUSTOM_URL_APPEND="" CUSTOM_URL_APPEND=""
CUSTOM_URL_PREPEND="" CUSTOM_URL_PREPEND=""

View File

@ -87,7 +87,14 @@
# Check report file # Check report file
if [ -f ${REPORTFILE} ]; then if [ -f ${REPORTFILE} ]; then
Output "${WHITE}Report file found.${NORMAL} Starting with connectivity check.."
Output "${WHITE}Report file found.${NORMAL} Starting with content check."
FIND=$(${GREPBINARY} "finish=true" ${REPORTFILE})
if [ $? -gt 0 ]; then ExitFatal "The report is not complete, skipping upload"; fi
Output "${WHITE}Report file found.${NORMAL} Starting with connectivity check."
if [ ! "${UPLOAD_PROXY_SERVER}" = "" ]; then if [ ! "${UPLOAD_PROXY_SERVER}" = "" ]; then
LogText "Upload: Proxy is configured: ${UPLOAD_SERVER}" LogText "Upload: Proxy is configured: ${UPLOAD_SERVER}"
@ -208,6 +215,8 @@
# Try to connect # Try to connect
Output "Uploading data.." Output "Uploading data.."
LogText "Command used: ${CURLBINARY}${CURL_OPTIONS} -s -S --data-urlencode \"data@${REPORTFILE}\" --data-urlencode \"licensekey=${LICENSE_KEY}\" --data-urlencode \"hostid=${HOSTID}\" ${UPLOAD_URL}" LogText "Command used: ${CURLBINARY}${CURL_OPTIONS} -s -S --data-urlencode \"data@${REPORTFILE}\" --data-urlencode \"licensekey=${LICENSE_KEY}\" --data-urlencode \"hostid=${HOSTID}\" ${UPLOAD_URL}"
LogText "Tip: try running ${CURLBINARY}${CURL_OPTIONS} --data-urlencode \"data@${REPORTFILE}\" --data-urlencode \"licensekey=${LICENSE_KEY}\" --data-urlencode \"hostid=${HOSTID}\" ${UPLOAD_URL}
LogText "Tip: to just retry an upload, use: lynis upload-only"
UPLOAD=$(${CURLBINARY}${CURL_OPTIONS} -s -S --data-urlencode "data@${REPORTFILE}" --data-urlencode "licensekey=${LICENSE_KEY}" --data-urlencode "hostid=${HOSTID}" --data-urlencode "hostid2=${HOSTID2}" ${UPLOAD_URL} 2> /dev/null) UPLOAD=$(${CURLBINARY}${CURL_OPTIONS} -s -S --data-urlencode "data@${REPORTFILE}" --data-urlencode "licensekey=${LICENSE_KEY}" --data-urlencode "hostid=${HOSTID}" --data-urlencode "hostid2=${HOSTID2}" ${UPLOAD_URL} 2> /dev/null)
EXITCODE=$? EXITCODE=$?
LogText "Exit code: ${EXITCODE}" LogText "Exit code: ${EXITCODE}"
@ -233,6 +242,7 @@
fi fi
else else
echo "${RED}Error${NORMAL}: No hostid and/or hostid2 found. Can not upload report file." echo "${RED}Error${NORMAL}: No hostid and/or hostid2 found. Can not upload report file."
echo "Suggested command: lynis show hostids"
# Quit # Quit
ExitFatal ExitFatal
fi fi

View File

@ -28,7 +28,7 @@
# #
###################################################################### ######################################################################
COMMANDS="audit show update" COMMANDS="audit show update upload-only"
HELPERS="audit configure show update" HELPERS="audit configure show update"
OPTIONS="--auditor\n--check-all (-c)\n--config\n--cronjob (--cron)\n--debug\n--developer\n--help (-h)\n--license-key\n--log-file\n--manpage (--man)\n--no-colors --no-log\n--pentest\n--profile\n--plugins-dir\n--quiet (-q)\n--quick (-Q)\n--report-file\n--reverse-colors\n--tests\n--tests-from-category\n--tests-from-group\n--upload\n--verbose\n--version (-V)\n--wait" OPTIONS="--auditor\n--check-all (-c)\n--config\n--cronjob (--cron)\n--debug\n--developer\n--help (-h)\n--license-key\n--log-file\n--manpage (--man)\n--no-colors --no-log\n--pentest\n--profile\n--plugins-dir\n--quiet (-q)\n--quick (-Q)\n--report-file\n--reverse-colors\n--tests\n--tests-from-category\n--tests-from-group\n--upload\n--verbose\n--version (-V)\n--wait"
@ -104,6 +104,13 @@ UPDATE_HELP="
" "
UPLOAD_ONLY_HELP="
${CYAN}update-only${NORMAL}
Perform just a data upload
"
SHOW_SETTINGS_ARGS="--brief --configured-only --nocolors" SHOW_SETTINGS_ARGS="--brief --configured-only --nocolors"
SHOW_TESTS_ARGS="skipped" SHOW_TESTS_ARGS="skipped"
@ -244,8 +251,9 @@ if [ $# -gt 0 ]; then
"audit") ${ECHOCMD} "${AUDIT_HELP}" ;; "audit") ${ECHOCMD} "${AUDIT_HELP}" ;;
"show") ${ECHOCMD} "${SHOW_HELP}" ;; "show") ${ECHOCMD} "${SHOW_HELP}" ;;
"update") ${ECHOCMD} "${UPDATE_HELP}" ;; "update") ${ECHOCMD} "${UPDATE_HELP}" ;;
"upload-only") ${ECHOCMD} "${UPLOAD_ONLY_HELP}" ;;
"?") ${ECHOCMD} "${SHOW_ARGS}" ;; "?") ${ECHOCMD} "${SHOW_ARGS}" ;;
*) ${ECHOCMD} "Invalid argument provided for lynis show help" ;; *) ${ECHOCMD} "Unknown argument provided for lynis show help" ;;
esac esac
fi fi
;; ;;

View File

@ -151,6 +151,23 @@
fi fi
;; ;;
# Perform just the upload
"upload-only" | "only-upload")
CHECK_BINARIES=1
CREATE_REPORT_FILE=0
#QUIET=1
LOGTEXT=0
RUN_HELPERS=0
RUN_TESTS=0
RUN_UPDATE_CHECK=0
SKIP_PLUGINS=1
SHOW_REPORT=0
SHOW_TOOL_TIPS=0
SHOW_PROGRAM_DETAILS=0
UPLOAD_DATA=1
if [ $# -gt 1 ]; then echo "No other parameters or options are allowed when using 'upload-only' command"; ExitFatal; fi
;;
# Assign auditor to report # Assign auditor to report
--auditor) --auditor)
shift shift

4
lynis
View File

@ -29,7 +29,7 @@
# Version details # Version details
PROGRAM_RELEASE_DATE="2016-10-05" PROGRAM_RELEASE_DATE="2016-10-05"
PROGRAM_RELEASE_TIMESTAMP=1475653970 PROGRAM_RELEASE_TIMESTAMP=1476382458
PROGRAM_RELEASE_TYPE="dev" # dev or final PROGRAM_RELEASE_TYPE="dev" # dev or final
PROGRAM_VERSION="2.3.5" PROGRAM_VERSION="2.3.5"
@ -492,7 +492,7 @@ ${NORMAL}
LogText "### ${PROGRAM_COPYRIGHT} ###" LogText "### ${PROGRAM_COPYRIGHT} ###"
# Clear report file (to avoid appending to an existing file) # Clear report file (to avoid appending to an existing file)
echo "# ${PROGRAM_NAME} Report" > ${REPORTFILE} if [ ${CREATE_REPORT_FILE} -eq 1 ]; then echo "# ${PROGRAM_NAME} Report" > ${REPORTFILE}; fi
Report "report_version_major=${REPORT_version_major}" Report "report_version_major=${REPORT_version_major}"
Report "report_version_minor=${REPORT_version_minor}" Report "report_version_minor=${REPORT_version_minor}"
CDATE=`date "+%F %H:%M:%S"` CDATE=`date "+%F %H:%M:%S"`