今、旬の食材といえばまさにCentOS8!!今秋リリースされたばかりの新鮮素材です。CentOSで作るものといえば皆さんお分かりですね。今日はこのCentOS8を使ってメールサーバーを構築しましょう。普段何気なく利用しているメールのサーバーを自分で構築したことがある人は少ないんじゃないでしょうか?構築する際のワンポイントテクニックやセキュリティを高める秘訣を教えちゃいます!前半は構築編です。後半はプロトコルとセキュリティについての解説です。後半は以下のリンクからどうぞ。(なるべく旬の内に使う)postfix-3.3.1-8.el8.x86_64dovecot-2.2.36-5.el8_0.1.x86_64cyrus-sasl-2.1.27-0.3rc7.el8.x86_64cyrus-sasl-lib-2.1.27-0.3rc7.el8.x86_64cyrus-sasl-plain-2.1.27-0.3rc7.el8.x86_64独自ドメイン(お好きなものを)下ごしらえCentOS8のイメージを使うにはさくらのVPSやConoHaVPSは標準でCentOS8のOSイメージを使用することができます。今回使用したのはお名前VPSです。価格とスペックの釣り合い、カスタムISOイメージを使用できることから採用しました。具体的なやり方はこちらでどうぞ。アカウントごとに割り振られるISOイメージ領域にSFTPでアップロードを行うことで使用できるようになります。私は意識高くCLIでアップロードしました。CentOS8のインストール基本的にはCentOS7から変わっていません。ディスク領域やパーティション設定はお好みで設定してください。「ソフトウェアの選択」では最小限のインストールを選択します。今回は追加で開発ツールとセキュリティツールもチェックを入れました。ここについても自由で構いません。sshd設定変更まずやるべきこととしてsshdの設定を変更します。VPSサービスによりますが、rootアカウントのパスワード認証はやめましょう。以下はパスワード認証を無効化し、秘密鍵でログインする手順です。rootアカウントでそもそもログインできないようにすると更にセキュリティは高くなります。続いてパッケージの更新、時刻設定、SELinuxの無効を行います。CentOSではパッケージ管理のコマンドがyumからdnfに変更されています。yumコマンド自体は消えたわけではなく、yumを実行するとdnfコマンドが内部的には実行されるようになっています。yumコマンドの中身とdnfコマンドの中身は完全に一緒です。~]#では一気に設定していきましょう。rebootここまでで最低限の設定は終了です。今回はインストール時に設定をしたので不要ですが、swap領域がなければこのタイミングで作成しましょう。取得したドメインのDNS設定もここで済ましておきましょう。(反映に時間がかかるから)￼￼今回はサブドメインを使用しないドメインをメールサーバーのドメインとしました。AレコードでドメインとサーバーのIPを紐付け、MXレコードでメール配送先ホスト名をドメインに紐付けます。￼お名前.comで設定しました。余談ですがこのドメインは、新規サービスを作ろうとして先走って取得したドメインです。形から入って中身が伴わないあるあるですね。加熱殺菌(FireWall設定)最低限必要なものだけ追加していきましょう。今回追加するのは以下の4つ。ここらの説明は最後に詳しく解説するので読み飛ばしてもらってOKです。http(80/tcp)Webサーバーを建てるわけではありません。Encryptで証明書を取得する際に必要なので開放します。smtp(25/tcp)今回の主役。Protocol)のポートです。このポートが開いていないとメールの送信(受信も)ができません。メーラーなどのクライアントがメールサーバーにアクセスし、サーバー上のメールを操作する際に使うポートです。メーラーなどのクライアントがメールサーバーへメール取得する際に使うポートです。submission(587/tcp)今回の問題児。わかりにくくしているやつ。クライアントからメールを送信する時に、SMTPにない認証機能を代わりにやるためのポートです。設定firewalldで設定を行います。—reload–add-serviceでやるか–add-portでやるかはお好みで。FireWallについても、CentOS8からはiptablesが標準でなくなった等の変更はありますが、firewalldは変わっていないのでここでは省略します。必要なソフトウェアのインストールとりあえず心を無にして以下のコマンドでインストールしましょう。それぞれが何かは後ほど解説します。saslauthd最小限のインストールであれば問題ないと思いますが、MTAがsendmailなどになっている場合はpostfixに変更しましょう。Agent)の略です。