9 Контроль целостности
9.1 Введение
Средства контроля целостности предоставляют возможности контроля целостности обрабатываемых данных и используемого программного обеспечения.
9.2 Вычисление и сверка контрольной суммы файла
Утилита md5sum
позволяет вычислять контрольные суммы файлов по алгоритму MD5
и осуществлять их сверку с другими контрольными суммами, хранящимися в файле.
Режимы работы утилиты и выполняемые функции задаются набором опций, перечисленных в таблице:
Опция |
Значение |
---|---|
|
Позволяет считывать данные из файлов в двоичном режиме. |
|
Позволяет считывать данные из файлов в текстовом режиме. |
|
Позволяет осуществить сверку рассчитанного значения контрольной суммы с некоторым другим значением контрольной суммы, хранящимся в файле, имя которого должно быть передано утилите в качестве аргумента. |
|
Выводить рассчитанную контрольную сумму в формате BSD. |
|
При сверке контрольных сумм позволяет не выводить сообщение |
|
При сверке контрольных сумм позволяет в конце работы утилиты не выводить ничего, кроме кода сверки контрольных сумм. |
|
При сверке контрольных сумм позволяет выводить ненулевое значение для неправильно отформатированных строк контрольной суммы. |
|
При сверке контрольных сумм позволяет выводить предупреждения о неправильно отформатированных строках контрольной суммы. |
|
Показать версию утилиты и выйти. |
|
Показать справку и выйти. |
Пример: подсчитаем контрольную сумму файла с журналом аудита.
Для этого выполним следующую команду:
[root@msvsphere ~]# md5sum /var/log/audit/audit.log
7125d47d351f46de50e73aaf8df016f5 /var/log/audit/audit.log
9.3 Проверка целостности данных
Утилита aide
предоставляет возможности проверки целостности данных.
Перед началом использования необходимо установить утилиту
aide
с помощью следующей команды (необходимо по запросу системы указать пароль суперпользователя root):
sudo dnf install aide
Затем необходимо инициализировать базу данных для хранения состояний файлов с помощью следующей команды (необходимо по запросу системы указать пароль суперпользователя root):
sudo aide --init
В конфигурации по умолчанию команда aide --init
проверяет только файлы и директории, заданные в конфигурационном файле /etc/aide.conf
.
Чтобы добавить необходимые файлы и директории в базу AIDE, а также изменить параметры, необходимо внести соответствующие изменения в конфигурационный файл /etc/aide.conf
.
Перед началом использования инициализированной базы данных удалите
.new
из имени файла с помощью следующей команды:
sudo mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
Для изменения места расположения базы AIDE необходимо в файле
/etc/aide.conf
изменить значение параметраDBDIR
. Для обеспечения дополнительной безопасности рекомендуется хранить базу данных, конфигурацию и файл/usr/sbin/aide
в безопасном месте.
Режимы работы утилиты и выполняемые функции задаются набором опций, перечисленных в таблице.
Опция |
Значение |
---|---|
|
Инициализирует базу данных хранения состояний файлов. Созданная после инициализации база данных должна быть размещена в таком месте, из которого при осуществлении последующей проверки данные могли бы быть считаны. В противном случае при попытке осуществления проверки будет выведена информация об ошибке считывания. |
|
Проверяет базу данных состояний файлов на наличие несоответствий, для чего необходимо иметь инициализированную базу данных. Эта опция выполняется по умолчанию, если не указать никакой другой опции. |
|
Проверяет базу данных и обновляет её. При этом входные и выходные базы данных должны быть разными. |
|
Сравнивает две базы данных, которые должны быть определены в конфигурационном файле. |
|
Осуществляет считывание данных из конфигурационного файла, уведомляя обо всех обнаруженных ошибках. |
|
Позволяет считывать конфигурацию из указанного файла вместо используемого по умолчанию конфигурационного файла |
|
Позволяет обрабатывать указанные конфигурационные параметры до считывания данных из конфигурационного файла. |
|
Позволяет обрабатывать указанные конфигурационные параметры после считывания данных из конфигурационного файла. |
|
Определяет детальность обработки данных. На месте параметра |
|
Определяет место (URL), в которое утилита должна отправлять свои результаты работы. |
Пример: проверим систему, сравнив aide.db
и текущее состояние системы, без обновления aide.db.new
.
Для этого выполним следующую команду:
[root@msvsphere user3]# aide --check
AIDE, version 0.15.1
### All files match AIDE database. Looks okay!
Если произошло изменение файлов системы, то будет получено соответствующее уведомление:
[root@msvsphere user3]# aide --check
AIDE 0.15.1 found differences between database and filesystem!
Start timestamp: 2023-03-28 09:12:21
Summary:
Total number of files: 264416
Added files: 1
Removed files: 0
Changed files: 3
Рекомендуется проводить проверку каждый день. Вы можете настроить проведение ежедневной проверки с помощью команды cron
.
Например, настроим проверку на 03:00, добавив в файл /etc/crontab
следующую строку:
00 3 * * * root /usr/sbin/aide --check
Также, мы рекомендуем обновлять основную базу AIDE после обновлений системы и пакетов, а также изменений в конфигурационных файлах.
Для обновления основной базу AIDE выполните следующую команду:
sudo aide --update
Будет создан файл /var/lib/aide/aide.db.new.gz
. Чтобы начать использовать вновь созданный файл для проверки целостности данных, удалите .new
из имени файла.