diff options
author | mboelen <michael@cisofy.com> | 2014-08-26 19:33:55 +0400 |
---|---|---|
committer | mboelen <michael@cisofy.com> | 2014-08-26 19:33:55 +0400 |
commit | c0ae2e217b7f1fb0171017ce5afb8eb8898470db (patch) | |
tree | 545aa150c35c5fb74d7bb4c2d3b0ae41cfa7b4e5 /include/tests_homedirs |
Initial import
Diffstat (limited to 'include/tests_homedirs')
-rw-r--r-- | include/tests_homedirs | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/include/tests_homedirs b/include/tests_homedirs new file mode 100644 index 00000000..0ec1cad1 --- /dev/null +++ b/include/tests_homedirs @@ -0,0 +1,125 @@ +#!/bin/sh + +################################################################################# +# +# Lynis +# ------------------ +# +# Copyright 2007-2014, Michael Boelen (michael@rootkit.nl), The Netherlands +# Web site: http://www.rootkit.nl +# +# 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. +# +################################################################################# +# +# Home directories +# +################################################################################# +# + InsertSection "Home directories" +# +################################################################################# +# + # Ignore some top level directories (not the sub directories below) + IGNORE_HOME_DIRS="/bin /boot /cdrom /dev /etc /home /lib /lib64 /media /mnt + /opt /proc /sbin /selinux /srv /sys /tmp /usr /var" + +# +################################################################################# +# + + # Test : HOME-9302 + # Description : Create list with home directories + Register --test-no HOME-9302 --weight L --network NO --description "Create list with home directories" + if [ ${SKIPTEST} -eq 0 ]; then + # Read sixth field of /etc/passwd + logtext "Test: query /etc/passwd to obtain home directories" + FIND=`${AWKBINARY} -F: '{ if ($1 !~ "#") print $6 }' /etc/passwd | sort | uniq` + for I in ${FIND}; do + if [ -d ${I} ]; then + logtext "Result: found home directory: ${I} (directory exists)" + report "home_directory[]=${I}" + else + logtext "Result: found home directory: ${I} (directory does not exist)" + fi + done + fi +# +################################################################################# +# + # Test : HOME-9310 + # Description : Check for suspicious shell history files + Register --test-no HOME-9310 --weight L --network NO --description "Checking for suspicious shell history files" + if [ ${SKIPTEST} -eq 0 ]; then + if [ ! "${HOMEDIRS}" = "" ]; then + if [ "${OS}" = "Solaris" ]; then + # Solaris doesn't support -maxdepth + FIND=`find ${HOMEDIRS} -name ".*history" -not -type f -print` + else + FIND=`find ${HOMEDIRS} -maxdepth 1 -name ".*history" -not -type f -print` + fi + if [ "${FIND}" = "" ]; then + Display --indent 2 --text "- Checking shell history files... " --result OK --color GREEN + logtext "Result: Ok, history files are type 'file'." + else + Display --indent 2 --text "- Checking shell history files... " --result WARNING --color RED + logtext "Result: the following files seem to be of the wrong file type:" + logtext "Output: ${FIND}" + logtext "Info: above files could be redirected files to avoid logging and should be investigated" + ReportWarning ${TEST_NO} "M" "Incorrect file type found for shell history file" + fi + logtext "Remarks: ${HOME_HISTORY_LOG_TEXT}" + else + Display --indent 2 --text "- Checking shell history files... " --result SKIPPED --color WHITE + logtext "Result: Homedirs is empty, test will be skipped" + fi + fi +# +################################################################################# +# + # Test : HOME-9314 + # Description : Check if non local paths are found in PATH, which can be a risk, but also bad for performance + # (like searching on a filer, instead of local disk) + #Register --test-no HOME-9314 --weight L --network NO --description "Create list with home directories" +# +################################################################################# +# + # Test : HOME-9350 + # Description : Scan home directories for specific files, used in different tests later + # Notes : For performance reasons we combine the scanning of different files, so inode caching is used + # as much as possible for every find command + # Profile opt : ignore_home_dir (multiple lines allowed), ignores home directory + if [ ! "${REPORTFILE}" = "" ]; then PREQS_MET="YES"; else PREQS_MET="NO"; fi + Register --test-no HOME-9350 --preqs-met ${PREQS_MET} --weight L --network NO --description "Collecting information from home directories" + if [ ${SKIPTEST} -eq 0 ]; then + IGNORE_HOME_DIRS=`grep "^config:ignore_home_dir:" ${PROFILE} | awk -F: '{ print $3 }'` + if [ "${IGNORE_HOME_DIRS}" = "" ]; then + logtext "Result: IGNORE_HOME_DIRS empty, no paths excluded" + else + logtext "Output: ${IGNORE_HOME_DIRS}" + fi + fi + + #YYY + #echo -n " - Checking PATH variable vulnerabilities... " + # + #FIND=`find ${HOMEDIRS} -name * | grep -r 'PATH=' | egrep '=.:|:.:|:.;' | grep -v 'CDPATH'` + #if [ "${FIND}" = "" ] + # then + # logtext "Result: Ok, no special things found in the PATH variable" + # else + # echo "[ ${WARNING}WARNING${NORMAL} ]" + # logtext "Warning: Probably found \".\" in the PATH. Details: ${FIND}" + #fi + # +# +################################################################################# +# + +wait_for_keypress + +# +#================================================================================ +# Lynis - Copyright 2007-2014, Michael Boelen - www.rootkit.nl - The Netherlands |