Контроль целостности
Введение
Средства контроля целостности предоставляют возможности контроля целостности обрабатываемых данных и используемого программного обеспечения.
Контроль целостности установленных RPM-пакетов
В процессе установки RPM-пакетов пакетный менеджер сохраняет в свою внутреннюю базу данных различную информацию о файлах и каталогах, которые входят в состав пакета: права доступа, сведения о владельце, размер, контрольную сумму и т.д.
Используя эти данные, команда rpm --verify позволяет проверить целостность
установленных RPM-пакетов. Для вызова команды используется следующий синтаксис:
rpm {--verify|-V} <пакет | параметры_выборки> [параметры_проверки]
Где:
опция
--verifyили её краткая форма-Vпереводит пакетный менеджерrpmв режим проверки целостности;пакет— название RPM-пакета, также можно использовать подробный форматназвание[-версия[-релиз]][.архитектура](примеры:bash-5.1.8,bash-5.1.8-9.el9,bash-5.1.8-9.el9.x86_64).В качестве альтернативы указанию имени пакета можно использовать большинство опций
rpm, предназначенных для поиска/фильтрации пакетов. Полный список поддерживаемых опций доступен в соответствующей документации (man 8 rpm), а в данном руководстве рассмотрим две опции, которые представляют наибольший интерес в контексте верификации пакетов.-a, --all [условие]— выполнить проверку всех установленных RPM-пакетов, либо всех пакетов, соответствующихусловию, если оно определено.Условиеопределяется в форматетег=шаблон, например можно использовать командуrpm -V -a name=krb5*для проверки всех пакетов, имя которых начинается сkrb5. Существует возможность задать несколько условий, используя несколько аргументов-a— в таком случае будут обработаны только те пакеты, которые соответствуют всем заданным критериям.-f, --file <файл>— выполнить проверку пакета, которому принадлежит указанный файл.
по умолчанию команда
rpm --verifyвыполняет все проверки пакета, но с помощью следующихпараметров проверкиможно отключить те или иные тесты:--nodeps— не выполнять проверку зависимостей пакетов;--nodigest— не выполнять проверку контрольных сумм пакета и/или его заголовков;--nofiles— отключить проверку атрибутов файлов;--noscripts— не выполнять секцию%verifyscriptRPM-пакета если она определена;--nosignature— не проверять подписи пакета и его заголовков;--nolinkto— не проверять атрибуты ссылок;--nofiledigest— не проверять контрольные суммы файлов пакета;--nosize— не проверять размер файла;--nouser— не выполнять проверку на изменение пользователя владельца файла;--nogroup— не выполнять проверку на изменение группы владельца файла;--nomtime— не проверять время последнего изменения файла;--nomode— не проверять права доступа к файлу;--nordev— не проверять атрибутrdev(тип устройства) для файлов устройств;--nocaps— не проверять разрешения (capabilities) файла.
По умолчанию команда rpm --verify выводит на консоль построчный список файлов,
для которых как минимум одна из проверок завершилась неудачно. Используется
следующий формат вывода:
......... [тип] путь_к_файлу
Строка начинается с девяти ячеек, каждая из которых отображает статус определённой проверки. Ячейка может принимать значение одного из следующих типов:
.— означает, что проверка пройдена успешно;?— означает, что проверку не удалось выполнить по каким-то причинам (например, отсутствуют права на чтение файла);один из указанных ниже символов, в таком случае это означает, что соответствующая проверка завершилась неудачей:
S— размер файла отличается;M— права доступа или тип файла отличаются;5— контрольная сумма файла не соответствует эталонной;D— старший (major) или младший (minor) номер устройства отличается;L— путь, на который ссылается ссылка, не соответствует ожидаемому;U— отличается пользователь — владелец файла;G— отличается группа — владелец файла;T— отличается время последнего изменения файла;P— разрешения (capabilities) файла не соответствуют ожидаемым.
В случае если проверяемый файл является специальным с точки зрения пакетного менеджера RPM, после девяти ячеек со статусом будет указан тип файла.
c— конфигурационный файл (перечислен в блоке%configspec-файла RPM-пакета);d— файл с документацией (перечислен в блоке%docspec-файла);g— так называемый «призрачный» файл (перечислен в блоке%ghostspec-файла), это означает что содержимое файла не является частью данного пакета;l— файл с лицензионным соглашением (перечислен в блоке%licensespec-файла);r— файл README (перечислен в блоке%readmespec-файла).
Для обычных файлов или каталогов тип не указывается.
В конце строки вывода находится путь к файлу, который не прошёл проверку.
Если все пакеты и включённые в них файлы прошли проверку, команда rpm --verify
вернёт код возврата 0, в противном случае код возврата будет ненулевым.
Далее, рассмотрим несколько реальных примеров работы с утилитой.
Успешная проверка пакета
bash:$ sudo rpm -V bash $ echo $? 0
Изменений не обнаружено, код возврата —
0.Проверка всех пакетов, имена которых начинаются с
krb5, обнаруживает изменения в файле/etc/krb5.conf:$ sudo rpm -V -a krb5* S.5...... c /etc/krb5.conf S.5...... c /etc/krb5.conf $ echo $? 1
Статус
Sв первой ячейке означает, что фактический размер файла отличается от ожидаемого, а статус5в третьей ячейке — что контрольная сумма файла отличается от эталонной. Данный файл является конфигурационным (статусcперед именем файла) и обнаруженное несоответствие считается нормальным, если вы изменяли файл в процессе настройки системы. Поскольку один из файлов был изменён, код возврата ненулевой. Проверка выполняется последовательно для каждого отдельного пакета, подходящего под условие. В этом примере файл/etc/krb5.confпринадлежит как 32-битному, так и 64-битному варианту пакетаkrb5-libsи, соответственно, информация об этом файле выводится два раза:$ rpm -qf /etc/krb5.conf krb5-libs-1.21.1-4.el9_5.x86_64 krb5-libs-1.21.1-4.el9_5.i686
Программа для контроля целостности AIDE
aide (Advanced Intrusion Detection Environment) — это программа для проверки
целостности файлов.
Принцип работы данного инструмента заключается в следующем: по требованию администратора aide создаёт базу данных, которая содержит различную информацию о файлах в системе и при последующих запусках утилиты выполняется проверка текущего состояния отслеживаемых файлов на предмет соответствия эталонному. В случае выявления отклонений генерируется соответствующий отчёт.
Утилита aide обладает следующими возможностями:
поддерживает хранение в БД и отслеживание изменения различных атрибутов файлов: тип файла, права доступа, номер индексного дескриптора (inode), владельца и группу файла, размер, время последнего изменения файла (mtime), время последнего изменения его метаданных/содержимого (ctime), время последнего доступа к файлу (atime), количество ссылок на файл и т.п.
создаёт и проверяет контрольные суммы с использованием различных хеш-функций: SHA256, SHA512, SHA1, MD5 и т.д.
отслеживает изменение расширенных атрибутов файлов: Posix ACL, SELinux, xattr, e2fsattrs.
автоматический запуск через
systemdтаймеры илиcronс отправкой уведомлений по электронной почте.
Установка и первичная настройка aide
Для установки aide выполните следующую команду:
$ sudo dnf install -y aide
В конфигурации по умолчанию aide проверяет лишь некоторый набор файлов и
каталогов, определённый в конфигурационном файле /etc/aide.conf. Для
отслеживания изменения в других файлах и каталогах вам потребуется внести
соответствующие правки в конфигурационный файл перед инициализацией базы данных
aide. Полная информация о настройке программы находится на соответствующей странице документации man aide.conf.
Для инициализации базы данных выполните следующую команду:
$ sudo aide --init
Start timestamp: 2025-01-16 12:54:34 +0300 (AIDE 0.16)
AIDE initialized database at /var/lib/aide/aide.db.new.gz
Number of entries: 204419
---------------------------------------------------
The attributes of the (uncompressed) database(s):
---------------------------------------------------
/var/lib/aide/aide.db.new.gz
MD5 : bJRt0P9rQ3lR7Wq4SZJlsw==
SHA1 : /nM1abzKvpoUSt22HiuKAsx7zE4=
RMD160 : Fw7M3O5xq55CKfXXuJgeQ9bn8aE=
TIGER : cJJxmyGjwuecrEIUNhJgsrRApqQmHNv6
SHA256 : iUpCg8pVKy6a34FdCNurMUL04BtV65sD
8k9pgX1mSr0=
SHA512 : /+DHSwBp2kcMHvO5HXk3FQvLbvZUO1xj
6+YDcT4kXyUcAekf46zoEKdDVd89AX8S
H3Xh7CRxF2uQ4wFTrFv8Gg==
End timestamp: 2025-01-16 12:55:16 +0300 (run time: 0m 42s)
При запуске с ключом --init утилита aide создаёт новую базу данных в файле
/var/lib/aide/aide.db.new.gz, заданном директивой database_out в
конфигурационном файле. Но для проверки целостности системы используется база
из файла /var/lib/aide/aide.db.gz, путь к которому задан директивой
database. Соответственно, для использования созданной базы данных необходимо
переименовать файл:
$ sudo mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
Проверка целостности системы с помощью aide
Команда aide --check выполняет проверку целостности системы и генерирует
соответствующий отчёт:
$ aide --check
Start timestamp: 2025-01-17 00:16:58 +0300 (AIDE 0.16)
AIDE found differences between database and filesystem!!
Summary:
Total number of entries: 204420
Added entries: 1
Removed entries: 0
Changed entries: 2
---------------------------------------------------
Added entries:
---------------------------------------------------
d++++++++++++++++: /root/.config/procps
---------------------------------------------------
Changed entries:
---------------------------------------------------
f ... .C... : /etc/cups/subscriptions.conf
f ... .C... : /etc/cups/subscriptions.conf.O
---------------------------------------------------
Detailed information about changes:
---------------------------------------------------
File: /etc/cups/subscriptions.conf
SHA512 : iY//ZXGfIOCw5w+dsglTJ5uanAu6ycGo | gw0CO7RN6yjIbRHvTVjthdZyfI/igk7K
SU5HoonBNSbGDb2sNVZLX/olLvPHyPDo | ZGoICuAK4CEZHcoTQTMPo0RSNRUqWXz0
qGGLZHHx35ce7yFxVxmjdQ== | el6dW9hvpSltkjJxywX3RQ==
File: /etc/cups/subscriptions.conf.O
SHA512 : HwYU5Ddhxs+MTd+7h67ToWOc1njts3eu | MZOiOFpYIbRYnZECCA+Dq9UZCoBlTO/n
Lro+IZrhTR+yVA0W85Ji0cKP/77ZdqFS | 0ELsf8rnHmL/pp6uz2GgJHURnrHclo0h
7FRt4bCEB1L1T8SNe8Nonw== | l4JpCwIjfXhWANs3mkkzzg==
---------------------------------------------------
The attributes of the (uncompressed) database(s):
---------------------------------------------------
/var/lib/aide/aide.db.gz
MD5 : bJRt0P9rQ3lR7Wq4SZJlsw==
SHA1 : /nM1abzKvpoUSt22HiuKAsx7zE4=
RMD160 : Fw7M3O5xq55CKfXXuJgeQ9bn8aE=
TIGER : cJJxmyGjwuecrEIUNhJgsrRApqQmHNv6
SHA256 : iUpCg8pVKy6a34FdCNurMUL04BtV65sD
8k9pgX1mSr0=
SHA512 : /+DHSwBp2kcMHvO5HXk3FQvLbvZUO1xj
6+YDcT4kXyUcAekf46zoEKdDVd89AX8S
H3Xh7CRxF2uQ4wFTrFv8Gg==
End timestamp: 2025-01-17 00:17:18 +0300 (run time: 0m 20s)
В данном примере, в системе были обнаружены следующие изменения относительно эталонного состояния из базы данных:
был создан каталог
/root/.config/procps;был изменён файл
/etc/cups/subscriptions.conf;был изменён файл
/etc/cups/subscriptions.conf.O.
Обновление базы данных aide
Для обновления базы данных aide после внесения изменений в систему используйте
команду aide --update:
$ sudo aide --update
Start timestamp: 2025-01-17 00:27:30 +0300 (AIDE 0.16)
AIDE found differences between database and filesystem!!
New AIDE database written to /var/lib/aide/aide.db.new.gz
Summary:
Total number of entries: 204420
Added entries: 1
Removed entries: 0
Changed entries: 2
---------------------------------------------------
Added entries:
---------------------------------------------------
d++++++++++++++++: /root/.config/procps
---------------------------------------------------
Changed entries:
---------------------------------------------------
f ... .C... : /etc/cups/subscriptions.conf
f ... .C... : /etc/cups/subscriptions.conf.O
---------------------------------------------------
Detailed information about changes:
---------------------------------------------------
File: /etc/cups/subscriptions.conf
SHA512 : iY//ZXGfIOCw5w+dsglTJ5uanAu6ycGo | gw0CO7RN6yjIbRHvTVjthdZyfI/igk7K
SU5HoonBNSbGDb2sNVZLX/olLvPHyPDo | ZGoICuAK4CEZHcoTQTMPo0RSNRUqWXz0
qGGLZHHx35ce7yFxVxmjdQ== | el6dW9hvpSltkjJxywX3RQ==
File: /etc/cups/subscriptions.conf.O
SHA512 : HwYU5Ddhxs+MTd+7h67ToWOc1njts3eu | MZOiOFpYIbRYnZECCA+Dq9UZCoBlTO/n
Lro+IZrhTR+yVA0W85Ji0cKP/77ZdqFS | 0ELsf8rnHmL/pp6uz2GgJHURnrHclo0h
7FRt4bCEB1L1T8SNe8Nonw== | l4JpCwIjfXhWANs3mkkzzg==
---------------------------------------------------
The attributes of the (uncompressed) database(s):
---------------------------------------------------
/var/lib/aide/aide.db.gz
MD5 : bJRt0P9rQ3lR7Wq4SZJlsw==
SHA1 : /nM1abzKvpoUSt22HiuKAsx7zE4=
RMD160 : Fw7M3O5xq55CKfXXuJgeQ9bn8aE=
TIGER : cJJxmyGjwuecrEIUNhJgsrRApqQmHNv6
SHA256 : iUpCg8pVKy6a34FdCNurMUL04BtV65sD
8k9pgX1mSr0=
SHA512 : /+DHSwBp2kcMHvO5HXk3FQvLbvZUO1xj
6+YDcT4kXyUcAekf46zoEKdDVd89AX8S
H3Xh7CRxF2uQ4wFTrFv8Gg==
/var/lib/aide/aide.db.new.gz
MD5 : 9XQcGyeUGCo4jQFqKNWCSw==
SHA1 : JT98QJxegb+XsjzCHB5sbaFpsoQ=
RMD160 : t8pAZIn/4MsB+YiYi7wr1uie4iY=
TIGER : oddP+JHtsDFFr+9GeCymlZ7meJV0K5uI
SHA256 : SB9BYNaOzq8f5QYMbkNzTZ78yMWyp0lF
UUbNH8Q04Ig=
SHA512 : WeutFJZKQQydQkBSGvsuyC/ASE54vOcP
NnrJlj7PjjMXINFpQvIhgQvE+LwtDFjq
Kj9/MeYhjHQchYHNwhmotw==
End timestamp: 2025-01-17 00:27:53 +0300 (run time: 0m 23s)
Как и в случае с aide --init, данная команда создаст новый файл базы данных
/var/lib/aide/aide.db.new.gz, а также сгенерирует отчёт об изменениях в
системе относительно предыдущего состояния базы данных.
Поскольку на данном этапе у вас есть и новое, и старое состояние базы данных,
вы всё ещё можете запустить aide --check для старой базы данных и провести
сравнительный анализ отчётов в случае возникновения такой необходимости.
Также утилита aide поддерживает сравнение новой версии базы данных со старой
— за это отвечает аргумент командной строки --compare. Для этого вам
необходимо либо добавить в конфигурационный файл /etc/aide.conf директиву
database_new, указывающую на путь к файлу с новой базой данных:
database_new=file:@@{DBDIR}/aide.db.new.gz
Либо вы можете определить значение директивы с помощью аргументов командной
строки --before или --after при вызове aide --compare:
$ aide --compare --after='database_new=file:@@{DBDIR}/aide.db.new.gz'
Start timestamp: 2025-01-17 11:19:47 +0300 (AIDE 0.16)
AIDE found differences between the two databases!!
Summary:
Total number of entries: 204420
Added entries: 1
Removed entries: 0
Changed entries: 2
---------------------------------------------------
Added entries:
---------------------------------------------------
d++++++++++++++++: /root/.config/procps
---------------------------------------------------
Changed entries:
---------------------------------------------------
f ... .C... : /etc/cups/subscriptions.conf
f ... .C... : /etc/cups/subscriptions.conf.O
---------------------------------------------------
Detailed information about changes:
---------------------------------------------------
File: /etc/cups/subscriptions.conf
SHA512 : iY//ZXGfIOCw5w+dsglTJ5uanAu6ycGo | gw0CO7RN6yjIbRHvTVjthdZyfI/igk7K
SU5HoonBNSbGDb2sNVZLX/olLvPHyPDo | ZGoICuAK4CEZHcoTQTMPo0RSNRUqWXz0
qGGLZHHx35ce7yFxVxmjdQ== | el6dW9hvpSltkjJxywX3RQ==
File: /etc/cups/subscriptions.conf.O
SHA512 : HwYU5Ddhxs+MTd+7h67ToWOc1njts3eu | MZOiOFpYIbRYnZECCA+Dq9UZCoBlTO/n
Lro+IZrhTR+yVA0W85Ji0cKP/77ZdqFS | 0ELsf8rnHmL/pp6uz2GgJHURnrHclo0h
7FRt4bCEB1L1T8SNe8Nonw== | l4JpCwIjfXhWANs3mkkzzg==
---------------------------------------------------
The attributes of the (uncompressed) database(s):
---------------------------------------------------
/var/lib/aide/aide.db.gz
MD5 : bJRt0P9rQ3lR7Wq4SZJlsw==
SHA1 : /nM1abzKvpoUSt22HiuKAsx7zE4=
RMD160 : Fw7M3O5xq55CKfXXuJgeQ9bn8aE=
TIGER : cJJxmyGjwuecrEIUNhJgsrRApqQmHNv6
SHA256 : iUpCg8pVKy6a34FdCNurMUL04BtV65sD
8k9pgX1mSr0=
SHA512 : /+DHSwBp2kcMHvO5HXk3FQvLbvZUO1xj
6+YDcT4kXyUcAekf46zoEKdDVd89AX8S
H3Xh7CRxF2uQ4wFTrFv8Gg==
/var/lib/aide/aide.db.new.gz
MD5 : 9XQcGyeUGCo4jQFqKNWCSw==
SHA1 : JT98QJxegb+XsjzCHB5sbaFpsoQ=
RMD160 : t8pAZIn/4MsB+YiYi7wr1uie4iY=
TIGER : oddP+JHtsDFFr+9GeCymlZ7meJV0K5uI
SHA256 : SB9BYNaOzq8f5QYMbkNzTZ78yMWyp0lF
UUbNH8Q04Ig=
SHA512 : WeutFJZKQQydQkBSGvsuyC/ASE54vOcP
NnrJlj7PjjMXINFpQvIhgQvE+LwtDFjq
Kj9/MeYhjHQchYHNwhmotw==
End timestamp: 2025-01-17 11:19:57 +0300 (run time: 0m 10s)
После обновления базы данных и завершения работы с отчётами переименуйте файл, чтобы утилита aide начала использовать новую базу для последующих проверок:
$ sudo mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
Оповещение о нарушении целостности объектов контроля
Для автоматической проверки целостности системы утилитой aide с заданной
периодичностью можно использовать службу cron или таймеры systemd, а для
отправки уведомлений — локальный почтовый сервер или любое другое решение,
которое можно вызвать из сценария командной строки.
Сценарий для автоматического запуска aide
Ниже приведён пример сценария командной строки, который запускает утилиту
aide и отправляет её отчёт электронным письмом, если код возврата был
ненулевым. Такой код возврата означает, что во время проверки были обнаружены
расхождения с базой данных или возникли ошибки.
#!/bin/bash
# e-mail адрес, на который необходимо отправить отчёт aide
ADMIN_EMAIL='admin@localhost'
# исходящий e-mail адрес
FROM_EMAIL='aide@localhost'
# путь к файлу отчёта утилиты aide, задаётся директивой report_url в
# конфигурационном файле
AIDE_LOG='/var/log/aide/aide.log'
# тема письма
SUBJECT='AIDE: integrity check failed'
# запустить aide и отправить файл отчёта если код возврата не равен 0
/sbin/aide --check &>/dev/null || /sbin/sendmail -i -t <<EOF
To: ${ADMIN_EMAIL}
From: ${FROM_EMAIL}
Subject: ${SUBJECT}
$(cat ${AIDE_LOG})
EOF
Сохраните сценарий в файл /usr/local/bin/aide-report.sh, установите корректные
права доступа и сделайте его исполняемым:
$ sudo chown root:root /usr/local/bin/aide-report.sh
$ sudo chmod 755 /usr/local/bin/aide-report.sh
Настройка локального почтового сервера
В данном руководстве в качестве почтовой службы предлагается использовать
postfix, для его установки и включения выполните следующие команды:
$ sudo dnf install -y postfix
$ sudo systemctl enable --now postfix
Для целей тестирования дополнительная конфигурация почтового сервиса не
требуется — достаточно чтобы он был запущен и пользователь, на имя которого
будет отправляться электронная почта, существовал в системе. Полученная почта
будет сохраняться в текстовый файл очереди /var/spool/mail/ИМЯ_ПОЛЬЗОВАТЕЛЯ,
с которым может работать как почтовый клиент Evolution (тип сервера
«Стандартная для Unix очередь типа mbox»), так и любая программа для просмотра
текстовых файлов (less, cat и т.п.). Для получения информации о безопасной
настройке почтовой службы для реальных условий вам необходимо обратиться к
специализированному руководству.
Периодический запуск aide
Периодический запуск aide с помощью cron
Для периодического запуска утилиты aide с помощью службы cron добавьте
соответствующую запись в файл crontab пользователя root. Например, для
проверки целостности системы каждые три часа, запустите редактор crontab
командой crontab -e, добавьте в конец файла следующую запись и сохраните
изменения:
0 */3 * * * /usr/local/bin/aide-report.sh
Периодический запуск aide с помощью таймера systemd
В качестве альтернативы службе cron вы также можете использовать таймеры
systemd для запуска периодических задач.
В первую очередь создайте сервисный файл
/etc/systemd/system/aide-report.service следующего содержания:
[Unit]
Description=AIDE periodic scan
[Service]
Type=simple
# команда для запуска
ExecStart=/usr/local/bin/aide-report.sh
# запускать команду от имени пользователя root
User=root
Затем создайте файл /etc/systemd/system/aide-report.timer с описанием
таймера:
[Unit]
Description=Run AIDE scan every 3 hours
[Timer]
# запускать таймер каждые 3 часа
OnUnitActiveSec=3h
# запустить таймер через 5 минут после загрузки системы
OnBootSec=5min
[Install]
WantedBy=timers.target
Установите правильные права доступа и владельца для созданных файлов:
$ sudo chown root:root /etc/systemd/system/aide-report.{service,timer}
$ sudo chmod 644 /etc/systemd/system/aide-report.{service,timer}
Обновите конфигурацию systemd и запустите таймер:
$ sudo systemctl daemon-reload
$ sudo systemctl enable --now aide-report.timer
Created symlink /etc/systemd/system/timers.target.wants/aide-report.timer → \
/etc/systemd/system/aide-report.timer.
После этого таймер активируется и проверка системы будет выполняться каждые три часа.
Статус таймера можно посмотреть с помощью следующей команды:
$ sudo systemctl status aide-report.timer
● aide-report.timer - Run AIDE scan every 3 hours
Loaded: loaded (/etc/systemd/system/aide-report.timer; \
enabled; preset: disabled)
Active: active (waiting) since Tue 2025-01-28 18:52:27 MSK; \
4min 41s ago
Until: Tue 2025-01-28 18:52:27 MSK; 4min 41s ago
Trigger: Tue 2025-01-28 21:52:27 MSK; 2h 55min left
Triggers: ● aide-report.service
Jan 28 18:52:27 msvsphere.localdomain systemd[1]: \
Started Run AIDE scan every 3 hours.
Опции командной строки утилиты aide
Аргумент |
Описание |
|---|---|
|
Выполняет проверку системы на предмет нарушения целостности относительно состояния, зафиксированного в базе данных |
|
Инициализирует базу данных для хранения состояния системы. После инициализации вам потребуется переименовать файл чтобы команда |
|
Обновляет базу данных |
|
Сравнивает две базы данных |
|
Останавливает работу |
|
Задаёт путь к конфигурационному файлу |
|
Ограничить проверку и обновление БД только файлами и каталогами, соответствующими заданному регулярному выражению. Обратите внимание, что регулярное выражение совпадает только с началом строки. Пример запуска |
|
Позволяет задать конфигурационные параметры, которые будут применены перед чтением конфигурационного файла. С полным списком доступных параметров вы можете ознакомиться на странице документации |
|
Позволяет задать конфигурационные параметры, которые будут применены после чтения конфигурационного файла. С полным списком доступных параметров вы можете ознакомиться на странице документации |
|
Определяет степень детальности вывода |
|
Указывает |
|
Вывести версию и параметры сборки |
|
Выдать справочную информацию об аргументах командой строки и завершить работу. |
Вычисление и сверка контрольной суммы файла
Утилита sha256sum позволяет вычислять контрольные суммы файлов по алгоритму SHA-256
и осуществлять их сверку с другими контрольными суммами, хранящимися в файле.
Режимы работы утилиты и выполняемые функции задаются набором опций, перечисленных в таблице:
Опция |
Значение |
|---|---|
|
Позволяет считывать данные из файлов в двоичном режиме. |
|
Позволяет осуществить сверку рассчитанного значения контрольной суммы с некоторым другим значением контрольной суммы, хранящимся в файле, имя которого должно быть передано утилите в качестве аргумента. |
|
Выводить рассчитанную контрольную сумму в формате BSD. |
|
Читать в текстовом режиме (по умолчанию). |
|
Завершать каждую выводимую строку NUL, а не символом новой строки и выключить экранирование имени файла. |
|
Не сообщать или прерываться при отсутствии файлов. |
|
При сверке контрольных сумм позволяет не выводить сообщение |
|
При сверке контрольных сумм позволяет в конце работы утилиты не выводить ничего, кроме кода сверки контрольных сумм. |
|
При сверке контрольных сумм позволяет выводить ненулевое значение для неправильно отформатированных строк контрольной суммы. |
|
При сверке контрольных сумм позволяет выводить предупреждения о неправильно отформатированных строках контрольной суммы. |
|
Показать версию утилиты и выйти. |
|
Показать справку и выйти. |
Пример: подсчитаем контрольную сумму файла с журналом аудита по алгоритму SHA-256.
Для этого выполним следующую команду:
$ sudo sha256sum /var/log/audit/audit.log
65sh8467h74j8kf36mf76356r853k25748864ud7k835hr2kwuv9l4q73m74x7a49 /var/log/audit/audit.log
Также ОС МСВСфера предоставляет возможность вычислять контрольные суммы файлов по алгоритму ГОСТ.
Для этого необходимо установить пакет gostsum.
Пример: подсчитаем контрольную сумму файла с журналом аудита по алгоритму ГОСТ.
Для этого выполним следующую команду:
$ sudo gostsum /var/log/audit/audit.log
054h7j3a8af6kf2h9lk257r67k2974rfh47a5hg34n3h7s25ak3674wrmc475ls5 /var/log/audit/audit.log