#!/bin/bash #################Prérequis = création d'un utilisateur simple, mdp pour root cd apt update && apt upgrade -y clear #################Restreindre l'accès à /boot chmod 770 /boot #################Récupérer les utilisateurs cut -d ':' -f 1 /etc/passwd sleep 5 echo "Quel utilisateur voulez vous bloquer ?" read block #################Verrouillage d'un compte usermod -L -e 1 ${block} ################# Désactivation du shell de login usermod -s /bin/false ${block} clear echo "utilisateur bloqué" sleep 3 clear #################Auditd echo "Installation de auditd" sleep 2 apt install auditd -y clear echo "Création des règles de surveillance de process" sleep 3 clear echo "# Exécution de insmod , rmmod et modprobe -w /sbin/insmod -p x -w /sbin/modprobe -p x -w /sbin/rmmod -p x # Sur les distributions GNU/Linux récentes , insmod , rmmod et modprobe sont # des liens symboliques de kmod -w /bin/kmod -p x # Journaliser les modifications dans /etc/ -w /etc/ -p wa # Surveillance de montage/démontage -a exit ,always -S mount -S umount2 # Appels de syscalls x86 suspects -a exit ,always -S ioperm -S modify_ldt # Appels de syscalls qui doivent être rares et surveillés de près -a exit ,always -S get_kernel_syms -S ptrace -a exit ,always -S prctl # Rajout du monitoring pour la création ou suppression de fichiers # Ces règles peuvent avoir des conséquences importantes sur les # performances du système -a exit ,always -F arch=b64 -S unlink -S rmdir -S rename -a exit ,always -F arch=b64 -S creat -S open -S openat -F exit=-EACCES -a exit ,always -F arch=b64 -S truncate -S ftruncate -F exit=-EACCES # Rajout du monitoring pour le chargement , le changement et # le déchargement de module noyau -a exit ,always -F arch=b64 -S init_module -S delete_module -a exit ,always -F arch=b64 -S finit_module # Verrouillage de la configuration de auditd -e 2" >> /etc/audit/audit.rules systemctl restart auditd clear echo "gestion de umask" sleep 2 clear #################Gestion des droits umask (droits par défaut pour les fichiers créés) umask 0027 clear #################Gestion des droits pour les machines connues via ssh file=/home/$USER/.ssh/known_hosts if ${file} = ${file} -e then chmod 700 ${file} fi #################Liste les fichiers ouverts avec sudo lsof | grep sudo sleep 5 echo "assurez vous d'avoir un mot de passe sur l'utilisateur root avant de poursuivre les opérations" sleep 10 clear #################gestion des droits (setuid) find / -type f -perm /6000 -ls 2>/dev/null | awk '{print $11}' > setgidfile.txt while read entry; do chmod u-s ${entry} done > /etc/fail2ban/jail.local clear #################Rkhunter(contre les rootkit) echo "Installation de Rkhunter" sleep 3 clear apt install rkhunter rkhunter --update echo "UPDATE_MIRRORS=1" >> /etc/rkhunter.conf echo "USE_SYSLOG=authpriv.novice" >> /etc/rkhunter.conf clear rkhunter --check --skip-keypress echo "0 3 * * * /usr/bin/rkhunter --check --cronjob --report-warnings-only" >> /etc/crontab rkhunter -c clear