/usr/share/lynis/include
NameSizeModeActions
binaries394760644editdlrm
consts108980644editdlrm
data_upload137880644editdlrm
functions1632410644editdlrm
helper_audit_dockerfile80000644editdlrm
helper_configure37480644editdlrm
helper_generate75570644editdlrm
helper_show228200644editdlrm
helper_system_remote_scan36200644editdlrm
helper_update36710644editdlrm
osdetection485700644editdlrm
parameters168740644editdlrm
profiles275400644editdlrm
report189150644editdlrm
tests_accounting258520644editdlrm
tests_authentication860630644editdlrm
tests_banners85620644editdlrm
tests_boot_services560340644editdlrm
tests_containers114390644editdlrm
tests_crypto194560644editdlrm
tests_custom.template69420644editdlrm
tests_databases248630644editdlrm
tests_dns34670644editdlrm
tests_filesystems509950644editdlrm
tests_file_integrity227140644editdlrm
tests_file_permissions31850644editdlrm
tests_firewalls322700644editdlrm
tests_hardening71870644editdlrm
tests_homedirs93920644editdlrm
tests_insecure_services275280644editdlrm
tests_kerberos80630644editdlrm
tests_kernel614030644editdlrm
tests_kernel_hardening57520644editdlrm
tests_ldap40550644editdlrm
tests_logging337260644editdlrm
tests_mac_frameworks150670644editdlrm
tests_mail_messaging219670644editdlrm
tests_malware211010644editdlrm
tests_memory_processes73340644editdlrm
tests_nameservices353610644editdlrm
tests_networking417050644editdlrm
tests_php297720644editdlrm
tests_ports_packages836920644editdlrm
tests_printers_spoolers141880644editdlrm
tests_scheduling161310644editdlrm
tests_shells136430644editdlrm
tests_snmp42730644editdlrm
tests_squid171560644editdlrm
tests_ssh180260644editdlrm
tests_storage36800644editdlrm
tests_storage_nfs86030644editdlrm
tests_system_integrity20980644editdlrm
tests_time334130644editdlrm
tests_tooling226240644editdlrm
tests_usb215540644editdlrm
tests_virtualization19920644editdlrm
tests_webservers339770644editdlrm
tool_tips22050644editdlrm
Edit: /usr/share/lynis/include/tests_memory_processes (7334B)
#!/bin/sh ################################################################################# # # Lynis # ------------------ # # Copyright (c) Michael Boelen, CISOfy, and many contributors. # # Website : https://cisofy.com # Blog : https://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. # ################################################################################# # # Memory and processes # ################################################################################# # InsertSection "${SECTION_MEMORY_AND_PROCESSES}" # ################################################################################# # # Test : PROC-3602 # Description : Query /proc/meminfo Register --test-no PROC-3602 --os Linux --weight L --network NO --category security --description "Checking /proc/meminfo for memory details" if [ ${SKIPTEST} -eq 0 ]; then if [ -f ${ROOTDIR}proc/meminfo ]; then LogText "Result: found ${ROOTDIR}proc/meminfo" Display --indent 2 --text "- Checking ${ROOTDIR}proc/meminfo" --result "${STATUS_FOUND}" --color GREEN FIND=$(${AWKBINARY} '/^MemTotal/ { print $2, $3 }' ${ROOTDIR}proc/meminfo) MEMORY_SIZE=$(echo ${FIND} | ${AWKBINARY} '{ print $1 }') MEMORY_UNITS=$(echo ${FIND} | ${AWKBINARY} '{ print $2 }') LogText "Result: Found ${MEMORY_SIZE} ${MEMORY_UNITS} memory" Report "memory_size=${MEMORY_SIZE}" Report "memory_units=${MEMORY_UNITS}" else LogText "Result: ${ROOTDIR}proc/meminfo file not found on this system" fi fi # ################################################################################# # # Test : PROC-3604 # Description : Query /proc/meminfo # Notes : TODO - prtconf replacement Register --test-no PROC-3604 --os Solaris --weight L --network NO --category security --description "Query prtconf for memory details" if [ ${SKIPTEST} -eq 0 ]; then LogText "Test: Searching /usr/sbin/prtconf" if [ -x /usr/sbin/prtconf ]; then Display --indent 2 --text "- Querying prtconf for installed memory" --result "${STATUS_DONE}" --color GREEN MEMORY_SIZE=$(/usr/sbin/prtconf | ${GREPBINARY} "^Memory size:" | ${CUTBINARY} -d ' ' -f3) MEMORY_UNITS=$(/usr/sbin/prtconf | ${GREPBINARY} "^Memory size:" | ${CUTBINARY} -d ' ' -f4) LogText "Result: Found ${MEMORY_SIZE} ${MEMORY_UNITS} memory" Report "memory_size=${MEMORY_SIZE}" Report "memory_units=${MEMORY_UNITS}" else Display --indent 2 --text "- Querying prtconf for installed memory" --result "${STATUS_SKIPPED}" --color WHITE LogText "Result: /usr/sbin/prtconf not found" fi fi # ################################################################################# # # Test : PROC-3612 # Description : Searching for dead and zombie processes # Notes : Don't perform test on Solaris if [ ! "${OS}" = "Solaris" ]; then PREQS_MET="YES"; else PREQS_MET="NO"; fi Register --test-no PROC-3612 --preqs-met ${PREQS_MET} --weight L --network NO --category security --description "Check dead or zombie processes" if [ ${SKIPTEST} -eq 0 ]; then if [ "${OS}" = "AIX" ]; then FIND=$(${PSBINARY} -Ae -o pid,stat,comm | ${AWKBINARY} '{ if ($2 ~ /Z|X/) print $1 }' | ${XARGSBINARY}) else FIND=$(${PSBINARY} x -o pid,stat,comm | ${AWKBINARY} '{ if ($2 ~ /Z|X/) print $1 }' | ${XARGSBINARY}) fi if [ -z "${FIND}" ]; then LogText "Result: no zombie processes found" Display --indent 2 --text "- Searching for dead/zombie processes" --result "${STATUS_NOT_FOUND}" --color GREEN else LogText "Result: found one or more dead or zombie processes" LogText "Output: PIDs ${FIND}" Display --indent 2 --text "- Searching for dead/zombie processes" --result "${STATUS_FOUND}" --color RED ReportSuggestion "${TEST_NO}" "Check the output of ps for dead or zombie processes" fi fi # ################################################################################# # # Test : PROC-3614 # Description : Searching for heavy IO based waiting processes # Notes : Don't perform test on Solaris if [ ! "${OS}" = "Solaris" ]; then PREQS_MET="YES"; else PREQS_MET="NO"; fi Register --test-no PROC-3614 --preqs-met ${PREQS_MET} --weight L --network NO --category security --description "Check heavy IO waiting based processes" if [ ${SKIPTEST} -eq 0 ]; then if [ "${OS}" = "AIX" ]; then FIND=$(${PSBINARY} -Ae -o pid,stat,comm | ${AWKBINARY} '{ if ($2=="D") print $1 }' | ${XARGSBINARY}) else FIND=$(${PSBINARY} x -o pid,stat,comm | ${AWKBINARY} '{ if ($2=="D") print $1 }' | ${XARGSBINARY}) fi if [ -z "${FIND}" ]; then LogText "Result: No processes were waiting for IO requests to be handled first" Display --indent 2 --text "- Searching for IO waiting processes" --result "${STATUS_NOT_FOUND}" --color GREEN else LogText "Result: found one or more processes which were waiting to get IO requests handled first" LogText "More info: processes which show up with the status flag 'D' are often stuck, until a disk IO event finished. This can happen for example with network storage, where the connection or protocol settings are not logtext well configured." LogText "Output: PIDs ${FIND}" Display --indent 2 --text "- Searching for IO waiting processes" --result "${STATUS_FOUND}" --color RED ReportSuggestion "${TEST_NO}" "Check process listing for processes waiting for IO requests" fi fi # ################################################################################# # # Test : PROC-3802 # Description : Check presence of prelink tooling Register --test-no PROC-3802 --package-manager-required --os Linux --weight L --network NO --category security --description "Check presence of prelink tooling" if [ ${SKIPTEST} -eq 0 ]; then if PackageIsInstalled "prelink"; then LogText "Result: prelink packages is installed" # TODO # - Add item to website with rationale #ReportSuggestion "${TEST_NO}" "Disable and remove prelinking of binaries" AddHP 1 3 Display --indent 2 --text "- Search prelink tooling" --result "${STATUS_FOUND}" --color YELLOW else Display --indent 2 --text "- Search prelink tooling" --result "${STATUS_NOT_FOUND}" --color GREEN LogText "Result: prelink package is NOT installed" AddHP 3 3 fi fi # ################################################################################# # WaitForKeyPress # #================================================================================ # Lynis - Security Auditing and System Hardening for Linux and UNIX - https://cisofy.com