Pregunta :En algunos escenarios en los que se sospecha que los archivos en el sistema de una instalación de rpm han sido alterados, cambiados o alterados. Por ejemplo, el sistema fue pirateado y un archivo binario de ssh manipulado. ¿Cómo verificar si se realizaron cambios en él comparando desde la instalación?
Para verificar y verificar si los archivos instalados en un sistema con rpm o yum se alteraron desde la instalación, use el siguiente comando:
# rpm -V [PACKAGE_NAME]
Si tiene alguno de los archivos alterados en el rpm desde la instalación, aparecerá en la lista de salida de los comandos anteriores. Cada línea comenzará con una bandera específica que indica la alteración. El significado de cada bandera se menciona en la siguiente tabla:
Bandera | Significado |
---|---|
S | El tamaño del archivo difiere |
M | El modo difiere (incluye permisos y tipo de archivo) |
5 | La suma MD5 difiere |
D | Discordancia de número mayor/menor del dispositivo |
L | la ruta de readLink(2) no coincide |
T | La propiedad del usuario difiere |
G | La propiedad del grupo difiere |
T | mEl tiempo difiere |
Ejemplo
1. Existe la sospecha de que el servidor SSH ha sido manipulado. Entonces, primero verifiquemos el rpm que distribuye el archivo:
# yum provides */sshd openssh-server
Así que openssh-server es el rpm que proporciona los binarios ssh en el sistema.
2. A continuación, compruebe si hay alteraciones en los archivos proporcionados por openssh-server rpm:
# rpm -V openssh-server
Si se manipuló alguno de los archivos, se enumeraría en el resultado del comando anterior. Algo similar a lo siguiente:
S.5....T. /usr/sbin/sshd
Las fallas aquí significan que el archivo binario del servidor SSH ha sido manipulado:
S file Size differs 5 MD5 sum differs T mTime differs
El archivo tiene un tamaño, una suma de comprobación MD5 y una marca de tiempo de modificación diferentes a los que se distribuyen con el RPM.
3. Aquí podemos intentar reinstalar el paquete usando yum para obtener los archivos distribuidos originales de los repositorios:
# yum reinstall openssh-server
En este particular por ej. el servidor SSH debe reiniciarse.
# service sshd restart
Para distribuciones basadas en systemd, use systemctl para reiniciar el servicio:
# systemctl restart sshd