Tải bản đầy đủ (.docx) (17 trang)

Hệ phân tán- hệ thống mail 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 (441.48 KB, 17 trang )

Hệ phân tán_ Hệ thống mail postfix

Trường Đại Học Bách Khoa Hà Nội
Trung tâm đào tạo Tài Năng và Chất Lượng Cao
…………..o0o…………..

Bài tập lớn Hệ phân tán
Cài đặt và kiểm thử hệ thống mail Postfix

Giảng viên

: Thầy Hà Quốc Trung

Hệ thống thông tin và truyền thông - KSCLCK52 1


Hệ phân tán_ Hệ thống mail postfix

Mục Lục

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.

Hệ thống thông tin và truyền thông - KSCLCK52 2




Hệ phân tán_ Hệ thống mail postfix

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.
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ệ thống thông tin và truyền thông - KSCLCK52 3


Hệ phân tán_ Hệ thống mail postfix

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 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

Hệ thống thông tin và truyền thông - KSCLCK52 4


Hệ phân tán_ Hệ thống mail postfix

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

Hệ thống thông tin và truyền thông - KSCLCK52 5


Hệ phân tán_ Hệ thống mail postfix

Giới Thiệu Các Thành Phần.


1.2.1.

1.2.1.1.

Giới Thiệu Postfix.

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.1.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.1.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.2.

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ệ thống thông tin và truyền thông - KSCLCK52 6


Hệ phân tán_ Hệ thống mail postfix
-

-

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. 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.

1.3.1.1.

AntiSpam:
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.


Hệ thống thông tin và truyền thông - KSCLCK52 7


Hệ phân tán_ Hệ thống mail postfix

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ả.


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.

Hệ thống thông tin và truyền thông - KSCLCK52 8


Hệ phân tán_ Hệ thống mail postfix

Phần III: TRIỂN KHAI & CÀI ĐẶT.
Trước khi cài đặt postfix chúng ta cần cài đặt mysql và apache2. Ta mở
cửa sổ command line và gõ các dòng lệnh sau:
Cài đặt mysql ta dùng lệnh:
sudo apt-get install mysql-server mysql-client
(Trong quá trình cài đặt hệ thống yêu cầu nhập user, password để truy cập vào
mysql server, ta cần cung cấp cho nó)
Cài đặt Apache2 ta dùng lệnh:
Sudo apt-get install apache2
(sau khi cài xong ta thử mở trình duyệt và truy cập vào địa chỉ http://localhost
thì sẽ thấy hinh như sau)

Hệ thống thông tin và truyền thông - KSCLCK52 9



Hệ phân tán_ Hệ thống mail postfix

1.1.Cài Đặt Postfix và Dovecot.
1.1.1.

Cài Đặt và Cấu Hình Postfix.

Để cài đặt Postfix ta dùng lệnh
Sudo apt-get install postfix
Và quá trình hệ thống thực hiên sẽ hiên như sau:
debian:~# apt-get install postfix
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
openssl openssl-blacklist ssl-cert
Suggested packages:
ca-certificates postfix-mysql postfix-pgsql postfix-ldap postfix-pcre
sasl2-bin libsasl2-modules resolvconf postfix-cdb ufw
The following packages will be REMOVED:
Hệ thống thông tin và truyền thông - KSCLCK52 10


Hệ phân tán_ Hệ thống mail postfix

exim4 exim4-base exim4-config exim4-daemon-light
The following NEW packages will be installed:
openssl openssl-blacklist postfix ssl-cert
0 upgraded, 4 newly installed, 4 to remove and 0 not upgraded.
Need to get 8611kB of archives.

After this operation, 14.0MB of additional disk space will be used.
Do you want to continue [Y/n]? Y

Trong quá trình cài đặt ta cần trả lời một số câu hỏi như sau:
New password for the MySQL "root" user: <-- yourrootsqlpassword
Repeat password for the MySQL "root" user: <-yourrootsqlpassword
Create directories for web-based administration? <-- No
General type of mail configuration: <-- Internet Site
System mail name: <-- server1.example.com
SSL certificate required <-- Ok
Workgroup/Domain Name: <-- WORKGROUP
Modify smb.conf to use WINS settings from DHCP? <-- No
Web server to reconfigure automatically: <-- apache2

Sau khi cài đặt postfix tự đông kích hoạt, để test hệ thống có thể thực
hiên gửi thư bằng câu lệnh như sau:
debian:~# telnet localhost 25
Hệ thống thông tin và truyền thông - KSCLCK52 11


Hệ phân tán_ Hệ thống mail postfix

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 server1.example.com ESMTP Postfix (Debian/GNU)
ehlo localhost
250-server1.example.com
250-PIPELINING
250-SIZE 10240000

250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.

1.1.2.

Cài Đặt và Cấu Hình Dovecot.

Để có thể dùng postfix với POP3 hay IMAP ta cần tiến hành cài
đặt và cấu hình dovecot như sau:
Sudo apt-get install dovecot-imapd dovecot-pop3d
Hệ thống thông tin và truyền thông - KSCLCK52 12


Hệ phân tán_ Hệ thống mail postfix

Ta mở file dovecot.conf và cấu hình như sau:
/etc/dovecot.conf file cấu hình cơ bản.
Chỉnh sửa file dovecot:
[root@localhost ~]# vi /etc/dovecot.conf
Khai báo protocols nếu dùng Ubuntu 7.04 trở lên
protocols= pop3 pop3s imap imaps

listen = *
Khai báo mail box
mail_localtion = maildir:~/Maildir
/etc/dovecot.conf file cấu hình cơ bản.
Chỉnh sửa file dovecot:
[root@localhost ~]# vi /etc/dovecot.conf

Tiến hành khởi động lại dovecot:

[root@localhost ~]# service dovecot restart
Stopping Dovecot Imap:
Starting Dovecot Imap:
[root@localhost ~]#

[ OK ]
[ OK ]

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 '^]'.
Hệ thống thông tin và truyền thông - KSCLCK52 13


Hệ phân tán_ Hệ thống mail postfix

+OK Dovecot ready.

quit
+OK Logging out
Connection closed by foreign host.
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.

Tiến hành cài đặt webmail Squirrel
debian:~# apt-get install squirrelmail php-pear
cấu hình Squirrel mail
debian:~# cp /etc/squirrelmail/apache.conf/
etc/apache2/conf.d/squirrelmail.conf
debian:~# /etc/init.d/apache2 restart
debian:~# pear install DB

Thử nghiệm dao diện đồ họa bằng cách truy cập vào
http://IPMayChu/squirrelmail

Hệ thống thông tin và truyền thông - KSCLCK52 14


Hệ phân tán_ Hệ thống mail postfix

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 chức năng lọc Spam và
Virus, ở mức cơ bản chúng em chỉ giới thiêu qua). Đồ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:

Hệ thống thông tin và truyền thông - KSCLCK52 15


Hệ phân tán_ Hệ thống mail postfix

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.

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ệ thống thông tin và truyền thông - KSCLCK52 16


Hệ phân tán_ Hệ thống mail postfix

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.

Hệ thống thông tin và truyền thông - KSCLCK52 17



×