Restreindre les événements de performance
Seuls les administrateurs peuvent observer tout le système. Ce que font le processeur et le noyau reste mesurable pour vos propres programmes, mais un de vos programmes ne peut plus atteindre la machinerie de mesure du noyau.
Pourquoi il compte
L’interface des événements de performance laisse les programmes mesurer ce que font le processeur et le noyau. Elle met une grande quantité de code du noyau à la portée des utilisateurs ordinaires, et a connu de nombreuses vulnérabilités. La resserrer réduit ce qu’une attaquante locale peut toucher.
Comment il fonctionne
Met kernel.perf_event_paranoid à 2. D’après la documentation du noyau, les utilisateurs sans CAP_PERFMON ne peuvent plus profiler le noyau, ni utiliser les tracepoints bruts ou les événements de toute la CPU, mais mesurent toujours leurs propres programmes en espace utilisateur. Certaines distributions ajoutent des niveaux plus stricts.
À qui il s'adresse
Bien pour les ordinateurs de bureau et serveurs où personne ne profile de code. beaucoup de distributions utilisent déjà 2 ou plus. Les développeurs qui emploient perf sur le noyau ou sur tout le système doivent laisser tel quel, ou utiliser sudo.
Ce que vous pouvez remarquer
perf record pour des échantillons du noyau ou du système échoue avec un message qui mentionne perf_event_paranoid. Profiler votre propre programme en espace utilisateur fonctionne en général encore au niveau 2.
Le vérifier sur votre ordinateur
Lire la valeur actuelle :
sysctl kernel.perf_event_paranoid Une valeur plus stricte que celle-ci convient aussi.
L'appliquer à la main
La définir maintenant (jusqu'au prochain redémarrage) :
sudo sysctl -w kernel.perf_event_paranoid=2 La conserver après les redémarrages, dans un fichier qui vous appartient :
sudo tee /etc/sysctl.d/90-kernel-perf-events.conf <<'EOF'
kernel.perf_event_paranoid = 2
EOF
sudo sysctl --system L'annuler
Supprimez le fichier et redémarrez, ou remettez l'ancienne valeur avec sysctl -w.
Réglages liés
Sources
- Linux Hardening Guide (madaidans)
- 2.2.1
- Linux kernel documentation
- kernel.perf_event_paranoid