Postfixでメール送信サーバを作ろう!
ここでは、Postfixのインストール手順を掲載しています。
メール送受信の仕組み
手紙を出すとき、通常[ポスト]→[最寄りの郵便局]→[宛先最寄りの郵便局]→[宛先郵便受け]の順に手紙が配送されます。
電子メールも同様に、[送信]→[送信用サーバ(SMTPサーバ)]→[受信用サーバ(POP/IMAPサーバ)]→[受信]の流れとなります。
つまり、電子メールの送受信には、送信用と受信用それぞれのサーバが必要です。
今回は送信用サーバにPostfix、受信用サーバにDovecotを使いたいと思います。
Postfixとは…?
Postfixはオープンソースで開発されている送信用サーバ(SMTPサーバ)です。
SMTPとはSimple Mail Transfer Protocolの略で、メール送信のときに使われるルールのことです。SMTPではメールの送信に認証作業がありません。なので、SMTP-AUTHを利用して送信前に認証を行い、不正中継を防止します。
Postfixのインストール
これまでのCentOSにはPostfixがもともとインストールされていましたが、Rocky Linux 8にはインストールされていません。
まだインストールしていない場合はインストールを行いましょう。
[root@rl8 ~]# dnf -y install postfix
インストール済み:
postfix-2:3.5.8-4.el8.x86_64
完了しました!
Postfixの設定
それでは、Postfixの設定を行います。
[root@rl8 ~]# vi /etc/postfix/main.cf
#myhostname = host.domain.tld
↓
myhostname = www.mhserv.info
#mydomain = domain.tld
↓
mydomain = mhserv.info
#myorigin = $mydomain
↓
myorigin = $mydomain (@以下にドメインを付加する)
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
inet_interfaces = localhost
↓
inet_interfaces = all (外部からのメール受信を許可する)
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost
mydestination = $myhostname, localhost.$mydomain, localhost
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
↓
#mydestination = $myhostname, localhost.$mydomain, localhost (ドメイン宛てのメール受信を許可する)
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#home_mailbox = Maildir/
↓
home_mailbox = Maildir/ (メールの保存形式をMaildirに設定)
#smtpd_banner = $myhostname ESMTP $mail_name
↓
smtpd_banner = $myhostname ESMTP unknown (メールサーバ名を非表示に設定)
また、最後尾にSMTP-AUTH用の設定を書き込みます。
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
SMTP-AUTHの有効化
SMTP-AUTHに必要なsaslauthdを起動します。
[root@rl8 ~]# dnf -y install cyrus-sasl cyrus-sasl-plain
インストール済み:
cyrus-sasl-2.1.27-6.el8_5.x86_64
完了しました!
[root@rl8 ~]# systemctl enable --now saslauthd
Created symlink /etc/systemd/system/multi-user.target.wants/saslauthd.service → /usr/lib/systemd/system/saslauthd.service.
設定が終わったら、Postfixを起動しましょう。
[root@rl8 ~]# systemctl enable --now postfix
Created symlink /etc/systemd/system/multi-user.target.wants/postfix.service → /usr/lib/systemd/system/postfix.service.
メール用ユーザの追加
今回はメールの送受信に、Rocky Linuxのアカウントを使用します。SSHにログインしない形でメール送信用のユーザアカウントを作成しておきます。
ここでは、仮に「test」ユーザーを作成します。
[root@rl8 ~]# useradd -s /sbin/nologin test
[root@rl8 ~]# passwd test
Changing password for user test.
New UNIX password:アカウントパスワード
Retype new UNIX password:パスワード再入力
passwd: all authentication tokens updated successfully.
続いて、SASL認証を行うユーザーを登録します。
ドメイン名、ユーザー名、パスワードはご自身の環境に合わせて変更してください。
[root@rl8 ~]# saslpasswd2 -u ドメイン名 -c ユーザー名
Password:アカウントパスワード
Again (for verification):パスワード再入力
[root@rl8 ~]# chmod 640 /etc/sasldb2
[root@rl8 ~]# chgrp postfix /etc/sasldb2
[root@rl8 ~]# /usr/sbin/sasldblistusers2
test@mhserv.info: userPassword
上記の通り、作成したユーザーが表示されれば、登録作業は完了です。
ファイアウォールの設定
続いてファイアウォールの設定を行います。
Postfixへアクセスできるよう、ファイアウォールで許可をしてあげます。
[root@rl8 ~]# firewall-cmd --permanent --add-service=smtp
success
[root@rl8 ~]# firewall-cmd --reload
success
OP25B対策について
OP25B(Outbound Port 25 Blocking)についてはこちらを参考に設定してください。
Dovecotの設定へと続きます。
今回新しく登場したコマンド
[広告]
トップページ
Rocky Linux 8
○インストール準備
○仮想化準備(VMware)
○仮想化準備(Hyper-V)
○仮想化準備(Proxmox)
○基本操作
○導入
○セキュリティ対策
○Dynamic DNS
○NTPサーバ
○データベース
○WEBサーバ
○FTPサーバ
○メールサーバ
○DNSサーバ
○ブログシステム
○オンラインストレージ
○その他