2.4.3 Контроль целостности системы
Скачать документ Описание утилиты
Контроль целостности ОС
Описание утилиты
Afick - это быстрая и доступная утилита, помогающая при обнаружении вторжений, а также позволяющая контролировать общую целостность системы.
Afick контролирует изменения в файловой системе и сразу сообщает вам о них, таким образом, предоставляя вам выбор решить, действительно ли ожидались эти изменения. Эта информация может помочь вам в расследовании инцидента, когда необходимо определить, какие были произведены изменения в системе в результате взлома.
Вы можете подробнее ознакомиться с информацией о работе с утилитой контроля целостности, просмотрев наши обучающие видео:
на RuTube — Контроль целостности сертифицированной ОС. Afick;
в Яндекс.Дзен — Контроль целостности сертифицированной ОС. Afick;
в VK Видео — Контроль целостности сертифицированной ОС. Afick.
На наших каналах вы также сможете найти много другой полезной информации.
В процессе установки Afick формирует базу данных файлов, каталогов и соответствующих им MD5 контрольных сумм. Файлы и каталоги, включенные в эту базу данных, выбираются соответственно входным данным из файла конфигурации Afick, называемого afick.conf, после того, как Afick установит этот файл в /etc каталог. Файл конфигурации afick.conf имеет простую синтаксическую структуру. По вашему усмотрению Вы можете очень быстро добавить или удалить типы файлов, каталоги, и т.д. Ниже приведено содержимое файла 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/yourusername HOME
Теперь, при следующем запуске, Afick добавит ваш каталог в свою базу данных и будет контролировать находящиеся в нем файлы, согласно указанным вами критериям. Если вы хотите, чтобы ваши изменения применились немедленно, то можно запустить Afick вручную, используя следующую команду:
afick --update
Иначе, вам придется ждать запуска крон задачи Afick. Эта задача добавляется автоматически во время инсталляции программы и запускается один раз в день. Результаты работы данного задания вы получите по электронной почте на адрес, указанный в разделе MAILTO файла конфигурации afick.conf. Используя почтового клиента, вы сможете увидеть ежедневный отчет примерно в таком виде:
This is an automated report generated by Another File Integrity Checker on +localhost.localdomain at 07:46:07 AM on 02/25/2004. 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 и базу данных:
dnf install afick redos-afick-dbЗагружены модули: fastestmirror, langpacks Loading mirror speeds from cached hostfile ... Установлено: afick.noarch 0:3.5.2-1.el7 redos-afick-db.x86_64 0:7.2-3 Выполнено!
2. После успешной установки запустить проверку файлов ОС командой:
afick -k ... new file : /var/lib/afick/redos/redos.ctr new file : /var/lib/afick/redos/redos.db deleted file : /lib/modules/4.19.79-1.el7.x86_64.debug/kernel/arch/x86/crypto/aegis128-aesni.ko ... deleted file : /var/lib/afick/afick.db parent_date : Fri Apr 24 09:17:05 2020 changed file : /etc/afick.conf md5 : 03bf42d0327b3f2fe195d0eca359b1ec addfc78d955141718f78df7587ae3ceb filemode : 100600 100644 filesize : 924772 924774 # Hash database : 6793 files scanned, 6320 changed (new : 2; delete : 6317; changed : 1; dangling : 0; exclude_suffix : 0; exclude_prefix : 0; exclude_re : 0; degraded : 3) # ################################################################# # MD5 hash of /var/lib/afick/redos/redos => oRTAm4SAHdk9vwSktXz88A # user time : 12.73; system time : 3.14; real time : 27
3. После завершения проверки проанализировать полученные данные.
Новые файлы можно не принимать во внимание.
new : 2
Удалённые файлы в отчете можно не учитывать — это объясняется тем, что БД afick снимается для всех контролируемых файлов, а в используемом экземпляре ОС могут использоваться не все пакеты.
delete : 6317
Интерес в первую очередь представляют изменённые файлы.
changed : 1
Необходимо просмотреть подробный отчёт в выводе утилиты выше и оценить, допустимы ли данные изменения файлов.
changed file : /etc/afick.conf md5 : 03bf42d0327b3f2fe195d0eca359b1ec addfc78d955141718f78df7587ae3ceb filemode : 100600 100644 filesize : 924772 924774
В рассматриваемом примере был изменен конфигурационный файл утилиты afick. Это можно считать допустимым изменением, так как на эталонной ОС конфигурация afick по умолчанию не настроена. Скачанный конфигурационный файл, содержащийся в пакете БД afick, заменил файл, поставляемый с утилитой. Других изменений в системе нет, значит, можно сделать вывод о целостности ОС.
Дата последнего изменения: 04.09.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.