ConoHa の VPS で MTA-STS を設定する

conoha Linux
このサイトはアフィリエイト広告(Amazonアソシエイト含む)を掲載しています。
スポンサーリンク

前回まで ConoHa の VPS に RHEL9 をインストールし、そこにメールサーバーを構築しました。

今回はその環境に MTA-STS ポリシーを設定していこうと思います。

MTA-STS(Mail Transfer Agent-Strict Transport Security)は STARTTLS をより堅牢にする仕組みです。

DNS で MTA-STS を使用するように宣言したうえで、Web サイト上にポリシーファイルを設置することで設定できます。

ディレクトリの準備

ポリシーファイルを配置する場所は https://mta-sts.ドメイン名/.well-known/mta-sts.txt と定められています。

メールのドメインが増えたとしても、参照するファイル(指定する MX のドメイン)は同じなので、mta-sts というディレクトリを作成して、ドメインが増えてもそこを共通で参照するようにします。

ドメインごとにルールを変える場合は、サブディレクトリで管理するのも良いでしょう。

OpenLiteSpeed の設定

OLS の管理画面にログインし、バーチャルホストを作成します。

  • バーチャルホスト名:mta-sts
  • Virtual Host Root:/var/www/mta-sts/
  • 設定ファイル:$SERVER_ROOT/conf/vhosts/$VH_NAME/vhconf.conf
  • シンボリックリンクを許可する:いいえ
  • スクリプト/外部アプリを有効にする:いいえ
  • 抑制された:はい

続いて作成したバーチャルホストの一般のタブからメールサーバーのドメインを指定します。

ドメイン名には頭に mta-sts のサブドメインを付けて指定します。

  • Document Root:$VH_ROOT
  • ドメイン名:mta-sts.example.com
  • ドメインエイリアス:(複数のメールドメインがあれば記載)

MTA-STS ポリシーファイルの配置

続いて mta-sts.txt ファイルを作成します。

  • version:STSv1(固定値)
  • mode:STARTTLS に失敗したときの送信サーバーの挙動
    • enforce:メールを送信しない
    • testing:メールは通常通り送信し、レポートを送信
    • none:MTA-STS を利用しない
  • max_age:86400(1 日)〜 31557600(約 1 年)
  • mx:許可するメール受信サーバーのホスト名

DNS の設定

ConoHa の管理画面から DNS を開き、対象のドメインに下記を設定していきます。

MTA-STS の設定

DNS のテキストレコードに _mta-sts を設定することで、MTA-STS が有効化されます。

  • タイプ:TXT
  • 名称:_mta-sts
  • 値:v=STSv1; id=任意の英数字;

id は 1 ~ 32 文字の英数字で、外部サーバーは前回と id が変わっていればポリシーをチェックします。値に古い新しいの順序はありませんが、更新日を絡めたものにしておくのが一般的なようです。

TLS レポートの設定

ポリシーで指定した mode が testing の場合に、レポートを送信する宛先を設定します。

  • タイプ:TXT
  • 名称:_smtp._tls
  • 値:v=TLSRPTv1; rua=mailto:レポート送信先のメールアドレス

レポートを複数のメールアドレスで受信するには、各アドレスをカンマで区切って指定します。メールではなく、HTTPS レポート配信オプションもあるようです。

逆引き DNS の設定

ConoHa 管理画面のサーバーから VPS 設定を開き、IPv4 の PTR レコードを mail.example.com に変更しておきましょう。

逆引きホスト名を修正して、保存します。

すぐには反映されないので、暫く経ってから確認を行っておきましょう。

確認

//email/testTo:
Email Test Receiver

More Options を開いて「Check MTA-STS」にチェックを入れ、Run Test を行います。

MTASTS の項目が OK になっていれば、正しく設定されています。

MTA-STS を解除する場合

  1. MTA-TLS を解除する場合は、ポリシーで mode を none に指定し、mx の指定を削除します。また、max-age は最も短い 86400 に設定します。
  1. DNS のテキストレコードで、_mta-sts のバージョンを更新します。
  2. ポリシーの以前のバージョンがキャッシュに保存されている可能性があるので、以前に指定していた max_age の期間を空けてからテキストレコードを削除します。

参考にしたサイト

MTA-STSのススメ - Qiita
MTA-STSとはMTA-STSとは、メールの配送経路上のメールサーバーとメールサーバーの間の暗号化の仕組みを少し強くするためのものです。具体的には、受信側が、送信サーバーに対してSTARTT…
MTA-STS と TLS レポートについて - Google Workspace 管理者 ヘルプ
認証と暗号化でメールのセキュリティを強化するGmail のセキュリティを強化するには、ご...

コメント

タイトルとURLをコピーしました