iPhoneで Postfix や Dovecot に付属の証明書が使えなくなった

iPhone/iPad の iOS 16.4.1 にすると、メールのSSLで信頼されない証明書を無理やり信頼することにして使うと方法がなくなったようです。

今までは無理やり信頼すればできました。
証明書のドメイン名などはどうでもよくて経路を暗号化したいだけのとき、今までは自分で作った証明書やメールサーバーに付属の証明書でもSSLを使うことができたのですが、これができなくなりました。

ドメイン名が違ったり署名なしの証明書はダメ、メールサーバー Postfix や Dovecot に付属の証明書ではSSLでメールが送受信できなくったということです。
あらら・・・

まあ当たり前の措置なのかもしれませんが・・・
自分のPCのメーラーと自分のサーバーの間の送受信では別にドメインの正当性を証明したいわけじゃなくて、経路を暗号化したいだけなんだけどな、と思わなくもないです。

Postfix/Dovecot の TLS SNI対応

CentOS 8系から可能になった Postfix/DovecotメールサーバーのSSL/TLSをSNI対応。
(複数の証明書でマルチドメイン運用にする方法)

■ Dovecot TLS SNI対応

/etc/dovecot/conf.d/10-ssl.conf

# デフォルトの証明書(この記述も必要)
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem

# 以下を追加していく
local_name domain1.org {
  ssl_cert = </path/to/domain1_fullchain.crt
  ssl_key = </path/to/domain1_praivate.key
}
local_name domain2.org {
  ssl_cert = </path/to/domain2_fullchain.crt
  ssl_key = </path/to/domain2_praivate.key
}
・・・local_name を追加していく

他は通常のTLSの設定と同じ

■ Postfix TLS SNI対応

/etc/postfix/main.cf

# デフォルトの証明書(この記述も必要)
smtpd_tls_cert_file = /etc/pki/tls/certs/postfix.pem
smtpd_tls_key_file = /etc/pki/tls/private/postfix.key

# Postfix 3.4以上なら SNI可能
tls_server_sni_maps = hash:/etc/postfix/tls_server_sni_maps

他は通常のTLSの設定と同じ

証明書のマップファイル
/etc/postfix/tls_server_sni_maps

domain1 /path/to/domain1_praivate.key, /path/to/domain1_fullchain.crt
domain2 /path/to/domain2_praivate.key, /path/to/domain2_fullchain.crt
・・・

postmap -F hash:/etc/postfix/tls_server_sni_maps

★重要
証明書を更新時に postmap -F でマップdbを作り直す必要がある。

qmail サポート終了、Postfix へ移行のご案内

qmail サポートの既存サーバーへの特別措置終了と Postfix への特別移行プログラムのご案内です。

■ 経緯と特別措置終了について

qmail は、1998年に本家がサポートを終了した過去のメールサーバーソフトウェアです。
当サービスの保守契約ユーザー様には、qmail サポート終了を約1年前にご連絡しており、特別措置として既存サーバーに限り、保守・障害対応を行ってまいりました。

お早めに postfixへの切り替えをご検討くださいともお伝えし、はや1年。

そこで、今回のご連絡は、この特別措置を終了するお知らせです。

【重要】

期限:2021年1月末日をもちまして、現在 qmail でメール運用されている既存サーバーにつきましても qmail に関する部分のみを、サポート範囲外とさせていただきます。

それまでに qmail の運用から、postfix への移行を強くお勧めいたします。(強制するものではありませんが、メールの部分でのトラブルがあっても調査、障害対応を受けられなくなります)

そこで、postfix への特別移行プログラムをご用意しました。

■ 特別移行プログラム

通常、postfix/postfixadmin を初期設定する場合に当サービスでは以下の処理を行うため以下の料金になります。

・メールサーバー初期設定 1,000円
・バーチャルメールPostfixAdmin 追加 2,000円
・ドメインお引越し定型処理 2,000円 x ドメイン数
(自サーバー内のメールアドレスのみ移転と同じ処理)

これらの処理を、2021年1月末日までの間、既存の qmail運用ユーザー様限定の特別移行プログラムとして

全作業込み 3,000円/1サーバー

でお引き受けいたします。
(メールのお引越し作業が無料になります)

★条件として、パスワードが以下に見合うことが必要です。
──────────────────────────────────
現在 qmail/vpopmail で設定されているドメインの postmaster および全てのメールのパスワードが 6文字以上で、そのうちアルファベットが少なくとも3文字以上、かつ _ アンダーバー以外の記号文字が使われていないこと。
──────────────────────────────────

