3.4.4 Контроль целостности системы
Описание утилиты
Контроль целостности ОС
Контроль целостности ОС с помощью afick
Контроль целостности ОС с помощью loginfo
Окружение
- Версия ОС: 8
- Конфигурация ОС: Рабочая станция, Сервер графический, Сервер минимальный
- Редакция ОС: Сертифицированная
- Версия ПО: afick-3.8.0-8, redos-afick-db-8.0-26, loginfo-1.1.1-2
Утилита afick поставляется в репозитории только для сертифицированной редакции ОС.
Описание утилиты
Afick - это быстрая и доступная утилита, помогающая при обнаружении вторжений, а также позволяющая контролировать общую целостность системы.
Afick контролирует изменения в файловой системе и сразу сообщает о них пользователю, тем самым предоставляя возможность применения или отклонения внесенных изменений. Данная информация может помочь в расследовании инцидента, когда необходимо определить, какие были произведены изменения в системе в результате взлома.
Вы можете подробнее ознакомиться с информацией о работе с утилитой контроля целостности, просмотрев наши обучающие видео:
-
на RuTube — Контроль целостности сертифицированной ОС. Afick;
-
в VK Видео — Контроль целостности сертифицированной ОС. Afick.
На наших каналах вы также сможете найти много другой полезной информации.
В процессе установки Afick формирует базу данных файлов, каталогов и соответствующих им контрольных сумм. Файлы и каталоги, включенные в эту базу данных, выбираются, исходя из входных данных в файле конфигурации Afick, называемом afick.conf, после добавления этого файла в каталог /etc.
Файл конфигурации afick.conf имеет простую синтаксическую структуру. При необходимости пользователь может быстро добавить или удалить типы файлов, каталоги и т.д.
Ниже приведено содержимое файла afick.conf. Обратите внимание, что элементы в файле конфигурации чувствительны к регистру.
cat /etc/afick.conf
afick config sample file # directives ############ database:=/var/lib/afick/afick # Определяет, какую базу данных будет использовать Afick # report_url := stdout # Определяет, куда Afick будет выводить результаты своей работы # verbose := no # warn_dead_symlinks := no # report_full_newdel := no # warn_missing_file := no # running_files := no # timing := no # text files exclude_suffix := log LOG html htm HTM txt TXT xml # Определяет, что Afick должен игнорировать текстовые файлы с указанными расширениями # help files exclude_suffix := hlp pod chm # Определяет, что Afick должен игнорировать файлы справки с указанными расширениями # old files exclude_suffix := tmp old bak # Определяет, что Afick должен игнорировать временные файлы с указанными расширениями # fonts exclude_suffix := fon ttf TTF # Определяет, что Afick должен игнорировать файлы шрифтов с указанными расширениями # images exclude_suffix := bmp BMP jpg JPG gif png ico # Определяет, что Afick должен игнорировать файлы изображений с указанными расширениями # audio exclude_suffix := wav WAV mp3 avi # Определяет, что Afick должен игнорировать медиафайлы с указанными расширениями # macros ######## # used by cron @@define MAILTO root # Определяет пользователя, которому будут отсылаться отчёты по работе Afick @@define LINES 1000 # Определяет максимальное количество строк в отчёте # list the file or directories to scan # syntaxe : # file action # to have action on file (see below # ! file # to remove file from scan # file with blank character have to be quoted # action : a list of item to check # Ниже описаны опции, определяющие, какие атрибуты файлов нужно контролировать # md5 : md5 checksum # d : device # i : inode # p : permissions # n : number of links # u : user # g : group # s : size # b : number of blocks # m : mtime # c : ctime # a : atime #R: p+d+i+n+u+g+s+m+c+md5 #L: p+d+i+n+u+g # action alias may be configured with # your_alias = another_alias|item[+item][-item] # all is a pre-defined alias for all items except "a" # alias : ######### DIR = p+i+n+u+g ETC = p+d+i+u+g+s+md5 Logs = p+n+u+ MyRule = p+d+i+n+u+g+s+b+md5+m . # files to scan ############## =/ DIR # Проверка с использованием описанных выше правил для каталогов # /bin MyRule /boot MyRule !/boot/map # Игнорируется указанный каталог !/boot/System.map # Игнорируется указанный файл /etc ETC /etc/mtab ETC - i /etc/adjtime ETC - md5 /etc/aliases.db ETC - md5 /etc/mail/statistics ETC - md5 !/etc/map !/etc/webmin/sysstats/modules/ !/etc/cups/certs/0 /lib MyRule /lib/modules MyRule -m /root MyRule !/root/.viminfo !/root/.bash_history !/root/.mc /sbin MyRule /usr/bin MyRule /usr/sbin MyRule /usr/lib MyRule /usr/local/bin MyRule /usr/local/sbin MyRule /usr/local/lib MyRule /var/ftp MyRule /var/log Logs /var/www MyRule
Файл конфигурации Afick довольно прост для понимания. Ниже приведён пример, в котором к проверке целостности Afick добавляется ваш основной каталог. К примеру, пользователю необходимо, чтобы файлы в этом каталоге проверялись на изменения при монопольном доступе, изменение прав доступа, изменения размера файлов и времени последнего обращения к файлу. Для начала нужно создать новый элемент, под разделом #alias в файле конфигурации afick.conf, как показано ниже:
HOME = u+g+p+m+s
Затем в разделе #files to scan необходимо добавить следующую строку:
/home/user/test HOME
При следующем запуске Afick добавит каталог пользователя в свою базу данных и будет контролировать находящиеся в нем файлы согласно указанным пользователем критериям. Если необходимо, чтобы изменения применились немедленно, можно запустить Afick вручную, используя следующую команду (потребуются права администратора):
sudo afick --update
В противном случае пользователю придётся ждать запуска cron-задачи Afick. Эта задача добавляется автоматически во время установки программы и запускается один раз в день. Результаты работы данного задания пользователь получит по электронной почте на адрес, указанный в разделе файла конфигурации afick.conf. Используя почтовый клиент, пользователь сможет увидеть ежедневный отчёт примерно в следующем виде:
This is an automated report generated by Another File Integrity Checker on +localhost.localdomain at 07:46:07 AM on 07/13/2025. Output of the daily afick run: new file : /var/log/afick/afick.log.2 new file : /var/log/afick/error.log.2 deleted file : /etc/sysconfig/iptables changed file : /etc/adjtime changed file : /etc/aliases.db changed file : /etc/mail/statistics changed file : /etc/prelink.cache changed file : /etc/printcap detailed changes changed file : /etc/adjtime MD5 : 7+bTDZQbxsTXEJXhyI2GCw ao6a/yDwoBR8GSL1AKlWXQ changed file : /etc/aliases.db MD5 :GT/eP5D+B8apNoa7L5CLRw soh7MnLDuQw4gI9KHlhpTA changed file : /etc/mail/statistics MD5 :oshq17jZ2a0o5pYhVBRgwQ vb69gMWXvpIEEZ4fmOl9/Q changed file : /etc/prelink.cache MD5 : SKh/403FRMUqBNdCIInQ9A zeC+5EPFfWBR4OeT7xZdbw changed file : /etc/printcap MD5 : b5e3g2//bGaxeCxVyRJqaw QFY1NJGy/kdt32B1YV0TXQ filesize : 194 581
В примере выше Afick сообщает, что некоторые файлы были изменены, созданы или удалены. Также показаны начальные и текущие контрольные суммы файлов, и сообщается, что в одном из файлов был изменён его размер. Afick узнает о происходящих изменениях в файле, сравнивая его атрибуты с атрибутами, которые были сохранены при последнем запуске Afick. Примером этого могут служить файлы в каталоге /usr/bin или в /sbin. Обычно эти файлы редко изменяются, если только пользователь сам не изменил их, обновляя программу (в противном случае они не должны изменяться).
Также пользователю необходимо обратить внимание на то, где он сохраняет свою базу данных Afick (по умолчанию — /var/lib/afick/), потому что может возникнуть ситуация, когда система была взломана, а пользователь об этом не может узнать, т.к. была нарушена целостность базы данных. Возможным решением такой проблемы может быть сохранение базы на защищённых от записи носителях (например, CD-ROM), после чего следует изменить файл конфигурации afick.conf, чтобы указать выбранный каталог/носитель хранения базы.
Контроль целостности ОС
Контроль целостности ОС с помощью afick
Для сертифицированной редакции в состав репозитория ОС включена база данных утилиты контроля целостности afick, которая содержит перечень контролируемых бинарных исполняемых файлов изделия, согласно документации на изделие. Для самостоятельной проверки целостности ОС необходимо сделать следующее:
1. Установить утилиту afick и базу данных (потребуются права администратора):
sudo dnf install afick redos-afick-db
2. После успешной установки запустить проверку файлов ОС командой:
sudo afick -k
# Afick (3.8.0) compare at 2025/09/29 17:26:18 with options (/etc/afick.conf):
# archive:=/var/lib/afick/archive
# database:=/var/lib/afick/redos/redos
# exclude_suffix:=log LOG html htm HTM txt TXT xml hlp pod chm tmp old bak fon ttf TTF bmp BMP jpg JPG gif png ico wav WAV mp3 avi
# history:=/var/lib/afick/history
# max_checksum_size:=10000000
# running_files:=1
# timing:=1
# dbm:=Storable
# last run on 2025/08/12 23:26:15 with afick version 3.8.0
# summary changes
deleted file : /lib64/libnvpair.so.3.0.0
...
deleted file : /usr/share/qemu/s390-ccw.img
parent_date : Thu Jan 1 03:00:00 1970
deleted file : /usr/share/qemu/s390-netboot.img
parent_date :: Thu Jan 1 03:00:00 1970
deleted file : /usr/share/qemu/u-boot.e500
parent_date :: Thu Jan 1 03:00:00 1970
deleted file : /usr/share/seabios/bios-coreboot.bin
parent_date :: Thu Jan 1 03:00:00 1970
# #################################################################
# MD5 hash of /var/lib/afick/redos/redos => A7dt2FhrBuErHO5KTfR/7g
# Hash database : 10960 files scanned, 2897 changed (new : 0; delete : 2897; changed : 0; dangling : 0; exclude_suffix : 0; exclude_prefix : 0; exclude_re : 0; masked : 0; degraded : 38)
# user time : 11.57; system time : 7.57; real time : 46
3. После завершения проверки проанализировать полученные данные.
Новые файлы можно не принимать во внимание.
new : 0
Удалённые файлы в отчете можно не учитывать — это объясняется тем, что БД afick снимается для всех контролируемых файлов, а в используемом экземпляре ОС могут использоваться не все пакеты.
delete : 2897
В первую очередь обращать внимание следует на изменённые файлы:
changed : 0
В рассматриваемом примере измененных файлов нет. Это значит, что целостность ОС не нарушена. Если в системе обнаружены измененные файлы, необходимо просмотреть подробный отчёт в выводе утилиты и оценить, допустимы ли данные изменения файлов.
Контроль целостности ОС с помощью loginfo
Контроль целостности ОС также может быть осуществлен с помощью утилиты loginfo командой:
loginfo --afick
Команда инициирует проверку целостности файлов в системе, используя базу данных afick. В ходе проверки выполняются следующие действия:
-
проверка целостности файлов — запуск команды вызывает процесс сканирования файлов в соответствии с настройками afick, проверяя их на соответствие сохраненным в БД контрольным суммам;
-
вывод отчетов — команда предоставляет отчет о статусе файлов, указывая, какие из них были изменены, добавлены или удалены;
-
информация о базе данных — также можно получить информацию о состоянии базы данных afick — когда она была обновлена, сколько файлов в нее включено и пр.
Для проверки текущих данных выполните команду:
sudo loginfo --afick 2026-03-12 10:42:39,907 - INFO - Начало сбора информации... 2026-03-12 10:42:48,333 - INFO - Сторонние репозитории не обнаружены 2026-03-12 10:42:48,333 - INFO - --------------------------- 2026-03-12 10:42:49,695 - INFO - Сторонние установленные локально пакеты не обнаружены 2026-03-12 10:42:49,695 - INFO - Вывод информации по статусам всех репозиториев 2026-03-12 10:42:49,887 - INFO - repo id repo name status base RedOS - Base enabled updates RedOS - Updates enabled 2026-03-12 10:42:49,887 - INFO - --------------------------- 2026-03-12 10:42:49,887 - INFO - Дополнительная проверка на неучтенные репозитории. Будут выведены ВСЕ пакеты, которые не относятся к репозиторию РЕД ОС. 2026-03-12 10:42:50,676 - INFO - Список сторонних пакетов: 2026-03-12 10:42:50,676 - INFO - Installed Packages 2026-03-12 10:42:50,676 - INFO - --------------------------- 2026-03-12 10:42:50,676 - INFO - Запуск проверки целостности по формуляру 2026-03-12 10:43:37,444 - INFO - --------------------------- 2026-03-12 10:43:37,444 - INFO - Все в порядке. Изменений в контролируемых файлах не обнаружено. 2026-03-12 10:43:37,444 - INFO - --------------------------- 2026-03-12 10:43:37,470 - INFO - Сбор информации завершен 2026-03-12 10:43:37,471 - INFO - Готово! Сформирован архив с логами: /tmp/afick_output-2026-03-12-10:42:39.zip
где:
-
Сторонние репозитории не обнаружены— означает, что на текущем экземпляре ОС нет подключенных сторонних репозиториев. -
Сторонние установленные локально пакеты не обнаружены— означает, что на текущем экземпляре ОС не найдены пакеты, установленные из сторонних репозиториев, т. е. пакеты были получены через официальные репозитории, такие как базовый (base) репозиторий РЕД ОС и репозиторий обновлений (updates). Также будет выведена сводная информация (название и статус) по всем подключенным репозиториям. -
Дополнительная проверка на неучтенные репозитории— запуск дополнительной проверки на наличие пакетов, установленных через сторонние (не официальные) репозитории. -
Запуск проверки целостности по формуляру— запуск проверки целостности системы с использованием базы данных afick. Контроль целостности ОС включает в себя сравнение контрольных сумм файлов с базой данных afick в целях проверки наличия несанкционированных изменений. -
Сформирован архив с логами— утилита loginfo создает архив с данными о выполненной проверке. Архив содержит подробную информацию и отчет о выполненных операциях, что может быть полезно для дальнейшего анализа или диагностики. В случае необходимости, можно просмотреть сформированный архив для получения более детальной информации о процессе проверки.
Обнаружение измененных файлов в процессе проверки указывает, что файлы системы были модифицированы, добавлены или удалены. Это может быть связано как с легитимными изменениями (обновления программного обеспечения), так и с потенциальными угрозами (сбоями).
После обнаружения изменений установленный экземпляр ОС нельзя автоматически считать сертифицированным, пока не будет подтверждено, что изменения не нарушают требований сертификации. Если целостность системы и ее критических файлов нарушена, статус сертификации теряется, и для его восстановления требуется переустановка сертифицированной редакции ОС.
Дата последнего изменения: 12.03.2026
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.