Cuc chiến thư rác vi FuzzyOCR và SpamAssassin trên Fedora 12
Trong bài viết sau, Tài Liu s gii thiu vi các bn cách thc quét
email để phát hin nh spam vi công c FuzzyOCR trên Fedora 12
server.
FuzzyOCR là 1 plugin dành cho SpamAssassin, được trang b để nhm vào
s lượng ln thư rác có cha nh ni dung (không phi hoc ít ni dung dưới
dng text). S dng phương pháp phân tích tiên tiến, chương trình t động
thu thp ni dung, thuc tính ca hình nh để phân bit gia 2 loi thư bình
thường và thư rác. FuzzyOCR s c gng s dng ít tài nguyên h thng
mc có th bng cách scan nhng email không được phân loi bng
SpamAssassin, qua đó tránh được nhng vic làm không cn thiết.
1. Lưu ý sơ b
H thng s dng đây là Fedora 12. Gi s rng SpamAssassin đã cài đặt
và hot động n định vi /etc/mail/spamassassin/ là thư mc thiết lp mc
định. Nếu thư mc ca bn có khác bit (chng hn có cài đặt ISPConfig 2
thì thư mc đó s
/home/admispconfig/ispconfig/tools/spamassassin/etc/mail/spamassassin/),
hoàn toàn không có vn đề gì c.
2. Cài đặt thành phn cn thiết ca FuzzyOCR
FuzzyOCR có yêu cu 1 s thành phn như ocrad và gocr, do đó ta phi cài
đặt trước:
yum install netpbm gifsicle giflib giflib-utils
gocr ocrad ImageMagick tesseract perl-String-Approx
perl-MLDBM perl-CPAN
Bên cnh đó, chúng ta cũng phi cài đặt module MLDBM::Sync ca Perl,
nhưng li không có sn như gói RPM thông thường. M Perl shell…:
perl -MCPAN -e shell
Và cài đặt theo câu lnh sau:
install MLDBM::Sync
Sau đó gõ q để thoát khi Perl shell.
3. Cài đặt FuzzyOCR
Tiếp theo chúng ta cn ti và cài đặt FuzzyOCR ti đây. Lưu ý rng nên
chn bn mi nht n định theo khuyến cáo t các nhà phát trin
FuzzyOCR:
Khuyến cáo hin nay dành cho phiên bn phát trin bi vì bn n định thiếu
khá nhiu chc năng.
cd /usr/src/
wget http://users.own-
hero.net/~decoder/fuzzyocr/fuzzyocr-3.5.1-
devel.tar.gz
Sau đó gii nén gói FuzzyOCR, đồng thi di chuyn toàn b file FuzzyOcr*
và thư mc FuzzyOcr (vn trong thư mc FuzzyOcr-3.5.1/) ti
/etc/mail/spamassassin:
tar xvfz fuzzyocr-3.5.1-devel.tar.gz
cd FuzzyOcr-3.5.1/
mv FuzzyOcr* /etc/mail/spamassassin/
Nếu thư mc SpamAssassin khác bit (ví d
/home/admispconfig/ispconfig/tools/spamassassin/etc/mail/spamassassin/)
thì phi thay thế dòng lnh cui cùng bên trên bng:
mv FuzzyOcr*
/home/admispconfig/ispconfig/tools/spamassassin/etc/mail/spamassassin/
Đừng vi xóa thư mc /usr/src/FuzzyOcr-3.5.1/ vì trong đó có cha thư rác
mu để kim tra liu FuzzyOCR có hot động hay không. Vic tiếp theo là
thiết lp và tùy chnh FuzzyOCR.
4. Thiết lp FuzzyOCR
File tùy chnh này nm thư mc /etc/mail/spamassassin/FuzzyOcr.cf. M
file đó và chnh 1 s chi tiết sau:
vi /etc/mail/spamassassin/FuzzyOcr.cf
Đặt dòng sau vào v trí xác định t ng nhn dng spam ca FuzzyOCR:
[...]
focr_global_wordlist
/etc/mail/spamassassin/FuzzyOcr.words
[...]
/etc/mail/spamassassin/FuzzyOcr.words thc cht là danh sách t đã được
định nghĩa trước đi kèm vi FuzzyOCR. Các bn có th chnh sa file này
nếu mun.
Thay đổi tiếp theo:
[...]
# Include additional scanner/preprocessor commands
here:
#
focr_bin_helper pnmnorm, pnminvert, pamthreshold,
ppmtopgm, pamtopnm
focr_bin_helper tesseract
[...]
thành:
[...]
# Include additional scanner/preprocessor commands
here:
#
focr_bin_helper pnmnorm, pnminvert, convert,
ppmtopgm, tesseract
[...]
Cui cùng thêm tiếp dòng lnh sau:
[...]
# Search path for locating helper applications
focr_path_bin
/usr/local/netpbm/bin:/usr/local/bin:/usr/bin
focr_preprocessor_file
/etc/mail/spamassassin/FuzzyOcr.preps
focr_scanset_file
/etc/mail/spamassassin/FuzzyOcr.scansets
focr_enable_image_hashing 2
focr_digest_db
/etc/mail/spamassassin/FuzzyOcr.hashdb
focr_db_hash /etc/mail/spamassassin/FuzzyOcr.db
focr_db_safe
/etc/mail/spamassassin/FuzzyOcr.safe.db
[...]
Vi 4 dòng mã cui chúng ta có th kích hot cơ chế nh hash. Và đây là
nhng gì nhà phát trin FuzzyOCR nói v cơ chế này:
Cơ s d liu ca cơ chế nh hash cho phép các plugin lưu tr vector ca
nh ti cơ s d liu, vì vy d dàng nhn ra khi nhng bc nh này khi nó
đến ln th 2 (do vy không cn phi tiến hành scan li). Đim đặc bit
trong chc năng này là cũng vn có th nhn dng được nhng bc nh
tương t, hoc đã được chnh sa chút ít (được làm bi nhng k spam).
Nếu bn dùng
/home/admispconfig/ispconfig/tools/spamassassin/etc/mail/spamassassin
thay vì /etc/mail/spamassassin, file thiết lp ca FuzzyOCR là
/home/admispconfig/ispconfig/tools/spamassassin/etc/mail/spamassassin/Fu
zzyOcr.cf thay vì /etc/mail/spamassassin/FuzzyOcr.cf, hãy chnh li file này.
Trong file tùy chnh, bn s phi thay thế tt c /etc/mail/spamassassin vi
/home/admispconfig/ispconfig/tools/spamassassin/etc/mail/spamassassin,
hoc b li như dưới đây trước khi to 1 symlink t /etc/mail/spamassassin
thành
/home/admispconfig/ispconfig/tools/spamassassin/etc/mail/spamassassin
như sau:
mkdir /etc/mail/
ln -s
/home/admispconfig/ispconfig/tools/spamassassin/etc
/mail/spamassassin/ /etc/mail/spamassassin
Vy là đã kết thúc bước thiết lp và tùy chnh FuzzyOCR. Tiếp theo hãy ch
xem liu có hot động như mong đợi hay không.
5. Kim tra FuzzyOCR