22.03.2004

»спользование утилиты Afick дл€ обнаружени€ вторжений.

Afick - это быстра€ и доступна€ утилита, помогающа€ при обнаружении вторжений, а также позвол€юща€ контролировать общую целостность системы. Ёта утилита доступна дл€ большинства платформ, как в двоичном, так и в исходном форматах. Ќиже будут описаны основные сведени€ по установке и использованию afick.

–ик Ќиколас, ѕеревод јлексей јнтипов

Afick - это быстра€ и доступна€ утилита, помогающа€ при обнаружении вторжений, а также позвол€юща€ контролировать общую целостность системы. Ёта утилита доступна дл€ большинства платформ, как в двоичном, так и в исходном форматах. Ќиже будут описаны основные сведени€ по установке и использованию afick.

¬первые € узнал об Afick несколько мес€цев назад, когда пыталс€ найти утилиту, котора€ помогла бы мне отслеживать изменени€ в файловой системе и сообщать мне о них. ’от€ существует достаточное количество утилит выполн€ющих подобные действи€, таких как Tripwire и AIDE, но при всех их преимуществах и недостатках € нахожу, что Afick лучше всего подходит дл€ решени€ моих задач.

Ёта стать€ предназначена дл€ пользователей, плохо знакомых с Linux системой и/или IDS (системой обнаружени€ вторжений).  омпьютер, используемый в этом руководстве, находитс€ под управлением ќ— Fedora Core 1, поэтому, в зависимости от вашего Linux дистрибутива, могут возникнуть небольшие отличи€.

—тоит отметить, что системы обнаружени€ вторжений при своей работе используют различные методы - некоторые обнаруживают попытки вторжений, контролиру€ активность портов, некоторые ищут неудачные попытки регистрации в системе и т.д. — другой стороны, Afick контролирует изменени€ в файловой системе и сразу сообщает вам о них, таким образом, предоставл€€ вам выбор решить, действительно ли ожидались эти изменени€. Ёта информаци€ может помочь вам в расследовании инцидента, когда необходимо определить какие были произведены измени€ в системе в результате взлома.

Ќаконец, важно понимать, что Afick не сможет обеспечить 100% защиту. Ћучшим средством €вл€етс€ использование многоуровневой защитной стратегии, основанной на группе утилит, поддерживающих различные функции. ѕолна€ защита системы/сети, вне возможностей данной статьи, поэтому здесь не будут охвачены эти темы.

“еперь ¬ы узнали немного больше о Afick, давайте проведем установку и посмотрим, как работает эта программа!

»нсталл€ци€

—амую полную версию Afick вы можете найти здесь

¬ этой статье мы использовали Afick 1.6-0, но можно скачать любую другую, подход€щую вам, версию. “ак как € использую Fedora, то в качестве примера мы будем использовать файл afick-1.6-0.noarch.rpm.

$su -
$password

“еперь инсталлируем скачанный нами .rpm файл:

#rpm -ivh afick-1.6-0.noarch.rpm

¬ результате вы увидите на экране что то типа такого:

warning: afick-1.6-0.noarch.rpm: V3 DSA signature: NOKEY, key ID cb6fa42a
Preparing... ########################################### [100%]
1:afick ########################################### [100%]
first install : we will initiate the database
Hash database created successfully. 36348 files entered.
-----------------------------------------------------------------
MD5 hash of /var/lib/afick/afick => 41daxskFuk22DZC+Z1eO3Q

 онфигураци€

¬ процессе установки 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. ќбычно эти файлы редко измен€ютс€, если только вы не изменили их, обновл€€ программу (в противном случае они не должны измен€тьс€). ≈сли вы плохо знакомы с Linux, то вы не можете точно знать, €вл€ютс€ ли эти изменени€ потенциальной проблемой, но вы всегда можете обратитьс€ к более осведомленному человеку и более подробно узнать об этом.

¬ заключение стоит обратить внимание на то, где вы сохран€ете вашу базу данных Afick (по умолчанию - /var/lib/afick/), потому что может возникнуть ситуаци€, когда ваша система была взломана, а вы об этом не узнаете, т.к. была нарушена целостность базы данных. ¬озможным решением данного вопроса может быть сохранение базы на защищенных от записи носител€х (например, CD-ROM), после чего изменить файл конфигурации afick.conf, чтобы указать на выбранное вами место сохранени€ базы.

ћы подошли к концу нашего руководства. Afick €вл€етс€ очень мощным средством, контролирующим целостность нашей системы. „тобы узнать более подробно об этой программе, посетите сайт http://www.securitylab.ru/tools/41294.html ”дачи!

или введите им€

CAPTCHA