Envoyé par unreal
Une version améliorée du script précédent qui utilise la commande file pour déterminer le type d'un fichier, quelle que soit son extension. L'idée ici étant de notifier l'administrateur quand il existe des fichiers exécutables (bash, perl, binaire...) dans /tmp. Cette version sauvegarde aussi la notification précédente pour ne pas envoyer plusieurs fois la même notification.
Il est conseillé de lire cette page qui explique le pourquoi de ce script.
La ligne en gras sera certainement à modifier.
Il est conseillé de lire cette page qui explique le pourquoi de ce script.
La ligne en gras sera certainement à modifier.
#!/bin/bash
##################################################
TMP=/tmp
CACHE_FILE=/tmp/check_tmp_folder.txt
MAIL_TO="root@localhost"
MAIL_SUBJ="Suspicious temp files."
##################################################
cd $TMP
FOUND=`find . -type f \! -user root | sort`
for ONE_FILE in $FOUND; do
if [ "`file $ONE_FILE | grep executable`" ]; then
# We've found an executable file that probably shouldn't be there.
RES=`echo -e "$RES\n$ONE_FILE"`
fi
done
# Create a cache file if required.
if [ ! -f $CACHE_FILE ]; then
touch $CACHE_FILE
fi
# Don't send the same reports over, and over again.
if [ "`cat $CACHE_FILE`" == "$RES" ]; then
RES=""
else
echo "$RES" > $CACHE_FILE
fi
# Send warning e-mail?
if [ "$RES" != "" ]; then
RES=`echo -e "Some suspicious files were found in $TMP folder:\n\n$RES"`
echo "$RES" | mail -s "$MAIL_SUBJ" "$MAIL_TO"
fi
##################################################
TMP=/tmp
CACHE_FILE=/tmp/check_tmp_folder.txt
MAIL_TO="root@localhost"
MAIL_SUBJ="Suspicious temp files."
##################################################
cd $TMP
FOUND=`find . -type f \! -user root | sort`
for ONE_FILE in $FOUND; do
if [ "`file $ONE_FILE | grep executable`" ]; then
# We've found an executable file that probably shouldn't be there.
RES=`echo -e "$RES\n$ONE_FILE"`
fi
done
# Create a cache file if required.
if [ ! -f $CACHE_FILE ]; then
touch $CACHE_FILE
fi
# Don't send the same reports over, and over again.
if [ "`cat $CACHE_FILE`" == "$RES" ]; then
RES=""
else
echo "$RES" > $CACHE_FILE
fi
# Send warning e-mail?
if [ "$RES" != "" ]; then
RES=`echo -e "Some suspicious files were found in $TMP folder:\n\n$RES"`
echo "$RES" | mail -s "$MAIL_SUBJ" "$MAIL_TO"
fi
Posté le 21/03/07 à 10:39