📦 Как проверить, был ли какой-либо из файлов RPM добавлен или изменен – Information Security Squad
📦 Как проверить, был ли какой-либо из файлов RPM добавлен или изменен

Вопрос: В некоторых случаях есть подозрение, что файлы в системе после установки rpm были изменены или подделаны.

Например, система была взломана и бинарный файл ssh подделан.

Как проверить, внесены ли в него изменения, сравнивая с момента установки?

Чтобы проверить это, изменились ли файлы, установленные в системе с rpm или yum, с момента установки, используйте следующую команду:

# rpm -V [PACKAGE_NAME]
Если у вас есть какие-либо файлы, измененные в rpm с момента установки, он будет указан в выводе вышеуказанной команды.
Каждая строка будет начинаться с определенного флага, указывающего на изменение.
Значение каждого флага указано в таблице ниже:
ФЛАГ ЗНАЧЕНИЕ
S Размер файла отличается
M
Режим отличается (включая разрешения и тип файла)
5
Сумма MD5 отличается
D
Несоответствие старшего / младшего номера устройства
L readLink (2) несоответствие пути
U
Право собственности пользователей отличается
G
Групповое владение отличается
T Разница во времени

Пример

1. Есть подозрение, что SSH-сервер был взломан.

Итак, давайте сначала проверим rpm, по которому распространяется файл:

# yum provides */sshd
openssh-server

Итак, openssh-server – это rpm, который предоставляет бинарные файлы ssh в нашей системе.

2. Затем проверьте наличие изменений в файлах, предоставленных openssh-server rpm:

# rpm -V openssh-server
Если какой-либо файл был изменен, он будет указан в выводе команды выше.
Что-то подобное типа:
S.5....T. /usr/sbin/sshd
Здесь флаги означают, что двоичный файл SSH-сервера был изменен:
S Размер файла отличается
5 Сумма MD5 отличается
T Разница во времени

Этот файл имеет другой размер, контрольную сумму MD5 и метку времени модификации, чем тот, который распространяется вместе с RPM.

3. Теперь мы можем попробовать переустановить пакет с помощью yum, чтобы получить исходные распространяемые файлы из репозиториев:

# yum reinstall openssh-server

В частности, например. необходимо перезапустить SSH-сервер.

# service sshd restart

Для дистрибутивов на основе systemd используйте systemctl для перезапуска службы:

# systemctl restart sshd

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *