<![CDATA[Latest posts for the topic "Làm mail server với Postfix - Phần 1 "]]> /hvaonline/posts/list/24.html JForum - http://www.jforum.net Làm mail server với Postfix - Phần 1 http://james.dyndns.ws/index.php Tác giả : James Nguyen Nội dung 1. Giới thiệu 2. Cài đặt, cấu hình cơ bản 3. Mở rộng, nâng cao 4. Tham khảo Giới thiệu Postfix là một MTA (Mail Transport Agent), đượ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 (đọc ở đâu quên rồi, sẽ tìm URL bổ sung sau). Bài viết này giới thiệu cách dùng Postfix để dựng một mail server trong Linux. Bắt đầu viết: tháng 5 năm 2003. Thay đổi lần cuối vào lúc: Sun Feb 1 12:47:44 JST 2004. Cài đặt và cấu hình Nhiều distro đóng gói kèm theo Postfix. Nói chung việc cài đặt Postfix khá đơn giản và nhanh chóng. Ở đây chỉ giới thiệu cách cài đặt từ gói RPM. // tải postfix RPM từ http://rpmfind.net, sau đó cài đặt bằng lệnh # rpm -ivh postfix-***.i386.rpm // trong Fedora, có thể cài đặt bằng yum # yum install postfix // cách cài đặt trong Trustix # swup --install postfix 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/aliases: thông tin về user /etc/postfix/main.cf: cấu hình cơ bản Trước hết, chỉ định người nhận mail cho account root. Tìm trong file aliases dòng bắt đầu bằng "root" và chuyển mail đến người nhận thích hợp (giả sử chuyển cho james) // chuyển tất cả mail đến root cho james root: james // update thông tin của aliases database, gõ lệnh # /usr/bin/newaliases Tiếp đến, ghi những thông tin về mail server vào file main.cf // tên máy chủ, thay đổi cho thích hợp myhostname = mail.domain.name // nếu máy chủ gửi nhận mail cho cả domain mydomain = domain.name // nhận mail đến interface nào? inet_interfaces = all // chỉ nhận mail đến domain của tôi mydestination = $myhostname, localhost.$mydomain, $mydomain // địa chỉ mạng riêng mynetworks = 127.0.0.0, 172.16.0.0/12 // máy này không phải là OPEN RELAY SERVER!!! relay_domains = $mydestination Đến lúc này, Postfix đã sẵn sàng hoạt động một cách an toàn. Tiếp theo hãy chuẩn bị khởi động Postfix với những thao tác sau đây. Kiểm tra xem máy chủ có MTA nào khác đang hoạt động hay không, nếu có hãy tắt MTA đó. Khởi động Postfix # /etc/init.d/postfix start // để postfix tự khởi động mỗi lần bật máy # chkconfig --level 3 postfix on Bây giờ đến lúc kiểm tra lại $ telnet localhost 25
// sẽ thấy những dòng sau đây Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 mail.domain.name ESMTP Postfix // Xong rồi, logout thôi, gõ quit // sẽ thấy 221 Bye Connection closed by foreign host. 
Gửi thử một cái mail // tạo một file testmail.txt với nội dung tùy ý $ touch testmail.txt $ vi testmail.txt, gõ vào "Hello, World" // dùng chương trình mailx gửi mail cho root // chú ý: mail này sẽ được chuyển đến user james (xem phần aliases) $ mail root < testmail.txt // xong kiểm tra log (file /var/log/maillog) // và kiểm tra hộp mail của james Chú ý: theo mặc định, Postfix chuyển mail đến Mailbox. Mailbox là kiểu lưu giữ tất cả các mail trong một file (thường ở thư mục /var/spool/mail). Khác với Mailbox, Maildir là kiểu lưu giữ mỗi mail thành một file riêng (tất cả đặt trong thư mục /home/user/Maildir). Bạn cần biết đặc điểm (ưu, khuyết điểm) của mỗi cách và chọn cho mình cách thích hợp. Sẽ có bài viết về vấn đề này. Cấu hình để Postfix chuyển mail đến Maildir: tìm dòng home_mailbox trong file main.cf, sửa lại như sau # không dùng kiểu mặc định # home_mailbox = Mailbox # thích kiểu Maildir hơn home_mailbox = Maildir/ Sau đó tạo hộp thư // chỉ tạo hộp thư cho user james $ 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: ghi vào /etc/skel $ 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 Đến đây có thể dùng Postfix được rồi. Tuy nhiên, để có được một mail server như ý muốn, hãy còn rất nhiều công việc phía trước. Xem thêm phần "Mở rộng và thông tin thêm". Mở rộng, thông tin thêm 1. Cho phép gửi mail từ những máy không thuộc relay_domains: SMTP AUTH, POP BEFORE SMTP 2. Nên dùng Mailbox hay Maildir? http://www.courier-mta.org/mbox-vs-maildir/ 3. Ngăn chặn, lọc thư rác (spam) 4. Quét virus kèm theo mail 5. Mã hóa: giải pháp TLS (Transport Layer Security) 6. Làm mailing list 7. Những thay đổi khác: tất cả những cấu hình của Postfix và giá trị mặc định (default) được ghi trong file /etc/postfix/main.cf.default. Tùy theo yêu cầu trong mỗi trường hợp, hãy thay đổi những giá trị mặc định đó. Chú ý: mọi thay đổi phải được ghi vào file main.cf, không sửa trực tiếp lên file main.cf.default!
* gửi toàn bộ lỗi, cảnh báo cho postmaster notify_classes = delay, policy, protocol, resource, software * 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 * không muốn bị scan bằng VRFY disable_vrfy_command = yes * giới hạn kích cỡ mỗi e-mail là 2 MiB message_size_limit = 2048000 * muốn tất cả địa chỉ e-mail đều được chuyển thành dạng @domain.name trước khi gửi đi masquerade_domains = domain.name 
Tham khảo 1. http://www.postfix.org 2. /usr/share/doc/postfix-version/* 3. hỏi Google :) ------------------- http://vnhacker.org/hvaonline/posts/list/2550.html http://vnhacker.org/hvaonline/posts/list/2551.html http://vnhacker.org/hvaonline/posts/list/2552.html http://vnhacker.org/hvaonline/posts/list/2553.html http://vnhacker.org/hvaonline/posts/list/2554.html ]]>
/hvaonline/posts/list/1294.html#6091 /hvaonline/posts/list/1294.html#6091 GMT
Re: Làm mail server với Postfix Kiểm tra open relay * http://www.abuse.net/relay.html * http://spamlart.homeunix.org/ * http://www.ordb.org/submit/ * http://members.iinet.net.au/~remmie/relay/ ]]> /hvaonline/posts/list/1294.html#6092 /hvaonline/posts/list/1294.html#6092 GMT Re: Làm mail server với Postfix Theo dõi maillog bằng pflogsumm http://jimsun.linxnet.com/postfix_contrib.html ]]> /hvaonline/posts/list/1294.html#6098 /hvaonline/posts/list/1294.html#6098 GMT cau hình external mail address? /hvaonline/posts/list/1294.html#252286 /hvaonline/posts/list/1294.html#252286 GMT cau hình external mail address?

