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

BÁO CÁO THỰC TẬP-XÂY DỰNG MAIL SERVER VỚI POSTFIX

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 (427.39 KB, 20 trang )

CÔNG TY CỔ PHẦN ĐẦU TƯ PHÁT TRIỂN CÔNG NGHỆ
THÔNG TIN FPT
CÔNG TY TNHH HỆ THỐNG THÔNG TIN FPT



NGUYỄN HẢI LONG
Người Hướng Dẫn: Trịnh Hữu Đức
XÂY DỰNG MAIL SERVER VỚI POSTFIX
BÁO CÁO THỰC TẬP DOANH NGHIỆP
Version 1.1
TP. Hồ Chí Minh
1 | P a g e
Ngày 26 - 8 - 2009
Mục Lục
Mục Lục 2
Các Hình Ảnh Dùng Trong Sách 2
Phần I: MỤC TIÊU VÀ ĐỐI TƯỢNG. 3
Phần II: GIỚI THIỆU. 3
Phần III: TRIỂN KHAI & CÀI ĐẶT. 9
Phần III: KẾT LUẬN 18
Các Hình Ảnh Dùng Trong Sách
Mục Lục 2
Các Hình Ảnh Dùng Trong Sách 2
Phần I: MỤC TIÊU VÀ ĐỐI TƯỢNG. 3
Phần II: GIỚI THIỆU. 3
Phần III: TRIỂN KHAI & CÀI ĐẶT. 9
Phần III: KẾT LUẬN 18
2 | P a g e
Phần I: MỤC TIÊU VÀ ĐỐI TƯỢNG.
Mục tiêu của báo cáo là hướng dẫn người đọc có thể hiểu kiến trúc và nguyên lý


làm việc của một Mail Server, đồng thời biết cách triển khai một hệ thống Mail hoàn
chỉnh trên môi trường Linux – Với đầy đủ các thành phần như SMTP/POP3/IMAP
Server, AntiVirus, AntiSpam, và Mail Store. Cụ thể ở đây là cài đặt Mail Server với
Postfix trên nền hệ điều hành CentOS.
Tài liệu này cần thiết cho những người mới (newbie) muốn xây dựng một Mail
Server đơn giản trên nền Linux, không những thế tài liệu này còn hỗ trợ cho những
Administrator triển khai nhanh một Mail Server trên Linux.
Phần II: GIỚI THIỆU.
Với tốc độ tin học hóa diễn ra khá nhanh như hiện nay, E-mail ngày càng trở thành
phương tiện liên lạc không thể thiếu đối với mọi người, nhất là đối với các doanh
nghiệp. Chính vì nhu cầu đó việc xây dựng một mail server là hết sức cần thiết. Nhưng
việc chọn xây dựng mail server như thế nào cho phù hợp, hiệu quả và tốn ít chi phí
nhất, đồng thời vẫn đảm bảo được tính sẵn sàng (Availability – Hoạt động ổn định, dễ
dàng nâng cấp và bảo trì … ) và tính riêng tư (Private – Bảo mật, bí mật … ) cho các
doanh nghiệp.
3 | P a g e
1.1. Giới Thiệu Cấu Trúc Hệ Thống E-Mail.
Cấu trúc và mô hình hoạt động của một hệ thống mail thường có đầy đủ các
thành phần như sau:
Hình 1.1 – Kiến Trúc Mail Server
Chức năng của các thành phần như sau:
o Mail User Agent (MUA): đây là các chương trình gửi và nhận mail được
cài đặt trên máy người dùng, nó giúp người dùng quản lý, soạn thảo,
nhận và gửi mail một cách tiện lợi và nhanh chóng. Các chương trình
MUA tiêu biểu là: Outlook (Windows), Evolution (Linux), ThunderBird va
Eudora
o Mail Transport Agent (MTA)(thường gọi là

Mail Transport Agent,
Message Transfer Agent, or SMTP Daemond): Là một dịch vụ trên máy

