GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo verificar si alguno de los archivos RPM fue manipulado

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


Cent OS
  1. Conceptos básicos de Linux:cómo descargar archivos en el Shell con Wget

  2. Cómo buscar archivos grandes en la consola

  3. ¿Cómo mover archivos y ver el progreso (por ejemplo, con una barra de progreso)?

  4. ¿Cómo extraigo el contenido de un rpm?

  5. ¿Cómo cambio el nombre de los archivos con espacios usando el shell de Linux?

Cómo consultar información de paquetes con el administrador de paquetes rpm

Cómo instalar archivos RPM (paquetes) en CentOS Linux

Cómo usar el comando RPM (con ejemplos)

Cómo verificar la dirección IP en Ubuntu

Cómo encontrar archivos con el comando fd en Linux

Cómo encontrar archivos con docenas de criterios con el comando Bash Find