3.4.4 Контроль целостности системы
Описание утилиты
Контроль целостности ОС
Окружение
- Версия ОС: 8
- Конфигурация ОС: Рабочая станция, Сервер графический, Сервер минимальный
- Редакция ОС: Все
- Версия ПО: afick-3.8.0-8
Описание утилиты
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, которая содержит перечень контролируемых бинарных исполняемых файлов изделия, согласно документации на изделие. Для самостоятельной проверки целостности ОС необходимо сделать следующее:
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
В рассматриваемом примере измененных файлов нет. Это значит, что целостность ОС не нарушена. Если в системе обнаружены измененные файлы, необходимо просмотреть подробный отчёт в выводе утилиты и оценить, допустимы ли данные изменения файлов.
Дата последнего изменения: 15.12.2025
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.