Xây Dựng Mail Server với Postfix http://tailieuit.com [email protected]Sưu tầm và biên soạn bởi h2_audio Diễn Đàn TaiLieuIT.Com Xây Dựng Mail Server với Postfix Phần I Ngày nay, quá trình tin học hóa trong các doanh nghiệp diễn ra khá nhanh khiến cho hệ thống E-mail của doanh nghiệp trở nên hết sức quan trọng. Vì hệ thống e-mail cho doanh nghiệp cần đảm bảo các yêu cầu về tính sẵn sàng (Availability)-hoạt độn ổn định và dễ dàng mở rộng, và tính riêng tư (Private) cho doanh nghiệp. Ngoài ra chi phí đầu tư cũng rất quan trọng khi chọn và triển khai.Ebook này được h2_audio Admin diễn đàn http://tailieuit.com sưu Tầm và biên soạn 24/6/2013 Các hệ thống Mail Server chuyên dụng thì chi phí cao nhưng hoạt động ổn định, nhanh và bảo mật cao thường thì chỉ triển khai cho các doanh nghiệp lớn đòi hỏi tính bảo mật cao. Mô hình dạng cơ bản như sau:
Xây Dựng Mail Server với Postfix Ngày nay, quá trình tin học hóa trong các doanh nghiệp diễn ra khá nhanh khiến cho hệ thống E-mail của doanh nghiệp trở nên hết sức quan trọng. Vì hệ thống e-mail cho doanh nghiệp cần đảm bảo các yêu cầu về tính sẵn sàng (Availability)-hoạt độn ổn định và dễ dàng mở rộng, và tính riêng tư (Private) cho doanh nghiệp. Ngoài ra chi phí đầu tư cũng rất quan trọng khi chọn và triển khai.
Các hệ thống Mail Server chuyên dụng thì chi phí cao nhưng hoạt động ổn định, nhanh và bảo mật cao thường thì chỉ triển khai cho các doanh nghiệp lớn đòi hỏi tính bảo mật cao. Mô hình dạng cơ bản như sau:
Đối với các doanh nghiệp vừa và nhỏ ta cũng có thể triển khai như mô hình trên nhưng không sử dụng đến các Mail Server chuyên dụng, Giải pháp dùng trong trường hợp này thường là triển khai trên hệ thống Linux-Unix hoặc Microsoft
Tải Toàn Bộ Ebook Tại http://tailieuit.com/4r/threads/xay-dung-mail-server-voi-postfix.423/
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Sưu tầm và biên soạn bởi h2_audio Diễn Đàn TaiLieuIT.Com
Xây Dựng Mail Server với Postfix Phần I
Ngày nay, quá trình tin học hóa trong các doanh nghiệp diễn ra khá nhanh khiến cho hệ thống E-mail của doanh nghiệp trở nên hết sức quan trọng. Vì hệ thống e-mail cho doanh nghiệp cần đảm bảo các yêu cầu về tính sẵn sàng (Availability)-hoạt độn ổn định và dễ dàng mở rộng, và tính riêng tư (Private) cho doanh nghiệp. Ngoài ra chi phí đầu tư cũng rất quan trọng khi chọn và triển khai.Ebook này được h2_audio Admin diễn đàn http://tailieuit.com sưu Tầm và biên soạn 24/6/2013 Các hệ thống Mail Server chuyên dụng thì chi phí cao nhưng hoạt động ổn định, nhanh và bảo mật cao thường thì chỉ triển khai cho các doanh nghiệp lớn đòi hỏi tính bảo mật cao. Mô hình dạng cơ bản như sau:
Sưu tầm và biên soạn bởi h2_audio Diễn Đàn TaiLieuIT.Com
Đối với các doanh nghiệp vừa và nhỏ ta cũng có thể triển khai như mô hình trên nhưng không sử dụng đến các Mail Server chuyên dụng, Giải pháp dùng trong trường hợp này thường là triển khai trên hệ thống Linux-Unix hoặc Microsoft Linux-Unix: Ưu điểm là miễn phí và mã nguồn mở, yêu cầu phần cứng thấp, nhanh và ổn định. Nhược điểm khó triển khai và quản trị. Microsoft: Ưu điểm dễ dàng triển khai và quản trị, thân thiện với người dùng. Nhược điểm giá thành tương đối và yêu cầu phần cứng cao. Nhưng bất cứ hệ thống mail nào cũng hoạt động dựa trên kiến trúc sau:
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
Sưu tầm và biên soạn bởi h2_audio Diễn Đàn TaiLieuIT.Com
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). 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) 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. 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.
Sưu tầm và biên soạn bởi h2_audio Diễn Đàn TaiLieuIT.Com
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: ftp://ftp4.tnc.edu.tw/pub1/Postfix/o...x-2.6.3.tar.gz Tải Source Dovecot tại đây http://www.dovecot.org/releases/1.2/...t-1.2.3.tar.gz Tải Source SquirrelMail tại http://squirrelmail.org/countdl.php?....20-RC2.tar.gz Tải Source ClamAV tại http://downloads.sourceforge.net/cla...-0.95.2.tar.gz. Tải Source Amavisd-new tại http://www.ijs.si/software/amavisd/a...w-2.6.4.tar.gz. I. Cài Đặt Postfix và Dovecot 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 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)
Sưu tầm và biên soạn bởi h2_audio Diễn Đàn TaiLieuIT.Com
$ 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 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. 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:
Sưu tầm và biên soạn bởi h2_audio Diễn Đàn TaiLieuIT.Com
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.
Chúng ta đã cài hoàn tất Postfix + Dovecot phần tiếp theo ta tiến hành cài đặt
Webmail với SquirrelMail.
Xây Dựng Mail Server Với Postfix - Phần 4 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:
Sưu tầm và biên soạn bởi h2_audio Diễn Đàn TaiLieuIT.Com
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) --------------------------------------------------------- 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
Sưu tầm và biên soạn bởi h2_audio Diễn Đàn TaiLieuIT.Com
Server nào, phần này sẽ hướng dẫn cho các bạn tích hợp các bộ lọc Spam và AntiVirus Cho Postfix. I. Cài Đặt Bộ Lọc Spam 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
Sưu tầm và biên soạn bởi h2_audio Diễn Đàn TaiLieuIT.Com
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ụ [email protected], *@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: [email protected] 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. http://moensted.dk/spam/. 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:
Sưu tầm và biên soạn bởi h2_audio Diễn Đàn TaiLieuIT.Com
# 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 [email protected] whitelist_from *@fpt.com.vn - Khởi động SpamAssassin
[root@localhost ~]# service spamassassin start II. Cài Đặt AntiVirus 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 [root@localhost ~]# rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/...l5.rf.i386.rpm Kiểm tra phiên bản mới. [root@localhost ~]# yum check-update Cài đặt ClamAV.
Sưu tầm và biên soạn bởi h2_audio Diễn Đàn TaiLieuIT.Com
[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 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= -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