podman-integrity#
Описание#
Команда podman-integrity служит для проверки целостности отдельных файлов, каталогов и образов контейнеров через расчет контрольных сумм по алгоритму SHA-256. В случае обнаружения нарушения целостности ведет запись в журнал аудита и возвращает код ошибки 51.
Синтаксис команды:
podman-integrity <command> <arguments>
Где:
<command>- действие, которое необходимо выполнить;<arguments>- аргументы.
Команды#
Часто используемые команды представлены в таблице ниже.
Команда |
Описание |
|---|---|
|
Принимать в качестве аргумента название/ID контейнера. Найти используемый контейнером образ для вычисления его контрольной сумму и записи в файл |
|
Принимать в качестве аргумента путь к файлу/каталогу. Записать подсчитанную контрольную сумму в расширенные атрибуты в поле |
|
Принимать в качестве аргумента путь к каталогу. Обработать его рекурсивно, записать контрольную сумму каждого найденного файла в поле |
|
Принимать в качестве аргумента название/ID образа контейнера. Вычислить его контрольную сумму и записать в файл |
|
Принимать в качестве аргумента название/ID контейнера. Найти используемый контейнером образ, вычислить его контрольную сумму и сравнить с записанной в файл |
|
Принимать в качестве аргумента путь к файлу/каталогу. Сравнить подсчитанную контрольную сумму с записанной в поле |
|
Принимать в качестве аргумента путь к каталогу. Рекурсивно обработать его, сравнить подсчитанную контрольную сумму каждого файла с записанной в поле |
|
Принимать в качестве аргумента название/ID образа контейнера. Вычислить его контрольную сумму и записать в файл |
Важно
При выполнении команд валидации если контрольные суммы совпадают — возвращается код 0; в противном случае возвращается код 51 и в log-файл аудита выводится ошибка 2156 (Integrity violation).
При выполнении команды validate_file_each происходит последовательная проверка контрольных сумм каждого файла в указанном каталоге. Если в ходе проверки вычисленная контрольная сумма отличается от записанной в расширенных атрибутах, то проверка целостности останавливается, а в log-файл аудита выводится ошибка 2156 (Integrity violation).
При вычислении контрольной суммы образа контейнера и проверке целостности образа контейнера командой предварительно выполняется его монтирование с помощью podman image mount <Image_ID>. Контрольная сумма вычисляется для cмонтированного каталога. После подсчета выполняется размонтирование — podman image unmount <Image_ID>. Операции монтирования и размонтирования происходят в автоматическом режиме, без вмешательства пользователя.
В случае успешного выполнения команд podman-integrity возвращает 0. В случае ошибки, например, при неуспешной валидации или вводе аргументов неверного формата, команда возвращает ненулевой код ошибки. Ошибка при валидации файла, образа или контейнера инициирует внесение соответствующей записи в журнал аудита.
Примеры использования#
Проверка целостности образа контейнера#
Порядок проверки целостности образа контейнера ecstatic_brattain (имя контейнера взято для примера):
Рассчитайте контрольную сумму для последующего контроля целостности:
podman-integrity update_container ecstatic_brattain; echo $?Проведите валидацию контрольной суммы:
podman-integrity validate_container ecstatic_brattain; echo $?
Проверка целостности исполняемого файла#
Порядок проверки целостности образа контейнера abc (имя файла взято для примера):
Рассчитайте контрольную сумму для последующего контроля целостности:
podman-integrity update_file abc; echo $?Проведите валидацию контрольной суммы:
podman-integrity validate_file abc; echo $?
Дополнительная информация#
Дополнительную информацию можно получить, выполнив команду:
man podman-integrity
Или:
podman-integrity --help