Postfix MTA 및 IMAP / POP3 설정
CentOS 7 서버에서 이메일을 보내려면 최신 MTA (메일 전송 에이전트)를 구성하기위한 설정이 필요합니다. Mail Transfer Agent는 SMTP를 통해 시스템 사용자 또는 회사 인터넷 도메인에 대한 아웃 바운드 메일을 보내는 데몬입니다.
주목할 가치가 있습니다.이 튜토리얼은 로컬 사용을 위해 데몬을 설정하는 과정만을 가르칩니다. 비즈니스 운영을위한 MTA 설정을위한 고급 구성에 대해서는 자세히 설명하지 않습니다. 이는 DNS, 블랙리스트에 포함되지 않은 고정 라우팅 가능 IP 주소 얻기, 고급 보안 및 서비스 설정 구성을 포함하되 이에 국한되지 않는 다양한 기술의 조합입니다. 요컨대,이 튜토리얼은 기본 구성에 익숙해지기위한 것입니다. 인터넷 연결 호스트의 MTA 구성에는이 자습서를 사용하지 마십시오.
보안과 관리의 용이성 모두에 초점을 맞추고있는 우리는 Postfix이 튜토리얼의 MTA로. 이전 버전의 CentOS에 설치된 기본 MTA는 Sendmail 입니다.Sendmail훌륭한 MTA입니다. 그러나 저자의 겸손한 의견 중 Postfix는 MTA에 대한 다음 메모를 처리 할 때 최적의 위치를 차지합니다. 최신 버전의 CentOS에서 Postfix는 기본 MTA로 Sendmail을 대체했습니다.
Postfix는 널리 사용되고 잘 문서화 된 MTA입니다. 그것은 적극적으로 유지되고 개발됩니다. 최소한의 구성을 염두에두고 (이는 이메일 일뿐) 시스템 리소스를 효율적으로 사용할 수 있습니다 (다시 말하지만 이메일 일뿐입니다).
Step 1 − YUM 패키지 관리자에서 Postfix를 설치합니다.
[root@centos]# yum -y install postfix
Step 2 − Postfix 구성 파일을 구성합니다.
Postfix 구성 파일은 다음 위치에 있습니다. /etc/postfix/main.cf
간단한 Postfix 구성에서는 특정 호스트에 대해 호스트 이름, 도메인, 오리진, inet_interfaces 및 대상을 구성해야합니다.
Configure the hostname− 호스트 이름은 Postfix 호스트의 정규화 된 도메인 이름입니다. OpenLDAP 장에서 CentOS 상자의 이름을 vmnet.local 도메인의 centos로 지정했습니다 . 이 장에서는 그것에 대해 고수합시다.
# 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− 위에서 언급 했듯이이 자습서에서 사용할 도메인은 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 − 단일 서버 및 도메인 설정의 경우 다음 섹션의 주석 처리를 제거하고 기본 Postfix 변수를 그대로두면됩니다.
# 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− Postfix는 단일 네트워크 인터페이스 및 해당 인터페이스와 관련된 모든 프로토콜 및 IP 주소에서 수신 대기 상태를 유지합니다. 이것은 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 − Postfix에 대한 SASL 지원을 구성합니다.
SASL 인증이 지원되지 않으면 Postfix는 로컬 사용자의 이메일 전송 만 허용합니다. 또는 사용자가 로컬 도메인에서 이메일을 보낼 때 릴레이 거부 오류가 발생합니다.
Note − SASL 또는 Simple Application Security Layer Framework다른 응용 프로그램 계층 프로토콜 사이에서 다른 기술을 지원하는 인증을 위해 설계된 프레임 워크입니다. 인증 메커니즘을 응용 프로그램 계층 프로토콜에 맡기는 대신 SASL 개발자 (및 소비자)는 편의성 또는보다 안전한 인증 (보안 서비스에 대한 액세스에 대해 말할 때)이 내장되어 있지 않을 수있는 더 높은 수준의 프로토콜에 대해 현재 인증 프로토콜을 활용합니다.
"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
SASL 인증을 위해 /etc/postfix/main.cf 구성
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
main.conf의 내 SASL 옵션
##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 − 들어오는 SMTP 서비스를 허용하도록 FirewallD를 구성합니다.
[root@centos]# firewall-cmd --permanent --add-service=smtp
success
[root@centos]# firewall-cmd --reload
success
[root@centos]#
이제 CentOS 호스트가 포트 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)
보시다시피 SMTP는 수신 대기하고 데몬은 내부 LAN의 요청에 응답합니다.
Dovecot IMAP 및 POP3 서버 설치
Dovecot은 소규모 조직에서 대규모 조직의 수신 메일 요구를 처리하도록 설계된 보안 IMAP 및 POP3 서버입니다. CentOS와 함께 많이 사용되기 때문에 CentOS 및 MTA SASL Provider에 대한 수신 메일 서버를 설치하고 구성하는 예로 Dovecot을 사용할 것입니다.
앞서 언급했듯이 DNS에 대한 MX 레코드를 구성하거나 서비스가 도메인에 대한 메일을 처리 할 수 있도록하는 보안 규칙을 만들지 않습니다. 따라서 인터넷에 연결된 호스트에 이러한 서비스를 설정하는 것만으로도 SPF 레코드가없는 보안 허점에 대한 레버리지 여지를 남길 수 있습니다.
Step 1 − Dovecot을 설치합니다.
[root@centos]# yum -y install dovecot
Step 2 − dovecot을 구성합니다.
dovecot의 기본 구성 파일은 /etc/dovecot.conf에 있습니다 . 먼저 기본 구성 파일을 백업합니다. 편집하기 전에 항상 구성 파일을 백업하는 것이 좋습니다. 이렇게하면 ID (예 :) 줄 바꿈이 텍스트 편집기에 의해 파괴되고 수년간의 변경 사항이 손실됩니다. 현재 백업을 프로덕션으로 복사하면 되돌릴 수 있습니다.
dovecot에 대한 프로토콜 및 데몬 서비스 활성화
# Protocols we want to be serving.
protocols = imap imaps pop3 pop3s
이제 dovecot 데몬이 시작시 수신하도록 활성화해야합니다.
[root@localhost]# systemctl start dovecot
[root@localhost]# systemctl enable dovecot
Dovecot이 imap, pop3, imap 보안 및 pop3 보안에 대해 지정된 포트에서 로컬로 수신하는지 확인합니다.
[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]#
보시다시피 dovecot 은 IPv4 및 IPv4에 대해 지정된 포트에서 수신 대기합니다.
POP3 | 110 |
POP3 | 995 |
IMAP | 143 |
IMAP | 993 |
이제 방화벽 규칙을 만들어야합니다.
[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]#
우리의 수신 메일의 단절은 요청 받고있다 POP3 , POP3S , IMAP 및 IMAPS 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