PostfixMTAと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 PackageManagerから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はローカルユーザーからのメールの送信のみを許可します。または、ユーザーがローカルドメインから電子メールを送信すると、中継拒否エラーが発生します。

NoteSASL または 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からの要求に応答しています。

DovecotIMAPとPOP3サーバーをインストールします

Dovecotは、小規模から大規模の組織の受信メールのニーズを処理するように設計された安全なIMAPおよびPOP3サーバーです。CentOSでの使用が多いため、CentOSおよびMTASASLプロバイダーの受信メールサーバーをインストールおよび構成する例として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]#

当社の受信メールサーバは、要求のために受け入れているPOP3POP3SIMAP、および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