GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come verificare se uno qualsiasi dei file RPM è stato manomesso

Domanda :In alcuni scenari si sospetta che i file nel sistema da un'installazione di rpm siano stati alterati, modificati o manomessi. Ad esempio, il sistema è stato violato e un file binario di ssh è stato manomesso. Come verificare se sono state apportate modifiche su di esso confrontandolo dall'installazione?

Per verificare e verificare se i file installati su un sistema con rpm o yum sono stati modificati dall'installazione utilizzando il seguente comando:

# rpm -V [PACKAGE_NAME]

Se uno qualsiasi dei file è stato modificato in rpm dall'installazione, sarà elencato nell'output dei comandi sopra. Ogni riga inizierà con un flag specifico che indica l'alterazione. Il significato di ciascuna bandiera è menzionato nella tabella seguente:

Bandiera Significato
S La dimensione del file è diversa
M La modalità è diversa (include autorizzazioni e tipo di file)
5 La somma MD5 è diversa
D Mancata corrispondenza dei numeri principali/minori del dispositivo
L percorso readLink(2) non corrispondente
U La proprietà dell'utente è diversa
G La proprietà del gruppo è diversa
T mTime è diverso

Esempio

1. Si sospetta che il server SSH sia stato manomesso. Quindi controlliamo prima gli rpm che distribuiscono il file:

# yum provides */sshd
openssh-server

Quindi openssh-server è l'rpm che fornisce i binari ssh nel sistema.

2. Quindi, controlla eventuali alterazioni nei file forniti da openssh-server rpm:

# rpm -V openssh-server

Se uno qualsiasi dei file è stato manomesso, sarebbe elencato nell'output del comando precedente. Qualcosa di simile al seguente:

S.5....T. /usr/sbin/sshd

Il falgs qui significa che il file binario del server SSH è stato manomesso:

S file Size differs
5 MD5 sum differs
T mTime differs

Il file ha una dimensione, un checksum MD5 e un timestamp di modifica diversi da quello distribuito con l'RPM.

3. Qui possiamo provare a reinstallare il pacchetto usando yum per ottenere i file originali distribuiti dai repository:

# yum reinstall openssh-server

In questo particolare ad es. il server SSH deve essere riavviato.

# service sshd restart

Per le distribuzioni basate su systemd, utilizzare systemctl per riavviare il servizio:

# systemctl restart sshd


Cent OS
  1. Come trovare file in CentOS 8 sulla riga di comando

  2. Come verificare la presenza di file di grandi dimensioni nella console

  3. Come verificare se un pacchetto Ppa è stato manomesso?

  4. Come controllare HZ nel terminale?

  5. Come posso rinominare i file con spazi utilizzando la shell di Linux?

Come interrogare le informazioni sui pacchetti con il gestore pacchetti rpm

Come installare file RPM (pacchetti) su CentOS Linux

Come utilizzare il comando RPM (con esempi)

Come controllare l'indirizzo IP in Ubuntu

Come trovare file con il comando fd in Linux

Come trovare file con dozzine di criteri con il comando Trova Bash