caochivicm wrote:
chào các bạn, mình đang cấu hình mail postfix trên Centos 5, giả sử mình có local domain của mình là abc.com, va external domain là camau.com, mình muốn khi gửi mail trong cty thì sẻ có địa chỉ là user@abc.com, và khi gửi ra internet thì sẻ la user@camau.com, như vậy thì phải cấu hình như thế nào? Thanks các bạn  
Xem ở đây http://wiki.excito.org/wiki/index.php/Setting-up-postfix-for-sending-mail-using-an-external-SMTP-server P/s : Cho hỏi vấn đề ngoài phạm vi bài viết này, bro ở Cà Mau , làm việc ở công ty nào vậy ? ]]>
/hvaonline/posts/list/1294.html#252293 /hvaonline/posts/list/1294.html#252293 GMT
Làm mail server với Postfix - Phần 1 /hvaonline/posts/list/1294.html#252360 /hvaonline/posts/list/1294.html#252360 GMT Làm mail server với Postfix - Phần 1 /hvaonline/posts/list/1294.html#252437 /hvaonline/posts/list/1294.html#252437 GMT Làm mail server với Postfix - Phần 1

thuank51cc wrote:
Chào bạn tranvanminh. Bạn đã từng làm authenticate cho mail postfix server chưa.. Nều làm rồi thì hướng dẫn mình với nha.. Mình đang làm mà hơi bí vẫn chưa thể authenticate được. Mô hình mail bên mình là : client ==> Mail server ==> Mail relay(send mail). Mình đang làm postfix authenticate dùng cyrus sasl.. Và có cách nào sử dụng bằng file pass không cần dùng đến mysql không bạn? Thanks bạn nhiều 
Bạn cần tạo như sau : Code:
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_type = cyrus
Sau đó bạn tạo tập tin Code:
/etc/postfix/sasl_passwd:
    hvaonline.net                    tranhuuphuoc:emyeu
