Thiết lập Postfix MTA và IMAP / POP3
Để gửi email từ máy chủ CentOS 7 của chúng tôi, chúng tôi sẽ cần thiết lập để định cấu hình Tác nhân chuyển thư (MTA) hiện đại. Mail Transfer Agent là daemon chịu trách nhiệm gửi thư đi cho người dùng hệ thống hoặc Tên miền Internet công ty thông qua SMTP.
Cần lưu ý, hướng dẫn này chỉ dạy quy trình thiết lập daemon để sử dụng cục bộ. Chúng tôi không đi vào chi tiết về cấu hình nâng cao để thiết lập MTA cho hoạt động kinh doanh. Đây là sự kết hợp của nhiều kỹ năng bao gồm nhưng không giới hạn ở: DNS, lấy địa chỉ IP tĩnh không bị liệt vào danh sách đen và định cấu hình cài đặt dịch vụ và bảo mật nâng cao. Tóm lại, hướng dẫn này nhằm giúp bạn làm quen với cấu hình cơ bản. Không sử dụng hướng dẫn này cho cấu hình MTA của một máy chủ lưu trữ Internet.
Với sự tập trung kết hợp của nó vào cả bảo mật và sự dễ dàng quản lý, chúng tôi đã chọn Postfixlàm MTA cho hướng dẫn này. MTA mặc định được cài đặt trong các phiên bản CentOS cũ hơn là Sendmail .Sendmaillà một MTA tuyệt vời. Tuy nhiên, theo ý kiến khiêm tốn của tác giả, Postfix đã đạt được điểm tốt khi giải quyết các lưu ý sau đây cho MTA. Với phiên bản mới nhất của CentOS, Postfix đã thay thế Sendmail làm MTA mặc định.
Postfix là một MTA được sử dụng rộng rãi và được ghi chép đầy đủ. Nó được duy trì và phát triển một cách tích cực. Nó yêu cầu cấu hình tối thiểu (đây chỉ là email) và hiệu quả với tài nguyên hệ thống (một lần nữa, đây chỉ là email).
Step 1 - Cài đặt Postfix từ Trình quản lý gói YUM.
[root@centos]# yum -y install postfix
Step 2 - Cấu hình tệp cấu hình Postfix.
Tệp cấu hình Postfix nằm trong: /etc/postfix/main.cf
Trong cấu hình Postfix đơn giản, những điều sau đây phải được định cấu hình cho một máy chủ cụ thể: tên máy chủ, miền, nguồn gốc, inet_interfaces và đích.
Configure the hostname- Tên máy chủ lưu trữ là tên miền đủ điều kiện của máy chủ lưu trữ Postfix. Trong chương OpenLDAP, chúng tôi đã đặt tên cho hộp CentOS: centos trên miền vmnet.local . Hãy gắn bó với điều đó cho chương này.
# The myhostname parameter specifies the internet hostname of this
# mail system. The default is to use the fully-qualified domain name
# from gethostname(). $myhostname is used as a default value for many
# other configuration parameters.
#
myhostname = centos.vmnet.local
Configure the domain- Như đã nêu ở trên, miền chúng tôi sẽ sử dụng trong hướng dẫn này là vmnet.local
# The mydomain parameter specifies the local internet domain name.
# The default is to use $myhostname minus the first component.
# $mydomain is used as a default value for many other configuration
# parameters.
#
mydomain = vmnet.local
Configure the origin - Đối với một máy chủ và tên miền được thiết lập, chúng ta chỉ cần bỏ ghi chú các phần sau và để các biến Postfix mặc định.
# SENDING MAIL
#
# The myorigin parameter specifies the domain that locally-posted
# mail appears to come from. The default is to append $myhostname,
# which is fine for small sites. If you run a domain with multiple
# machines, you should (1) change this to $mydomain and (2) set up
# a domain-wide alias database that aliases each user to
# [email protected].
#
# For the sake of consistency between sender and recipient addresses,
# myorigin also specifies the default domain name that is appended
# to recipient addresses that have no @domain part.
#
myorigin = $myhostname
myorigin = $mydomain
Configure the network interfaces- Chúng tôi sẽ để Postfix lắng nghe trên giao diện mạng duy nhất của chúng tôi và tất cả các giao thức và Địa chỉ IP được liên kết với giao diện đó. Điều này được thực hiện bằng cách chỉ cần bật cài đặt mặc định cho Postfix.
# The inet_interfaces parameter specifies the network interface
# addresses that this mail system receives mail on. By default,
# the software claims all active interfaces on the machine. The
# parameter also controls delivery of mail to user@[ip.address].
#
# See also the proxy_interfaces parameter, for network addresses that
# are forwarded to us via a proxy or network address translator.
#
# Note: you need to stop/start Postfix when this parameter changes.
#
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost
# Enable IPv4, and IPv6 if supported
inet_protocols = all
Step 3 - Định cấu hình Hỗ trợ SASL cho Postfix.
Nếu không có hỗ trợ Xác thực SASL, Postfix sẽ chỉ cho phép gửi email từ người dùng cục bộ. Hoặc nó sẽ đưa ra lỗi bị từ chối chuyển tiếp khi người dùng gửi email từ miền cục bộ.
Note - SASL hoặc là Simple Application Security Layer Frameworklà một khuôn khổ được thiết kế để xác thực hỗ trợ các kỹ thuật khác nhau giữa các giao thức Lớp ứng dụng khác nhau. Thay vì để cơ chế xác thực cho giao thức lớp ứng dụng, các nhà phát triển SASL (và người tiêu dùng) tận dụng các giao thức xác thực hiện tại cho các giao thức cấp cao hơn có thể không có sự thuận tiện hoặc xác thực an toàn hơn (khi nói về quyền truy cập vào các dịch vụ bảo mật) được tích hợp sẵn.
Cài đặt gói "cyrus-sasl *
[root@centos]# yum -y install cyrus-sasl
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: repos.forethought.net
* extras: repos.dfw.quadranet.com
* updates: mirrors.tummy.com
Package cyrus-sasl-2.1.26-20.el7_2.x86_64 already installed and latest version
Nothing to do
Định cấu hình /etc/postfix/main.cf cho SASL Auth
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions =
permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
Tùy chọn SASL của tôi trong main.conf
##Configure SASL Options Entries:
smtpd_sasl_auth_enable = yes
smptd_recipient_restrictions =
permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtp_sasl_type = dovecot
smtp_sasl_path = private/auth/etc
Step 4 - Cấu hình FirewallD để cho phép các Dịch vụ SMTP đến.
[root@centos]# firewall-cmd --permanent --add-service=smtp
success
[root@centos]# firewall-cmd --reload
success
[root@centos]#
Bây giờ, hãy kiểm tra để đảm bảo máy chủ CentOS của chúng tôi đang cho phép và phản hồi các yêu cầu trên cổng 25 (SMTP).
Nmap scan report for 172.16.223.132
Host is up (0.00035s latency).
Not shown: 993 filtered ports
PORT STATE SERVICE
20/tcp closed ftp-data
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
80/tcp open http
389/tcp open ldap
443/tcp open https
MAC Address: 00:0C:29:BE:DF:5F (VMware)
Như bạn có thể thấy, SMTP đang lắng nghe và daemon đang phản hồi các yêu cầu từ mạng LAN nội bộ của chúng tôi.
Cài đặt Dovecot IMAP và Máy chủ POP3
Dovecot là một IMAP an toàn và Máy chủ POP3 được thiết kế để xử lý các nhu cầu thư đến của một tổ chức nhỏ hơn đến lớn hơn. Do được sử dụng nhiều với CentOS, chúng tôi sẽ sử dụng Dovecot làm ví dụ về cài đặt và định cấu hình máy chủ thư đến cho CentOS và MTA SASL Provider.
Như đã lưu ý trước đây, chúng tôi sẽ không định cấu hình bản ghi MX cho DNS hoặc tạo các quy tắc bảo mật cho phép các dịch vụ của chúng tôi xử lý thư cho một miền. Do đó, chỉ cần thiết lập các dịch vụ này trên một máy chủ lưu trữ Internet có thể tạo ra đòn bẩy cho các lỗ hổng bảo mật với Bản ghi SPF.
Step 1 - Cài đặt Dovecot.
[root@centos]# yum -y install dovecot
Step 2 - Cấu hình chim bồ câu.
Tệp cấu hình chính cho dovecot có tại: /etc/dovecot.conf . Đầu tiên chúng tôi sẽ sao lưu tệp cấu hình chính. Một thực tiễn tốt là luôn sao lưu các tệp cấu hình trước khi thực hiện chỉnh sửa. Bằng cách này, ngắt dòng id (ví dụ) sẽ bị hủy bởi trình soạn thảo văn bản và các năm thay đổi sẽ bị mất. Hoàn nguyên dễ dàng như sao chép bản sao lưu hiện tại vào sản xuất.
Bật giao thức và dịch vụ daemon cho dovecot
# Protocols we want to be serving.
protocols = imap imaps pop3 pop3s
Bây giờ, chúng ta cần kích hoạt dovecot daemon để lắng nghe khi khởi động -
[root@localhost]# systemctl start dovecot
[root@localhost]# systemctl enable dovecot
Hãy đảm bảo Dovecot đang lắng nghe cục bộ trên các cổng được chỉ định cho: imap, pop3, imap secure và pop3 secure.
[root@localhost]# netstat -antup | grep dovecot
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 4368/dovecot
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 4368/dovecot
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 4368/dovecot
tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 4368/dovecot
tcp6 0 0 :::110 :::* LISTEN 4368/dovecot
tcp6 0 0 :::143 :::* LISTEN 4368/dovecot
tcp6 0 0 :::993 :::* LISTEN 4368/dovecot
tcp6 0 0 :::995 :::* LISTEN 4368/dovecot
[root@localhost]#
Như đã thấy, dovecot đang lắng nghe trên các cổng được chỉ định cho IPv4 và IPv4.
POP3 | 110 |
POP3s | 995 |
IMAP | 143 |
IMAP | 993 |
Bây giờ, chúng ta cần thực hiện một số quy tắc tường lửa.
[root@localhost]# firewall-cmd --permanent --add-port=110/tcp
success
[root@localhost]# firewall-cmd --permanent --add-port=143/tcp
success
[root@localhost]# firewall-cmd --permanent --add-port=995/tcp
success
[root@localhost]# firewall-cmd --permanent --add-port=993/tcp
success
[root@localhost]# firewall-cmd --reload
success
[root@localhost]#
Máy chủ thư đến của chúng tôi đang chấp nhận yêu cầu POP3 , POP3s , IMAP và IMAP cho các máy chủ trên mạng LAN.
Port Scanning host: 192.168.1.143
Open TCP Port: 21 ftp
Open TCP Port: 22 ssh
Open TCP Port: 25 smtp
Open TCP Port: 80 http
Open TCP Port: 110 pop3
Open TCP Port: 143 imap
Open TCP Port: 443 https
Open TCP Port: 993 imaps
Open TCP Port: 995 pop3s