Question :Dans certains scénarios où l'on soupçonne que les fichiers du système à partir d'une installation rpm ont été altérés, modifiés ou falsifiés. Par exemple, le système a été piraté et un fichier binaire de ssh a été falsifié. Comment vérifier si des modifications y ont été apportées en comparant depuis l'installation ?
Pour vérifier et contrôler si les fichiers installés sur un système avec rpm ou yum ont été modifiés depuis l'installation à l'aide de la commande suivante :
# rpm -V [PACKAGE_NAME]
Si vous avez l'un des fichiers modifiés dans le rpm depuis l'installation, il sera répertorié dans la sortie des commandes ci-dessus. Chaque ligne commencera par un drapeau spécifique indiquant la modification. La signification de chaque drapeau est mentionnée dans le tableau ci-dessous :
Indicateur | Signification |
---|---|
S | La taille du fichier diffère |
M | Le mode diffère (inclut les autorisations et le type de fichier) |
5 | La somme MD5 diffère |
D | Non-concordance des numéros majeurs/mineurs de l'appareil |
L | incompatibilité de chemin readLink(2) |
U | La propriété de l'utilisateur diffère |
G | La propriété du groupe diffère |
T | mTime diffère |
Exemple
1. Il y a un soupçon que le serveur SSH a été falsifié. Alors commençons par vérifier le rpm qui distribue le fichier :
# yum provides */sshd openssh-server
Donc openssh-server est le rpm qui fournit les binaires ssh dans le système.
2. Ensuite, vérifiez s'il y a des modifications dans les fichiers fournis par openssh-server rpm :
# rpm -V openssh-server
Si l'un des fichiers était falsifié, il serait répertorié dans la sortie de la commande ci-dessus. Quelque chose de similaire à ci-dessous :
S.5....T. /usr/sbin/sshd
Le falg ici signifie que le fichier binaire du serveur SSH a été falsifié :
S file Size differs 5 MD5 sum differs T mTime differs
Le fichier a une taille, une somme de contrôle MD5 et un horodatage de modification différents de celui distribué avec le RPM.
3. Ici, nous pouvons essayer de réinstaller le package en utilisant yum pour obtenir les fichiers distribués d'origine à partir des référentiels :
# yum reinstall openssh-server
Dans ce cas particulier, par exemple. le serveur SSH doit être redémarré.
# service sshd restart
Pour les distributions basées sur systemd, utilisez systemctl pour redémarrer le service :
# systemctl restart sshd