#chmod 600 /etc/postfix/sasl_passwd #postmap /etc/postfix/sasl_passwd Lúc này nó sẽ tạo ra 1 tập tin passwd.db cho bạn. Tuy nhiên nếu điều chỉnh kiểu này thì mất thời gian lắm vì phải điều chỉnh nhân công, nếu công ty của bạn có hàng ngày, hàng trăm nhân sự thì việc quả thật không nên dùng do vậy giải pháp dùng MySQL, OpenLDAP là điều cần được tính đến. ]]>
/hvaonline/posts/list/1294.html#252440 /hvaonline/posts/list/1294.html#252440 GMT
Làm mail server với Postfix - Phần 1 Error: authentication failed: another step is needed in authentication quit" Dưới đây là 2 file cấu hình của mình: +main.cf: relay_domains = $mydestination smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = example.com smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtp_sasl_type = cyrus smtpd_recipient_restrictions = permit_sasl_authenticated permit_mynetworks permit_mydestination reject_unauth_destination permit_inet_interfaces smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd sender_dependent_relayhost_maps = hash:/etc/postfix/relayhost_map message_size_limit = 0 mailbox_size_limit = 0 transport_maps = hash:/etc/postfix/transport Đã tạo ra sasl_passwd.db. Mình chưa hiểu postfix nó kêt nối cyrus sasl như thế nào "smtp_sasl_type = cyrus" thanks Phước nhiều :) ]]> /hvaonline/posts/list/1294.html#252450 /hvaonline/posts/list/1294.html#252450 GMT Làm mail server với Postfix - Phần 1 http://www.linuxtopia.org/online_books/mail_systems/postfix_documentation/SASL_README_008.html Đại loại như thế này bạn muốn cấu hình Internal authentication (local users) thì trong tập tin cấu hình của saslauthd thì MECH=shadow , nếu bạn dùng PAM thì MECH=pam và cần chú ý đến smtpd.conf cho từng trường hợp, với điều kiện SASL Authentication. Code:
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = cyrus
smtpd_sasl_path = smtpd
smtpd_sasl_security_options = noanonymous
smtpd_sasl_authenticated_header = yes
Nếu có thêm LDAP thì thêm vào Code:
pwcheck_method: auxprop
auxprop_plugin: ldapdb
mech_list: DIGEST-MD5 PLAIN LOGIN
ldapdb_uri: ldap://localhost
ldapdb_id: postfix
ldapdb_pw: highsecuritypassword
ldapdb_mech: DIGEST-MD5
]]>
/hvaonline/posts/list/1294.html#252559 /hvaonline/posts/list/1294.html#252559 GMT
Làm mail server với Postfix - Phần 1 /hvaonline/posts/list/1294.html#252621 /hvaonline/posts/list/1294.html#252621 GMT Làm mail server với Postfix - Phần 1

docong1010 wrote:
Dear Anh Phước Cho mình hỏi nếu có một mail server gỏi vào theo kiểu bruteforce để tìm user trong mail server . Nếu server gởi email mà không có user quá 3 lần thì nó sẽ tự đông block lại . Anh có giải pháp nào về vấn đề này không ? Thank Anh 
Được dùng Fail2ban http://www.fail2ban.org/wiki/index.php/Main_Page]]>
/hvaonline/posts/list/1294.html#252622 /hvaonline/posts/list/1294.html#252622 GMT