![見出し画像](https://assets.st-note.com/production/uploads/images/67227352/rectangle_large_type_2_701cc696eeeea41f9a2e834bffb9b16b.png?width=1200)
#05(最終回) CentOS Stream 8 メールサーバー構築 備忘録
前回は……
前回は、メールサーバーソフトの設定を行いました。今回は最終回!ハマったポイントの解説と、セキュリティレベルを上げる設定を行います。よろしくお願いします!
最大のハマりポイント
前回、上手く行った設定を書いて終わりましたが、ハマる原因になった、上手く行かなかかった設定を書いてみましょう(これをコピー&ペーストしないように!)
# こちらは失敗例です!
test@jawsplayers.com:{CRAM-MD5}d935451695853cafcc034082fcd1840c38d5fc640482c24bb6208319f52503a5:1001:1001:Maildir:/home/test/Maildir
こちらを書いて、メールクライアントソフト(Mozilla Thunderbird)にアカウントを設定し、接続しました。ちゃんと繋がった!やった!そして送信テストも成功!受信テストも……受信されません……あれれ?どうして???
ハマりポイント!
最後にして最大のハマりポイント!実は、先ほどの passwd の設定、#04 のものの最後に「/Maildir」が追加されています。この部分が追加されているせいで、/home/test/Maildir の下にもう一つ /Maildir が作成されていました!そして Postfix と Dovecot の参照するディレクトリがズレていたから片方成功、片方失敗になってたんですね。
Dovecot に必要なディレクトリが無いと判断されたので、Maildir ディレクトリを作成してくれたようです。検索し、参考にしたサイトに「ディレクトリパスはメールディレクトリ名の"Maildir"まで必要です。」って書いてあったのですが、OS かソフトのバージョン違いのせいか……気をつけましょう。
セキュリティレベルを最大に
パスワードを平文から暗号化し、保存したことでセキュリティレベルが上がりました。SSL/TLS で通信しているんだからパスワードは平文でいい、と書いてあるサイトもありますが、パスワードが主に流出するのは通信傍受ではなく、置いてあるパスワードファイルを持ち出したり、ショルダーハッキングでパスワードを覗かれることがほとんどでしょう。なのでこのまま暗号化しておきます。
さて、まだ設定で SSL/TLS を使わない通信がいろいろと許可されています。この機会に残りを全部閉じて、間違って平文で通信しないようにしておきましょう。
firewalld で、smtp(25) smtp-submission(587) imap(143) pop3(110) ssh(22) をリムーブしておきます。
[root@v000-000-000-000 ~]# firewall-cmd --remove-service=smtp --permanent
[root@v000-000-000-000 ~]# firewall-cmd --remove-service=smtp-submission --permanent
[root@v000-000-000-000 ~]# firewall-cmd --remove-service=imap --permanent
[root@v000-000-000-000 ~]# firewall-cmd --remove-service=pop3 --permanent
[root@v000-000-000-000 ~]# firewall-cmd --remove-service=ssh --permanent
[root@v000-000-000-000 ~]# firewall-cmd --list-service
cockpit dhcpv6-client http https imaps pop3s smtps
# Let's Encrypt 用に http は残しておくこと
Dovecot で SSL を必須にしておきます。
[root@v000-000-000-000 ~]# vi /etc/dovecot/conf.d/10-ssl.conf
ssl = required
加えて、プレーンテキスト認証を禁止しておきます。ログイン認証も外しておきます。
[root@v000-000-000-000 ~]# vi /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = yes
auth_mechanisms = cram-md5
以上です。ここまでしておいたら、Postfix と Dovecot を再起動しておきましょう。
[root@v000-000-000-000 ~]# systemctl restart postfix dovecot
以上です。お疲れさまでした!自由にメールサーバーを使ってください!
終わりに
なかなか大変なメールサーバー構築、いくつかハマりポイントがありましたが、お楽しみいただけましたでしょうか。
自分の失敗を書くことによって、同じことで悩んでる方を少しでもお助けできれば幸いです。
日に日に OS も ソフトウェアもバージョンが上がり、仕様が少しづつ変更されたりしますので、知識・経験もアップデートしていかなければいけませんね。今度はウェブサーバーをいろいろ設定しないと……!
今回は読む人を選ぶ題材になってしまいましたが、もっと柔らかい話題も note に書いていけたらと思います。フォロー&応援よろしくお願いします!
最後に宣伝
そしてラストに JAWS Players の宣伝を!来年 2022 年 1 月 22 日~ 23 日、
Twitch にてゲームイベントを行います。RTA あり企画ありの楽しいものにしようと、運営一同頑張っていますのでどうか遊びに来てください!よろしくお願いします!!
![CM 用のフライヤー](https://assets.st-note.com/img/1638816026464-4PrNTaBU0P.png?width=1200)
(2021年12月12日 追記)
root 宛のメールを転送しておきましょう!エラーメッセージ等がよく root 宛に送られてくるので、そちらを見られるようにしておきます(迷惑メールも来るけど)。
[root@v000-000-000-000 ~]# vi /etc/aliases
でエイリアスを編集し、コメントアウトされている #root の行の先頭の#を外して
root: test
のように、転送先のメールアカウントを書きましょう(上の test は例です)。最後に
[root@v000-000-000-000 ~]# newaliases
で設定を反映し、root 宛にメールを送ってテストしてみてください。正しく転送されていれば大丈夫です。おつかれさまでした!