Thiết lập Mail Server trên nền tảng Debian (Phần 4)



Chúng tôi xin tiếp tục hướng dẫn các bạn cách thiết lập hệ thống mail server đầy đủ tính năng, an toàn bảo mật, dễ dàng mở rộng và thay thế một số chức năng khác nếu cần.

MX server

Tại bước này, chúng ta sẽ tiến hành ghép các tính năng bảo mật. Cũng tại đây, MX server sẽ đảm nhiệm chức năng quét virus, mặt khác cần phải có repository volatile trong file /etc/apt/sources.list.d/volatile.list:

deb http://volatile.debian.org/debian-volatile lenny/volatile main

và backport dành cho các phiên bản mới hơn của dovecot trong file /etc/apt/sources.list.d/backports.list:

deb http://backports.debian.org/debian-backports lenny-backports main

Cập nhật cơ sở dữ liệu cho apt:

sudo apt-get update

và cài đặt các gói yêu cầu như bình thường:

sudo apt-get install  clamav-daemon clamav-freshclam exim4-daemon-heavy libmail-spf-query-perl

sudo apt-get -t lenny-backports install dovecot-imapd dovecot-pop3d

Tiếp tục với quá trình cài đặt exim4 tương tự như với server relay. File /etc/exim4/conf.d/main/04_mailMEOmacrodefs khởi tạo các macro để chúng ta sử dụng trong các file config khác:

ldap_default_servers = ldap.middle.earth

 # mailMEO macros definitions

.ifndef MAILMEO_DOMAINROOT

MAILMEO_DOMAINROOT = ou=domains,dc=middle,dc=earth

.endif

.ifndef MAILMEO_MAINDOMAIN