tính có nhiệm vụ chuyển Email từ máy tính đến một nơi khác (Mail
Delivery Agent). Các chương trình cung cấp dịch vụ MTA tiêu biểu là:
Qmail, Sendmail, Postfix (Linux), Edge/Hub Tranpost của MS Exchange
Server (Windows).
o Mail Delivery Agent (MDA): Là Dịch vụ tiếp nhận các Email và phân phối
chúng đến các hộp thư cá nhân. Các chương trình cung cấp dịch vụ tiêu
4 | P a g e
biểu là: Procmail, Mail.local, rmail (Linux), Mailbox Server trong MS
Exchange (Windows).
o Mail Submission Agent (MSA): Là chương trình nhận Email từ MUA qua
cổng 587 (Bảo mật hơn SMTP cổng 25 vì nó đòi hỏi Authenticate hay các
hành động tương tự để chống spam trong local) và kết hợp với MTA để
chuyển Email. Đa số các MTA làm nhiệm vụ MSA luôn (posfix, Sendmail),
trên MS Exchange thì MSA do Mailbox role + Client receive connector
(trên Hub transport role) đảm nhiệm.
o Mail Access Agent/ Mail Retrieval Agent (MAA/MRA): MRA là chương
trình tìm về hoặc lấy Email về từ remote Mail server, và kết hợp với MDA
để phân phối mail về local hoặc remote mailbox. MAA là dịch vụ cung cấp
để truy cập đến tìm kiếm và lấy email về. Các chương trình tiêu biểu:
IMAP, POP3 Server, dovecot (Linux), Client Access Server trên MS
Exchange (Windows). MRA bây giờ thường do các MUA đảm nhiệm đó
chính là các POP3, IMAP Client.
1.2. Mô Hình Mail Server Với Postfix.
Báo cáo hướng dẫn cho người đọc có thể dễ dàng xây dựng một mail
server hoạt động ổn định và chi phí thấp, cho doanh nghiệp vừa và nhỏ, dựa trên
nền Linux.
Hình 1.2 – Kiến trúc Mail Server sẽ triển khai
5 | P a g e
1.2.1. Lý Do Chọn Đề Tài.
Có rất nhiều hãng trên thế giới cung cấp các giải pháp trọn gói cho hệ

thống mail cho các doanh nghiệp vừa và nhỏ như IBM, Microsoft, TrenMicro,
Cisco … Với đầy đủ các thành phần chuyên dụng như: Mail Server, AntiSpam,
AntiVirus … Ngoài ra còn có các hãng cung cấp các phần mềm và giải pháp Mail
Server cho các doanh nghiệp khác, nhưng chủ yếu chạy trên nền Linux hoặc
Windows.
- Các giải pháp với thiết bị chuyên dụng: Được cung cấp bởi các
hãng như IBM, Cissco …

Ưu điểm:
Thiết bị đồng bộ, hoạt động ổn định, tính chịu lỗi cao, dễ
dàng nâng cấp và mở rộng, độ bảo mật cao, dễ dàng quản trị hệ
thống, Được hỗ trợ kỹ thuật trực tiếp từ nhà cung cấp.

Nhược điểm:
Giá thành cao
- Các giải pháp trên nền Windows: Được Microsoft cung cấp với hệ
thống Phần cứng chuyên dụng hoặc phần mềm.

Ưu điểm:
Dễ dàng quản trị và triển khai, hoạt động ổn định, độ bảo
mật cao, dễ dàng nâng cấp và mở rộng, hỗ trợ kỹ thuật trực tiếp từ
nhà sản xuất.

Nhược điểm:
Giá thành tương đối, yêu cầu về tài nguyên phần cứng
cao (đối với phần mềm).
- Các giải pháp trên nền Linux – Unix: Được một vài công ty phân
phối hoặc tổ chức phát triển.

Ưu điểm:

Hoạt động ổn định, có khả năng chịu lỗi tốt, yêu cầu tài
nguyên phần cứng thấp, độ bảo mật cao, miễn phí, được trợ giúp từ
cộng đồng sử dụng.

