2025/01/20

afick

afick: another file integrity checker Files 是檔案檢查工具,可監控是否有檔案被異動。

install

afick 試用 perl 開發的,故安裝前要先安裝 perl

dnf -y intall perl

根據 [install 文件](afick installation) 的說明,可以到 another file integrity checker - Browse /afick/3.8.0 at SourceForge.net 下載套件或 source code。

Rocky Linux 安裝方式,是安裝 rpm file

rpm -ivh afick-3.8.0-1.noarch.rpm

也可以直接從 source code 編譯安裝。參考 source code 裡面的 INSTALL 文件的說明,編譯安裝步驟為

tar xvfz afick*.tgz
cd  afick*
perl Makefile.pl
make install

如果要直接安裝成 service,就改為以下步驟。會有一個 cronjob 放在 /etc/cron.daily 目錄

tar xvfz afick*.tgz
cd  afick*
perl Makefile.pl Makefile_sys.in
make install

設定

設定檔在 /etc/afick.conf,在設定檔最後面加上要監控的目錄,例如

/var/www/html DIR

使用

# 初始化 afick
afick -c /etc/afick.conf -init

# 監控並檢查檔案
afick -c /etc/afick.conf -k

# 檢查檔案並更新資料庫
afick -c afick.conf --update

在執行初始化時,花了不少時間,25 萬個檔案,大約用了 10 分鐘

afick -c /etc/afick.conf -init

# #################################################################
# MD5 hash of /var/lib/afick/afick => LXVxgXA/BosPirqMhDpowg

# Hash database created successfully. 251267 files entered.
# user time : 88.79; system time : 32.05; real time : 625

修改兩個檔案內容後,測試檢查檔案。

檢查時也將 afick.conf 納入檢查範圍。因預設 exclude_suffix 把 html, htm 排除了,所以用 css file 測試。

afick -c /etc/afick.conf -k

# archive:=/var/lib/afick/archive
# database:=/var/lib/afick/afick
# 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 pyc
# history:=/var/lib/afick/history
# max_checksum_size:=10000000
# running_files:=1
# timing:=1
# dbm:=Storable
# last run on 2024/08/12 10:17:35 with afick version 3.8.0
WARNING: (control) afick internal change : /etc/afick.conf (see below)

# summary changes
deleted directory : /
    number of deleted files         : 1
changed file : /etc/afick.conf
changed file : /var/www/html/index.css

# detailed changes
deleted directory : /
    parent_date         : Thu Aug  1 14:23:12 2024
    number of deleted files         : 1
changed file : /etc/afick.conf
    md5         : 877b96dc1be6083fd4589a96a2767006    f604ce2893a4bda0750b6564c84020b9
    filesize         : 7268    7269
changed file : /var/www/html/index.css
    inode         : 402693690    402705600
# #################################################################
# MD5 hash of /var/lib/afick/afick => ddgOifAlUpJfbRakzwY9tQ

# Hash database : 251265 files scanned, 4 changed (new : 0; delete : 2; changed : 2; dangling : 16; exclude_suffix : 26665; exclude_prefix : 0; exclude_re : 0; masked : 0; degraded : 244)
# user time : 104.85; system time : 20.72; real time : 383

afick_cron

在 /etc/cron.daily/afick_cron 裡面,ACTION 參數決定,cronjob 檢查檔案後,是否要更新資料庫

# the default action is "update" (-u), you can also use "compare" (-k)
ACTION="-u"

References

不只是資安: [工具介紹] Linux 下的檔案完整性偵測工具 - afick

CentOS 7 安裝 AFICK – 檔案安全監控 (更新內容 – 2018/12/12) – Ken Wu

沒有留言:

張貼留言