Aller au contenu

Image mémoire (core dump)

Image mémoire (en anglais core dump) : fichier que le noyau écrit quand un processus se termine sur certains signaux (SIGSEGV, SIGABRT, SIGQUIT...), et qui contient l'état de sa mémoire et de ses registres à cet instant. Un débogueur comme gdb s'en sert pour retrouver où et pourquoi le programme a planté.

Trois réglages décident de son sort. La limite de ressources RLIMIT_CORE (ulimit -c, LimitCORE= dans une unité systemd, ligne core de /etc/security/limits.conf) fixe sa taille maximale ; à 0, aucune image n'est écrite. Le paramètre /proc/sys/kernel/core_pattern dit où elle va : un nom de fichier, ou un programme qui la reçoit sur son entrée standard, comme systemd-coredump, qui la range sous /var/lib/systemd/coredump/ et la rend consultable par coredumpctl list. Enfin fs.suid_dumpable décide du cas des programmes setuid.

L'angle sécurité est direct : une image mémoire contient tout ce que le processus avait en mémoire, jetons, mots de passe de base de données, données personnelles. Sur un serveur de production, on choisit explicitement : LimitCORE=0 pour les services qui manipulent des secrets, ou une collecte maîtrisée avec rétention courte, et fs.suid_dumpable = 0 pour qu'un programme setuid qui plante ne laisse pas de données privilégiées lisibles.

Dans les cours

Voir aussi