Nhược điểm:
Khó quản trị và triển khai, nâng cấp và mở rộng tương
đối phức tạp.
Do đó, các hệ thống Linux rất phù hợp với các doanh nghiệp vừa và nhỏ
(thậm chí là các doanh nghiệp cỡ lớn nếu admin có khả năng xây dựng và quản
trị). Chọn triển khai Postfix vì đây là một trong những hệ thống mail phổ biến
chạy trên nền Linux, và CentOS cũng là một trong những Distro Linux khá phổ
biến và hoạt động tương đối ổn định. Và cũng có khá nhiều doanh nghiệp triển
khai theo mô hình này.
1.2.2. Giới Thiệu Các Thành Phần.
1.2.2.1. Giới Thiệu Postfix.
6 | P a g e
Postfix là một MTA được viết bởi Wietse Venema khi ông đang làm
việc ở trung tâm nghiên cứu T. J. Watson của IBM. Đặc điểm của Postfix: dễ
quản lý, nhanh, an toàn. Chỉ cần một server với hardware thông thường,
Postfix có thể chuyển giao hàng triệu email một ngày. Ngày nay postfix là
một trong nhưng MTA khá phổ biến trên các mail server.
1.2.2.2. Giới Thiệu Dovecot.
Dovecot là một MAA cung cấp các dịch vụ IMAP và POP3 được cài phổ
biến trên các CentOS, Nó là một phần mềm mã nguồn mở được Timo
Sirainen viết và phát triển. Đặc điểm của Dovecot là: bảo mật, nhanh và dễ
quản lý.
1.2.2.3. Giới Thiệu SquirrelMail.
SquirrelMail là một trong những Web mail phổ biến nhất trên các Mail
Server, nó hỗ trợ cả các giao thức IMAP/POP3 và SMTP, được viết bằng PHP4
và là một phần mềm mã nguồn mở, nó giúp người dùng có thể đọc và quản

lý e-mail của mình trong môi trường Web.
1.2.3. Yêu Cầu Hệ Thống.
Với các hệ thống Linux yêu cầu về phần cứng rất bình thường, một server
với cấu hình trung bình vẫn có thể cài đặt và chạy ổn định.
Về phần các phần mềm trên hệ thống:
- Hệ Điều Hành: CentOS 5.3 Chạy dạng command Line hay đồ họa
đều được (chế độ Command Line thì tốn ít ổ cứng, và chạy tốn ít
RAM và CPU hơn).
- SMTP Server: Postfix 2.3.3
- POP3/IMAP Server: 1.0.7
- Web Mail: SquirrelMail 1.4.8
- Web Server: Apache 2.2.3 Cần thiết để cho User có thể dùng web
mail.
- AntiSpam: SpamAssassin 3.2.5
- AntiVirus: ClamAV 0.95.2, Amavisd-new 2.6.4
1.3. Vấn đề Bảo Mật Cho Hệ Thống E-Mail.
Ngày nay vấn đề Virus và spam vẫn là những nguy cơ đe dọa đến sự vận
hành ổn định của hệ thống, đồng thời nguy cơ mất mát hoặc bị đánh cắp dữ liệu là
rất cao, điều này ảnh hưởng trực tiếp đến lợi ích của người dùng và doanh nghiệp.
7 | P a g e
Vì thế khi triển khai xây dựng hệ thống mail cho doanh nghiệp cần phải tính tới các
vấn đề về bảo mật chống Spam và Virus.
1.3.1. AntiSpam:
1.3.1.1. Giới thiệu DNS-Base Blocklists.
UCE (unsolicited commercial email), hay spam, thường được gửi từ
những mail server có vài đặc điểm nhất định. Ví dụ, từ những server có cấu
hình không hoàn chỉnh (open relay, không tuân thủ tiêu chuẩn RFC), những
server không có thông tin rõ ràng về người quản trị (máy kết nối bằng dial-
up, máy không có reverse DNS), hay từ những server chuyên gửi spam.
Người ta đã lập được danh sách những mail server như vậy, danh sách này

