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はローカルユーザーからのメールの送信のみを許可します。または、ユーザーがローカルドメインから電子メールを送信すると、中継拒否エラーが発生します。
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からの要求に応答しています。
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]#
当社の受信メールサーバは、要求のために受け入れている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