Démarrage:
Note : Seule les risques critiques sont présents ici.
Pour sécuriser le démarrage on peut s’attaquer à Grub, un utilisateur peut démarrer un shell depuis grub avec un compte privilégié.
Le fichier principal de grub est situé ici :
/boot/grub2/grub.cfg.
Il récupère les différentes informations contenues dans le dossier /etc/grub.d.

On commence d’abord par changer les droits en 700 pour que seul le propriétaire ait les droits d’écritures et de lecture.
Le fichier 01_users contient les informations d’authentification qui protègent l’accès au shell de Grub. Son code permet la création d’un compte root avec mot de passe chiffré. On créer donc un utilisateur avec un mot de passe ainsi l’accès au shell sera sécurisé.
On peut aussi sécuriser au niveau du noyau Linux. IOMMU est un service permettant de protéger la mémoire contre des accès non contrôlés des périphériques système. Par défaut, Linux l’active ou non. Il est recommandé de forcer l’activation de ce service en passant une option supplémentaire lors du démarrage du noyau dans le fichier /etc/default/grub en ajoutant iommu=force à la fin de la ligne GRUB_CMDLINE_LINUX=
Il faut bloquer aussi l’accès aux consoles virtuelles, on y accède avec ctrl+alt+f1 à f7. Elles permettent d’accéder au compte root, pour régler ce problème il suffit de supprimer le contenu du fichier /etc/securetty afin d’empêcher la connexion root.
Il faut également bloquer les commandes ctrl + alt + sup qui permettent un redémarrage de la machine avec
ln -sf /dev/null /etc/systemd/system/ctrl-alt-del.target
On peut également bloquer le démarrage automatique des services inutiles au systèmes comme par exemple :
# Arrêt de l'instance courante systemctl stop postfix.service
Système:
Pour le cpu on peut obtenir des informations importantes avec la commande :
more /proc/cpuinfo
Il faut s’assurer que dans flags il y ait bien PAE et NX afin de garantir l’impossibilité de l’exécution d’instructions stockées dans les régions mémoire non autorisées.
exemple du fichier:

Au niveau des disques on vérifie déjà les partitions avec la commande :
fdisk -l
la commande nous permet de lister des détails sur une partition. Elle nous à quel groupe elle appartient et si elle est chiffrée.
blkid /dev/sda2
Une partition chiffrée à un type TYPE= »crypto_LUKS » et une non chiffrée à un type TYPE= »LVM2_member ». Il faut s’assurer que les partitions soient chiffrées.
Toujours dans les disques, un point important à vérifier est que le système de fichier et les composants soient dans une partition différente afin de ne pas créer de surcharge de la partition système pour éviter l’interruption de service.
On peut donc isoler le /boot /home etc.
On doit également vérifier le fstab afin de s’assurer des points de montage de disques exécutés au démarrage du système ainsi que les droits associés comme rw exec…
Pour les mots de passes on vérifie qu’ils sont en shadow qui est un fichié lisible uniquement par le root /etc/shadow pour vérifier on peut taper la commande :
grep shadow /etc/pam.d/*
######## retour ##############
/etc/pam.d/password-auth:password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
/etc/pam.d/password-auth-ac:password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
/etc/pam.d/system-auth:password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
/etc/pam.d/system-auth-ac:password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
Au niveau des utilisateurs il faut s’assurer qu’ils doivent changer leurs mots de passes régulièrement. Tout se passe avec la commande
chage
Accès Réseaux:
Pour le réseau le premier point par lequel commencé sont les ports. Plusieurs outils peuvent lister les ports ouverts comme net-tools avec la commande ss ou encore nmap. Il faut commencer par désactiver tous les services faisant des ouvertures de ports inutiles.
Il ne faut pas oublier de vérifier les firewall pour les connexions avec les ports utilisés. Vérifier le positionnement des règles pour éviter tout conflit.
Ensuite il faut configurer le ssh. D’abord il faut s’assurer qu’aucune connexion root directe soit possible donc il faut s’assurer que no soit renseigné:
nano /etc/ssh/sshd_config
PermitRootLogin no
Il faut aussi changer le port d’écoute du ssh par défaut le port est 22.