được update thường xuyên, gọi chung là RBL (real-time blackhole list), hay
DNSBL (DNS-based Blocklist). Ưu điểm của phương pháp này là kiểm tra
nhanh ít hao tốn tài nguyên của server vì bước kiểm tra được thực hiện trước
khi gửi mail và việc kiểm tra chỉ dựa vào kết quả tìm kiếm của DNS.
1.3.1.2. Giới thiệu SpamAsssassin.
SpamAssassin phát hiện và đánh dấu spam mail bằng cách phân tích
thông tin trong header và nội dung mail. SpamAssassin tiêu tốn khá nhiều tài
nguyên (cpu, memory, thời gian xử lý) của server, đặc biệt khi phải xử lý
những mail có size lớn. Ưu điểm của việc dùng SpamAssassin là ít thay đổi
cấu hình mặc định của postfix và có thể xây dựng quy tắc kiểm tra spam cho
riêng mình.
SpamAssassin là một project được phát triển bởi Apache,
SpamAssassin được ứng dụng khá nhiều trên các mail server dùng nền Linux.
1.3.2. AntiVirus.
Dùng để chống việc lây lan Virus trong thông qua hệ thống mail, đồng
thời hạn chế sự lây lan của Virus khi một máy nào đó trong mạng bị nhiễm. Có
hai chương trình antivirus phổ biến dùng trên mail server đó là ClamAV và
Amavisd-new.
1.3.2.1. Giới thiệu ClamAV.
ClamAV là một antivirus mã nguồn mở chạy trên hệ thống Linux, nó
đặc biệt được thiết kế cho việc quét virus trên mail gateways, nó uyển
chuyển dễ cấu hình, và chạy đa luồng dịch vụ. Đặc điểm là hoạt động ổn
định, nhanh, và tương đối hiệu quả.
8 | P a g e
1.3.2.2. Giới thiệu Amavisd-new.
Amavisd-new là một giao tiếp hiệu năng cao, hoạt động giữa MTA và
các thành phần kiểm tra nội dung như: Virus scanners, và SpamAssassin. Đặc
điểm của Amavisd-new là hoạt động nhanh phối hợp các thành phần trong
hệ thống mail.
Phần III: TRIỂN KHAI & CÀI ĐẶT.

Có hai hình thức cài đặt đó là từ Source và cài đặt tập tin từ binary. Thông
thường để bảo mật và tối ưu hóa khi cài đặt và để cập nhật phiên bản mới nhất ta
nên cài từ source, nhưng nó đòi hỏi người quản trị phải nắm rõ cách biên dịch và cài
đặt, đồng thời hiểu rõ chương trình cần cài đặt và nhu cầu của hệ thống. Ở đây
hướng dẫn cài đặt từ binary (gói rpm) cho đơn giản.
 Source Postfix có thể tải tại đây:

 Tải Source Dovecot tại đây />1.2.3.tar.gz
 Tải Source SquirrelMail tại />%2F%2Fprdownloads.sourceforge.net%2Fsquirrelmail%2Fsquirrelmail-
1.4.20-RC2.tar.gz
 Tải Source ClamAV tại />0.95.2.tar.gz.
 Tải Source Amavisd-new tại />2.6.4.tar.gz.
1.1. Cài Đặt Postfix và Dovecot.
1.1.1. Cài Đặt và Cấu Hình Postfix.
Cài đặt từ gói rpm ta dùng lệnh yum:
[root@localhost ~]# yum install postfix
Nếu cài đặt postfix sử dụng MySQL làm mail store thì dùng lệnh:
[root@localhost ~]# yum enablerepo=centosplus install postfix
mysql-server
9 | P a g e
Những file cấu hình của Postfix nằm trong thư mục /etc/postfix. Để cấu
hình một mail server cơ bản, chỉ cần vài thay đổi nhỏ trong những file sau đây
/etc/postfix/main.cf: cấu hình cơ bản
Chỉnh sửa tại các dòng sau:
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost,
$mydomain
home_mailbox = Maildir/
Dạng lưu trữ Maildir tốt hơn so với dạng lưu trữ Mailbox, tuy nhiên tùy vào
nhu cầu cụ thể mà chọn kiểu lưu trữ cho thích hợp.

// chỉ tạo hộp thư cho một user nào đó
$ mkdir $HOME/Maildir
$ mkdir $HOME/Maildir/cur
$ mkdir $HOME/Maildir/new
$ mkdir $HOME/Maildir/tmp
$ chmod -R 700 $HOME/Maildir
// tạo hộp thư cho tất cả user (mỗi user sẽ có hộp thư riêng
khi tạo user mới)
$ su -
# mkdir /etc/skel/Maildir
# mkdir /etc/skel/Maildir/cur
# mkdir /etc/skel/Maildir/new
# mkdir /etc/skel/Maildir/tmp
# chmod -R 700 /etc/skel/Maildir
Tiến hành khởi động lại postfix
[root@localhost ~]# service postfix restart
Shutting down postfix: [ OK ]
Starting postfix: [ OK ]
[root@localhost ~]#
Bây giờ có thể dùng postfix được rồi. Kiểm tra postfix đã hoạt động tốt
chưa bằng cách kết nối thử đến cổng 25.
[root@localhost ~]# telnet localhost 25
Trying 127.0.0.1
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 localhost.localdomain ESMTP Postfix
helo host
10 | P a g e
250 localhost.localdomain
quit