記号とは !”#$%&'()=~|`@{}[]+*;:,./\<>? などです。

ですので、
もしご依頼の際には現在運用中の postmaster およびメールアドレスのパスワードを条件に合うよう修正してからご依頼ください。

★ご注意事項として、
・メールシステム移行中はメールが送受信できません。
(概ね1~2時間)
・移行作業前にサーバーのメールボックスにあるメールはなくなります。
(直前にPOP受信してしまってください)
・MySQLのレプリケーションを利用している場合はメールドレスも MySQLのレプリケーションの影響を受けで同期されます。

お申し込み期限:2021年1月20日まで
対象は、当サービス保守契約中の qmail運用ユーザー様です。

■ 保守契約外のお客様のスポット作業料金

上記はあくまでも当サービスの当サービスの保守契約ユーザー様料金ですが、これをスポット作業(保守契約せずこのときだけのピンポイントでの作業依頼)として請け負う場合は以下の料金になります。

・サーバー内調査費用 1,000円(作業が出来るか出来ないかの判断費用)
・メールサーバー初期設定 1,000円
・バーチャルメールPostfixAdmin 追加 2,000円
・ドメインお引越し定型処理 2,000円 x ドメイン数
(自サーバー内のメールアドレスのみ移転と同じ処理)

※サーバー内調査費用は作業を請け負えないとわかった場合でも頂くことになります。
※サーバー内調査では yum コマンドを使用しリポジトリにアクセスします。
※SSH接続ができて、完全な root権限(root になれること)が必要です。

qmail サポート対象外とします

今年から qmail をサポート対象外とします。

■ qmailとは

qmail とは、ライフサイクルを終えた旧式のメールサーバーです。
1998年に本家が開発サポートを終了しており、その後は有志によってのみ追加機能パッチなどが細々と出ておりましたが、さすがに昨今の時流には対応できていない過去の遺物になっています。
新しい驚異には対応できずセキュリティホール等の修正パッチもリリースされないため、特別な事情がない限り qmail は避けるべきです。

■ qmail の保守・障害対応について

2019年1月末をもって、当サービスでは保守・障害対応をしないこといたしました。
しかしながらどうしてもという事情がある方のために環境構築だけは特別料金で請け負う形を残しておきました。

・qmail/vpopmail/qmailadmin 構築

(メールサーバーをqmailにしバーチャルメール環境を追加します。ただしアフター保守・障害対応の対象外)
費用についてはこちらの料金表を参照ください。

GoogleのGmailのIPv6逆引き判定が迷惑な問題

前に、SPFレコードでドメインの正当性を判定する方法が逆にスパムを増長させる問題について書きましたが、今回はさらに突っ込んでGoogleのGmailの厳しい判定が迷惑な問題について書きます。

参考)

一括送信ガイドライン – Gmail ヘルプ
https://support.google.com/mail/answer/81126

Googleだけに限ったことではないですが、Gmailはシェアが多いのでトラブルが目立ちます。

トラブルというのは【Gmailに送ると届かない】という問題です。
これはGmailが、迷惑メール対策として判定が厳しいためです。

Googleは最近、自分たちのガイドラインに【何が何でも従わせる】という強引なやり方をするようになりました。
事実、Googleのガイドラインに従わないメールはリジェクト(受信拒否)されるトラブルが多く、最近 Gmail / G Suite(旧 Google Apps)のメールに関して問い合わせが多いです。
仕事の取引先からの必要なメールでもGoogleのガイドラインに反していると届きません。
迷惑メールフォルダに振り分けられるならまだしも、勝手にリジェクトされて気付かないままになります。

続きを読む

SPFで迷惑メール判定が逆にスパムを増長させる問題

SPFレコードでドメインの正当性を判定する方法が逆にスパムを増長させる問題について書きます。

#SPFレコードとは送信ドメインを認証の一種で、詳しくはネットで調べてください。
#独自ドメインを持っている人はSPFを知らずに済ますことはできません。
(特にGoogleのせいで知らないでは済まなくなってしまいました)

参考)

SPF(Sender Policy Framework): 迷惑メール撲滅委員会
http://salt.iajapan.org/wpmu/anti_spam/admin/tech/explanation/spf/

SPF レコードについて – G Suite 管理者 ヘルプ
https://support.google.com/a/answer/33786?hl=ja

一括送信によるメール返送 – G Suite 管理者 ヘルプ
https://support.google.com/a/answer/168383