MAILMEO_MAINDOMAIN = ${lookup ldap {USER=userid=exim,dc=middle,dc=earth PASS=eximmta ldap:///MAILMEO_DOMAINROOT?dc?one?(associatedDomain=$domain)}}

.endif

domainlist mailMEO_domains = <\n ${sg{${lookup ldapm {\ 

    USER=userid=exim,dc=middle,dc=earth PASS=eximmta \ 

    ldap:///MAILMEO_DOMAINROOT?associatedDomain?one?\ 

    (&(objectClass=inetLocalMailRecipient)(objectClass=dNSDomain))}}}{,}{\\n}}

.ifndef CHECK_RCPT_IP_DNSBLS

CHECK_RCPT_IP_DNSBLS = cbl.abuseat.org:dnsbl.njabl.org:sbl.spamhaus.org

.endif

.ifndef CHECK_RCPT_SPF

CHECK_RCPT_SPF = true

.endif

CHECK_RCPT_SPF kích hoạt SPF để kiểm tra trong giao đoạn SMTP, từ chối mail để kiểm tra mail nếu spf thất bại. Mặt khác, CHECK_RCPT_IP_DNSBL cũng kích hoạt chức năng DNSBL lookup. Mở file /etc/exim4/conf.d/acl/30_exim4-config_check_rcpt và thay đổi lại các tham số sau:

.ifdef CHECK_RCPT_IP_DNSBLS

  warn

    message = X-Warning: $sender_host_address is listed at $dnslist_domain ($dnslist_value: $dnslist_text)

    log_message = $sender_host_address is listed at $dnslist_domain ($dnslist_value: $dnslist_text)

    dnslists = CHECK_RCPT_IP_DNSBLS

  .endif

thành:

.ifdef CHECK_RCPT_IP_DNSBLS

  deny

    message = Access denied: $sender_host_address is listed at $dnslist_domain ($dnslist_value: $dnslist_text)

    dnslists = CHECK_RCPT_IP_DNSBLS

  .endif

Và chỉ định exim chấp nhận các giá trị domain được khởi tạo bởi mailMEO_domains trong file /etc/exim4/conf.d/acl/30_exim4-config_check_rcpt. Hãy thay đổi:

require

  message = relay not permitted

  domains = +local_domains : +relay_to_domains

thành:

require

  message = relay not permitted

  domains = +local_domains : +relay_to_domains : +mailMEO_domains

Kích hoạt chức năng antivirus tương tự với server relay trong file /etc/exim4/conf.d/main/02_exim4-config_options:

av_scanner = clamd:/var/run/clamav/clamd.ctl

Bỏ dấu chú thích của 3 dòng trong file /etc/exim4/conf.d/acl/40_exim4-config_check_data:

deny

  malware = *

   message = This message was detected as possible malware ($malware_name).

Và gán các tài khoản người dùng clamav vào nhóm Debian-exim:

sudo adduser clamav Debian-exim

sudo /etc/init.d/clamav-daemon restart

Mục đích chính của MX server là định hướng toàn bộ email tới MX server mailstore – nơi mailbox được lưu trữ. Trong Exim, quá trình định hướng này có thể được thực hiện bằng cách sử dụng manualroute driver, có khả năng gửi email qua các host remote dùng SMTP. Tại đây, chúng ta cần 2 trình điều khiển – driver để quản lý, nắm giữ các tài khoản người dùng, alias và forwarder trên 1 phía và tất cả các tài khoản catchall tại phía bên kia.

Tất cả đều có trong file /etc/exim4/conf.d/router/075_mailMEOroutes:

mailMEO_routes: 

  debug_print = "R: $local_part@$domain routed with mailMEO_routes to $0" 

  driver = manualroute 

  domains = +mailMEO_domains 

  transport = remote_smtp 

  local_parts = <\n ${sg{\ 

    ${sg{\ 

        ${lookup ldapm \ 

            {USER=userid=exim,dc=middle,dc=earth PASS=eximmta \ 

            ldap:///dc=MAILMEO_MAINDOMAIN,MAILMEO_DOMAINROOT?mailLocalAddress?one?\ 

            (&(objectClass=inetLocalMailRecipient)(mailLocalAddress=$local_part@$domain))}\ 

        }}{([\\w\\-\\.]+)@([\\w\\-]+\\.)([\\w\\-]+)}{\$1}}\ 

        , ${lookup ldap \ 

            {USER=userid=exim,dc=middle,dc=earth PASS=eximmta \ 

            ldap:///dc=MAILMEO_MAINDOMAIN,MAILMEO_DOMAINROOT?uid?one?\ 

            (uid=$local_part)}}\ 

    }{,}{\\n}} 

  route_data = ${lookup ldap \ 

    {USER=userid=exim,dc=middle,dc=earth PASS=eximmta \ 

    ldap:///dc=MAILMEO_MAINDOMAIN,MAILMEO_DOMAINROOT?mailHost?base?}} 

  host_find_failed = defer 

  same_domain_copy_routing = yes

mailMEO_catchall_routes: 

  debug_print = "R: $local_part@$domain routed with mailMEO_catchall_route to $0" 

  driver = manualroute 

  domains = <\n ${sg{\ 

        ${lookup ldapm {\ 

            USER=userid=exim,dc=middle,dc=earth PASS=eximmta \ 

            ldap:///MAILMEO_DOMAINROOT?associatedDomain?one?\ 

            (&(objectClass=inetLocalMailRecipient)(objectClass=posixAccount)(objectClass=dNSDomain))}}\ 

    }{,}{\\n}} 

  transport = remote_smtp 

  route_data = ${lookup ldap \ 

    {USER=userid=exim,dc=middle,dc=earth PASS=eximmta \
   
ldap:///dc=MAILMEO_MAINDOMAIN,MAILMEO_DOMAINROOT?mailHost?base?}} 

  host_find_failed = defer 

  same_domain_copy_routing = yes

Quá trình này có thể được giải thích ngắn gọn như sau: bộ router này sẽ làm nhiệm vụ kiểm tra và xác nhận domain trước tiên được lưu trữ trên ldap, sau đó kiểm tra lại xem các địa chỉ email đó có sẵn hay không, và yêu cầu hostname của mail server nơi chứa mailbox.

Sau đó, hãy khởi động lại exim và tiếp tục với dovecot trong phần sau:

sudo /etc/init.d/exim4 restart




Được tạo bởi liennp
Lần sửa cuối 08/10/10

Giới thiệu PLANETPhản hồi trực tuyến Mua hàng ở đâySơ đồ WebsiteEnglish  

Sử dụng bộ phần mềm TVIS 3.0
© Bản quyền của công ty máy tính NETCOM Co.,Ltd 2000-2016

Số lần truy cập:

Mọi kết nối tới Website này cũng như việc tái sử dụng lại nội dung phải được sự đồng ý của công ty NETCOM Co.,Ltd.
Mọi chi tiết xin liên hệ theo địa chỉ sau: Công ty máy tính NETCOM Co.,Ltd Số 46A/120 Đường Trường Chinh - Phương Mai - Đống Đa - Hà Nội.
Tel: (04)35737747 , Fax: (04)35737748 , Email: support@netcom.com.vn