221 2.0.0 Bye
Connection closed by foreign host.
Nếu có lỗi phát sinh ta kiểm tra log tại /var/log/mailog.
1.1.2. Cài Đặt và Cấu Hình Dovecot.
Cài đặt từ gói rpm ta dùng lệnh:
[root@localhost ~]# yum install dovecot
/etc/dovecot.conf file cấu hình cơ bản.
Chỉnh sửa file dovecot:
[root@localhost ~]# vi /etc/dovecot.conf
Tìm và sửa các dòng sau:
protocols = pop3 pop3s imap imaps
mail_location = maildir:~/Maildir/
pop3_uidl_format = %08Xu%08Xv
imap_client_workarounds = delay-newmail outlook-idle
netscape-eoh
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
Tiến hành khởi động lại dovecot:
[root@localhost ~]# service dovecot restart
Stopping Dovecot Imap: [ OK ]
Starting Dovecot Imap: [ OK ]
[root@localhost ~]#
Kiểm tra lại dovecot đã hoạt động tốt chưa bằng cách kết nối đến cổng
110
[root@localhost ~]# telnet localhost 110
Trying 127.0.0.1
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
+OK Dovecot ready.
quit
+OK Logging out

Connection closed by foreign host.
11 | P a g e
Chúng ta đã cài hoàn tất Postfix + Dovecot giờ tiến hành cài đặt webmail với
SquirrelMail.
1.2. Cài Đặt Webmail Với SquirrelMail.
Lưu ý: Trước tiên cần phải cài đặt web server và imap server và php.
Cài đặt SquirrelmMail:
[root@localhost ~]# yum install squirrelmail
Cấu hình cho SquirrelMail.
[root@localhost ~]#/usr/share/squirrelmail/config/conf.pl
Sẽ thấy như sau:
SquirrelMail Configuration : Read: config.php (1.4.0)

Main Menu
1. Organization Preferences
2. Server Settings
3. Folder Defaults
4. General Options
5. Themes
6. Address Books
7. Message of the Day (MOTD)
8. Plugins
9. Database
10. Languages
D. Set pre-defined settings for specific IMAP servers
C Turn color off
S Save data
Q Quit
Command >>
Chọn menu thích hợp và cung cấp những thông tin cần thiết. Quan trọng

nhất ở bước này là "2. Server Settings", phần IMAP server. Sau khi chỉnh sửa xong,
chọn "S Save data" (lưu giữ cấu hình) và "Q Quit" (thoát). Cấu hình sẽ được ghi lại
trong file "/etc/squirrelmail/config.php". Phần “2. Server Sttings” như sau:
SquirrelMail Configuration : Read: config.php (1.4.0)
12 | P a g e

Server Settings
General

1. Domain : localhost
2. Invert Time : false
3. Sendmail or SMTP : Sendmail
A. Update IMAP Settings : localhost:143 (uw)
B. Change Sendmail Config : /usr/sbin/sendmail
R Return to Main Menu
C Turn color off
S Save data
Q Quit
Command >>
Kiểm tra lại lần cuối
[root@localhost ~]# vi /etc/squirrelmail/config.php
Phần chính của file /etc/squirrelmail/config.php thường có cấu trúc như sau:
###
$org_name = "My Webmail Service";
$squirrelmail_default_language = 'en_US';
$domain = 'real.domain.name';
$imapServerAddress = 'localhost';
$imapPort = 143;
$useSendmail = true;
$smtpServerAddress = 'localhost';