Googleだけに限ったことではないですが、メールをサービスするプロバイダの傾向として、SPFレコードの設定を(なにがなんでもやれと)強制するような動きがここ数年で強まっています。

続きを読む

自己署名SSLサーバー証明書の作成

自己署名のSSLサーバー証明書の作成方法を書きます。

前提条件として OpennSSL は普通に使える環境であるものとします。

■ 自己署名のSSLサーバー証明書とは

通常 SSLサーバー証明書は然るべき認証局(VeriSignとかジオトラストとか)が発行し、それには電子署名が施されており、コモンネーム(運用するFQDN=フルドメイン名)が確かなものであると証明します。
この電子署名を認証局にやってもらわずに自分で OpennSSL の機能で施すことが自己署名です。

自己署名の証明書は信頼性に欠けるとしてブラウザなどのクライアントソフトウェアではエラーや警告メッセージが表示され、フィッシングサイト、怪しいサイトであるような印象を与えます。
しかしながらデータの暗号化という観点だけを見れば認証局が署名したものと全く同等であり、暗号化の観点でセキュリティは劣りません。
ですからデータの暗号化が目的なだけなら自己署名でよい場合もあります。
続きを読む

バーチャルメールのジレンマ

ブラウザでメールアドレスが簡単に追加/削除できるバーチャルメールシステム。
便利ですが、これを導入すると別のことが制限されることもあります。

まず「バーチャルメール」とは何のことか説明します。

・バーチャルメールボックス
・バーチャルメールアドレス
・バーチャルメールシステム

こんな言い方で使われることが多くどれも微妙に違いますが、どれも概ね同じ類の話をするとき使う言葉で、バーチャルメールのメールボックス、メールアドレス、システムを指しています。

「バーチャルメール」とは?

メールのPOPユーザーがFTPユーザー(UNIXアカウントのユーザー)でなく仮想的なユーザー(大抵メールアドレスそのもの)でメールアドレスを送受信できることを大雑把に総称してそう呼びます。

これを当たり前と思っている人のほうが増えてきたような気がしますのであえて少し解説します。
続きを読む

PostfixAdminでバーチャルメールの構築

postfix/dovecotのメールサーバーで、従来の方式「FTPユーザーがメール受信ユーザー」という環境からバーチャルメール環境に切り替える方法について書きます。
バーチャルメールの運用ツールは PostfixAdmin 1択です。
他によいツールを知りません。
そして、PostfixAdminを使用するにはデータベース MySql が必要です。

前提条件としてpostfix/dovecotでメールを送受信できる環境まで設定済みとします。
postfix/dovecotのインストールと設定については postfix 2.3.x の設定dovecot ver.1系と2系の違い を参照してください。

■ PostfixAdmin インストール

(0) 事前準備

mysql に postfixデータベース、専用のpostfixユーザーを作成しておく必要があります。
(データベースは空でよいです)

データベース名: postfix
ユーザー名    : postfix
パスワード    : xxxxxxxxxxxx

メールボックスにアクセスするバーチャルユーザーを作成します。
後でいくつかの設定ファイルにユーザーID、グループIDを記述するため、ここで決めておきます。
使っていない番号なら何でもよいのですが、ここでは ユーザーID = 600、 グループID = 600 とします。

# mkdir /home/vmailbox
# groupadd -g 600 vuser
# useradd -g vuser -u 600 -d /home/vmailbox -s /sbin/nologin vuser
# chown vuser:vuser /home/vmailbox
# chmod 771 /home/vmailbox

続きを読む

postfix 2.3.x の設定

CentOS/RHELのデフォルトのMTA(Mail Transfer Agent) (またはSMTPサーバーとも呼びます)である postfix のインストールと設定について書きます。

■ postfix 2.3.x (yum配布版rpm)

CentOS6ならデフォルトで postfix 2.3 以上のバージョンです。
CentOS5ならyumだと違ったかもしれません。

postfix は、2.3 以上のバージョンを使いましょう。
理由は【mysql対応】しているからです。
mysql対応していれば後で postfixadmin (バーチャルメールボックスに対応させるツール) が使えるからです。
(postfixadminについては今回は割愛します)

(1) インストール

# yum install postfix

(2) ファイル構成

ファイルは複数ありますが、メインの設定は main.cf です。
サブミッションポートを使用可能にする場合、master.cf を修正します。

/etc/postfix/
	access
	canonical
	generic
	header_checks
	main.cf     ... メインの設定ファイル
	master.cf   ... コマンドの拡張などの設定
	relocated
	transport
	virtual     ... バーチャル配送定義

続きを読む