Tải bản đầy đủ (.ppt) (20 trang)

CHỐNG SPAM VỚI SPAMASSASSIN và PROCMAIL

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.29 MB, 20 trang )

CHỐNG SPAM VỚI
SPAMASSASSIN và
PROCMAIL
Nội dung
SpamAssassin
SpamAssassin và Procmail
Thực hiện chống spam với Spamassassin và
Procmail
Giới thiệu về SpamAssassin
Là chương trình giúp nhận dạng spam
Được viết bằng ngôn ngữ Perl
Đặc điểm hoạt động của
SpamAssassin
Dựa trên các luật
Phân tích mail header và mail body
Phương pháp lọc Bayes
Automatic whitelist/blacklist (AWL)
Manual whitelist/blacklist
Collaborative filtering database
DNS block list
Learning
Mail::SpamAssassin
Spamassassin Deamon gồm có spamd/spamc.
Spamd: server, port 783
Chạy như một dịch vụ nền
Spamc: client
Được gọi thay cho spamassassin trong các script
của mailer
Cách xác định spam
Dựa trên việc tính điểm (điểm spam) cho mail và
so sánh điểm đó với giá trị ngưỡng (threshold)


Qua xử lý, mail được thêm vào một số header như:

X-Spam-Status: Yes

X-Spam-Level: ********
Một số file cấu hình của
SpamAssassin
usr/share/spamassassin/local.cf
/etc/mail/spamassassin/local.cf
/usr/share/spamassassin/user_prefs.template
$USER_HOME/.spamassassin
$USER_HOME/.spamassassin/user_prefs
$USER_HOME/.spamassassin/bayes*
Ví dụ về file local.cf
required_hits 8
rewrite_subject 1
report_header 1
use_terse_report 1
defang_mime 0
report_safe 0
use_bayes 1
auto_learn 1
ok_locales en
SpamAssassin và Procmail
Procmail là mailer dùng để phân phối thư cho
người dùng.
Procmail xử lý mail dựa trên các luật được khai
báo trong file /home/{user}/.procmailrc.
Sử dụng procmail kết hợp với SpamAssassin để
lọc spam:

1. .procmailrc gọi thực thi chương trình spamassassinđể
tính điểm spam cho mail
2. mail sau khi xử lý sẽ được chuyển đến thư mục thích
hợp
File ~/.procmailrc
File .procmailrc gồm:
Các câu lệnh gán giá trị cho các biến môi trường
(nếu cần)
Các luật để xử lý mail gọi là các recipe
Cú pháp recipe:
:0[<flag>][:][<lock file>]
* <condition line 1>
[* <condition line 2>]
[* <…>]
<action line>
Ví dụ về file ~/.procmailrc
SHELL = /bin/sh
PATH = /bin:/usr/bin
PMDIR = $HOME/.procmail
LOGFILE = $PMDIR/proclog
MAILDIR = $HOME/mail
DEFAULT = $MAILDIR/mbox
LOGABSTRACT = all
VERBOSE = off

:0fw: spamassassin.lock
| /usr/bin/spamc
Ứng dụng chống spam với
SpamAssassin và Procmail
Sơ đồ hoạt động lọc spam

Các file
~/mail/mbox
~/mail/spammail
~/.procmail/proclog
/etc/procmailrc  /etc/mail/spamassassin/procmailrc
/etc/mail/spamassassin/local.cf
/etc/mail/spamassassin/spammail
/etc/mail/blacklist
Tạo các file trong thư mục
người dùng
cd /etc/skel
mkdir .procmail
mkdir mail
/etc/mail/spamassassin/local.cf
required_hits 8
rewrite_subject 1
report_header 1
use_terse_report 1
defang_mime 0
report_safe 0
use_bayes 1
auto_learn 1
ok_locales en
/etc/procmailrc
SHELL = /bin/sh
PATH = /bin:/usr/bin
PMDIR = $HOME/.procmail
LOGFILE = $PMDIR/proclog
MAILDIR = $HOME/mail
DEFAULT = $MAILDIR/mbox

LOGABSTRACT = all
VERBOSE = off

/etc/procmailrc (tt)
:0fw: spamassassin.lock
| /usr/bin/spamc

FROM = `formail –xFrom:’
:0
* ? grep ${FROM} /etc/mail/blacklist
/dev/null

:0E
* ^X-Spam-Status: Yes
{ :0cw
$MAILDIR/spammail
:0cw
/etc/mail/spamassassin/spammail
:0cw
| echo “${FROM}” >> /etc/mail/blacklist
:0fw
| {formail –rt ; \
echo “Your mail is rejected because it is identified
SPAM!”; \
} | sendmail -t
}
Tài liệu tham khảo
1.
2.
3.

4.
5. man procmailrc
6. man procmailex
7. man formail
8. perldoc Mail::SpamAssassin::Conf
9. Download:

×