$smtpPort = 25;
$sendmail_path = '/usr/sbin/sendmail';
// trườngng hợp IMAP server là courier-imap
$imap_server_type = 'courier';
$default_folder_prefix = 'INBOX.';
$trash_folder = 'Trash';
$sent_folder = 'Sent';
$draft_folder = 'Drafts';
###
Chạy SquirrelMail bằng cách gõ http://localhost/webmai.
13 | P a g e
1.3. Cài Đặt Bộ Lọc Spam.
1.3.1. Lọc Spam Dùng DNS-Base Blocklists (DNSBL, RBL).
Ghi thêm vào file main.cf (/etc/postfix/main.cf) những dòng sau:
smtpd_client_restrictions = permit_mynetworks, reject_rbl_client
list.dsbl.org, reject_rbl_client relays.ordb.org, reject_rbl_client sbl-
xbl.spamhaus.org
smtpd_recipient_restrictions = permit_mynetworks, reject_rbl_client
list.dsbl.org, reject_rbl_client relays.ordb.org, reject_rbl_client sbl-
xbl.spamhaus.org
Reload postfix.
[root@localhost ~]# postfix reload
postfix/postfix-script: refreshing the Postfix mail system
[root@localhost ~]#
Nói thêm về cách block spam bằng cách kiểm tra trước khi email thực sự
được gửi đi. Không liên quan đến RBL, tuy nhiên có những đặc điểm giống cách
lọc spam bằng RBL: chỉ kiểm tra header, dựa vào DNS. Chèn thêm các dòng sau
vào file main.cf (/etc/postfix/main.cf):
 Yêu cầu client phải gửi lệnh HELO (EHLO)
smtpd_helo_required = yes

smtpd_helo_restrictions = permit_mynetworks,
reject_invalid_hostname
 Từ chối relay (Reject) nếu không tìm thấy A, MX record
smtpd_sender_restrictions = reject_unknown_sender_domain
 Từ chối relay từ một số địa chỉ IP nhất định (vì nhiễm virus?)
# ví dụ 192.168.1.100, 172.16.1.0/24
smtpd_client_restrictions = permit_mynetworks, check_client_access
hash:/etc/postfix/reject_client
- Nội dung file /etc/postfix/reject_client
14 | P a g e
192.168.1.100 REJECT
172.16.1 REJECT
- Tạo database /etc/postfix/reject_client.db bằng lệnh sau
/usr/sbin/postmap /etc/postfix/reject_client
 Từ chối relay từ một số người nhất định (spammer)
# ví dụ , *@domain2.name
smtpd_sender_restrictions = reject_unknown_sender_domain,
reject_non_fqdn_sender, hash:/etc/postfix/reject_sender
- File /etc/postfix/reject_sender có nội dung như sau:
REJECT
domain2.name REJECT
- Tạo database /etc/postfix/reject_sender.db
/usr/sbin/postmap /etc/postfix/reject_sender

Sau khi thêm các dòng cần thiết vào ta phải reload postfix.
Đây là danh sách hàng trăm RBL. Hãy tìm kiếm và lựa chọn những RBL
phù hợp với nhu cầu.
1.3.2. Lọc Spam Dùng SpamAssassin.
- Cài đặt procmail và SpamAssassin:
[root@localhost ~]# yum install procmail

[root@localhost ~]# yum install spamassassin
- Sửa file main.cf (/etc/postfix/main.cf) để procmail xử lý mail. Tìm và
uncomment (bỏ dấu thăng (#)) dòng sau:
mailbox_command = /some/where/procmail
Sửa dòng trên lại thành:
mailbox_command = /usr/bin/procmail
- Tiếp đến tạo một file /etc/procmailrc như sau:
15 | P a g e
MAILDIR=$HOME
DEFAULT=$MAILDIR/Maildir/
DROPPRIVS=yes
# spam thường có size nhỏ hơn 10 KiB (10*1024=10240 bytes),
# Ấn định kích thước mail cần kiểm tra
:0fw
* < 10240
| /usr/bin/spamc
- Lập các qui tắc kiểm tra mail cho SpamAssassin, File local.cf
(/etc/mail/spamassassin/local.cf) ghi quy tắc chung cho mọi user.
# Ngôn ngữ trong mail thường sử dụng tiếng anh và tiếng viêt
ok_locales vi en
# These should be safe assumptions and allow for simple visual
sifting
# without risking lost emails.
required_hits 5
report_safe 0
rewrite_header Subject [SPAM]
# Những mail quan trọng không đánh dấu là spam
whitelist_from
whitelist_from *@fpt.com.vn
- Khởi động SpamAssassin

[root@localhost ~]# service spamassassin start
1.4. Cài Đặt AntiVirus.
1.4.1. Cài Đặt ClamAV.
Để cài ClamAV từ bằng lệnh yum ta phải cài yum-priorities và rpmforge
[root@localhost ~]# yum install yum-priorities
16 | P a g e
[root@localhost ~]# rpm -Uhv
/>1.el5.rf.i386.rpm
Kiểm tra phiên bản mới.
[root@localhost ~]# yum check-update
Cài đặt ClamAV.
[root@localhost ~]# yum install clamav clamd
File /etc/freshclam.conf (tự động cập nhật thông tin virus), File
/etc/clamav.conf (chương trình chính). Thường thì khi cài từ binary thì ta để
các file này mặc định.
Khởi động ClamAV
[root@localhost ~]# service clamd start
Để kiểm tra xem ClamAV ta có thể chạy lệnh:
[root@localhost ~]# clamscan
Để Update database cho ClamAV ta dùng lệnh:
[root@localhost ~]# freshscan
1.4.2. Cài Đặt Amavisd-new.
Cài Amavisd-new với lệnh yum.
[root@localhost ~]# yum install amavisd-new
Cấu hình Amavisd-new. File amavis.conf (/etc/amavisd.conf), thường
thì để mặc định. Chỉnh sửa Postfix để Amavisd-new có thể hoạt động. File
master.cf (/etc/postfix/master.cf) thêm các dòng sau vào:
127.0.0.1:10025 inet n - y - - smtpd
-o content_filter=
-o local_recipient_maps=

-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
17 | P a g e
-o smtpd_recipient_restrictions=permit_mynetworks,
reject_unauth_destination
-o mynetworks=127.0.0.0/8
smtp-amavis unix - - y - 2 smtp
-o smtp_data_done_timeout=1200
-o disable_dns_lookups=yes
Thêm dòng sau vào file main.cf (/etc/postfix/main.cf):
content_filter = smtp-amavis:[127.0.0.1]:10024
Phần III: KẾT LUẬN
1.1. Kết Quả Đạt Được.
Đã xây dựng được một Mail Server với đầy đủ chức năng gửi nhận mail
dùng giao thức POP3/IMAP – SMTP, có các chức năng lọc Spam và Virus, ở mức
cơ bản. Đồng thời cho phép người dùng có thể nhận gửi mail trực tiếp trên môi
trường web (Web Mail). Chưa có các thành phần xác thực người dùng, tất cả các
thành phần đều chạy trên một server nên độ bảo mật không cao, khi một thành
phần bị lỗi có thể ảnh hưởng đến toàn bộ hệ thống.
1.2.Hướng Phát Triển.
Một hệ thống mail của doanh nghiệp thường có mô hình như sau:
18 | P a g e
Hình 3.2 – Mô hình Front-End/Back-End
Xây dựng một Mail Gateways với Postfix và tiến hành lọc Spam và Virus
trước khi chuyển tiếp mail vào trong Mail Store, đồng thời có thể tiến hành lọc
Spam và Virus khi người dùng gửi mail vào trong hệ thống. Sơ đồ lọc Mail tại
Mail Gateways.

19 | P a g e

Hình 4.3 – Sơ đồ hệ thống lọc Mail
Xác thực người dùng khi người dùng đăng nhập vào hệ thống để check
mail. Xây dựng hệ thống quản lý mail tập trung cho người dùng với LDAP hoặc
lưu trữ mail trên hệ thống cơ sở dữ liệu MySQL.
Hình 4.4 - Mô hình xác thực khi truy cập vào Mail Server
Dùng giao thức HTTPS thay cho HTTP khi người dùng quản lý mail bằng
giao diện web.
Kiện toàn bảo mật cho các thành phần trên mail server: Chỉ cài đặt những
modules cần thiết và tối thiểu để tránh tình trạng lỗi xuất hiện trên những
modules ko dùng đến gây nguy hại đến server. Trên linux dùng chroot để ấn
định các thành phần của Mail Server (Postfix, Dovecot, Apache … ) hoạt động
chạy trên khu vực quy đinh sắn (khái niệm này đôi khi gọi là “Jail” ), để dễ dàng
kiểm soát và giới hạn quyền truy cập của ứng dụng đó, nếu lỗi phát sinh tại ứng
dụng đó thì Hacker chỉ có thể truy cập đến các thành phần được ấn định sẵn cho
ứng dụng đó nên không gây nguy hại đến các thành phần khác hoặc cả server.
20 | P a g e

×