メール転送

Catch-allメールボックスを安全にする3つの設定方法

著者:Alexey Bulygin
独自ドメイン用に隔離したcatch-allメールボックス

Catch-allメールボックスは、存在しない宛先を含め、ドメイン宛ての全メールを受信します。typo@yourdomain.com を550エラーで拒否せず受け入れるため、入力ミスを救えますが、迷惑メール、フィッシング、アドレス探索も入ります。配信や復旧は保証されません。

保護なしで有効にすると、短期間で送信者評価へ影響する可能性があります。設定自体より、安全に運用するための隔離が重要です。

Microsoft 365、Linux、Google Workspace向けの三つの隔離方法を説明します。必要性を検討中なら、先にドメインのcatch-allメールをご覧ください。

Catch-allメールボックスとは

ドメイン上の既存アドレスと一致しないメールを一つの受信箱で受け取る仕組みです。misspelled-name@yourdomain.com 宛てのメールは、他の配信条件も満たせば指定メールボックスへ届きます。

サーバーはより多くの通信を受け入れます。迷惑メールボット、フィッシング、自動ディレクトリ探索にも250 OKを返します。隔離しなければ通常メールに混ざり、ドメイン評価を損なうことがあります。

基本原則: 主要受信箱へ転送しない

Catch-all通信はDirectory-Based Edge Blocking (DBEB)を回避し、受信者確認の前に内容が受理される場合があります。ceo@company.com など稼働中の受信箱へ流すと、安全上の盲点になります。

以下はすべて同じ原則に従います。catch-all通信を本番メールから隔離することです。

方法1: 隔離用シンク (Microsoft 365 / Exchange)

法務やディスカバリー目的でcatch-allメールを保管しつつ、頻繁な通知を避けたい組織向けです。保持期間、権限、プライバシーは別途設定します。

仕組み

  1. 受信 - 未知の受信者宛てメールを受理します。
  2. タグ付け - Transport Ruleが外部かつ有効ユーザー宛てでないメールを識別します。
  3. 抑制 - Spam Confidence Level (SCL)を9に設定します。
  4. 保存 - catchall-sink@yourdomain.com のような共有メールボックスへ送ります。

PowerShell設定

Exchange Admin Centerでドメインを"Internal Relay"にしてDBEBを無効にし、次を実行します。

# Create the sink (shared mailbox - no license needed)
New-Mailbox -Shared -Name "CatchAll Sink" -PrimarySmtpAddress catchall-sink@yourdomain.com

# Create the transport rule
New-TransportRule -Name "Catch-All Routing & Suppression"
    -FromScope "NotInOrganization"
    -SentTo "catchall-sink@yourdomain.com"
    -RedirectMessageTo "catchall-sink@yourdomain.com"
    -SetSCL 9
    -ExceptIfRecipientBelongsTo "All Valid Users Group"

SCL 9を使う理由 設定しないと通知が大量に届きます。SCL 9は迷惑メールフォルダーへ移します。保持方針に沿って定期確認してください。

方法2: タグ付きストリーム (Postfix / Linux)

自社のPostfix/Dovecotでは、別メールボックスが不要な場合があります。ヘッダーを付け、クライアントまたはSieveで分類します。

仕組み

  1. 受信 - luser_relay が未知のローカル受信者宛てを受理します。
  2. 変更 - MTAが X-Catch-All: True ヘッダーを追加します。
  3. 振り分け - Sieveが専用フォルダーへ移します。

Postfix設定

# /etc/postfix/main.cf
# Route unknown local users to a specific alias
luser_relay = catchall_alias

# /etc/postfix/virtual
# Map the alias to a real user
catchall_alias    realuser@yourdomain.com

重要: luser_relay はローカルドメイン専用です。複数の仮想ドメインには、ワイルドカード付きの virtual_alias_maps を使います。

# /etc/postfix/virtual
@example.com      realuser@example.com

Catch-allと同時にメール転送を設定する場合、virtual mapの競合を避けてください。重複規則は誤配送の主な原因です。

Sieveフィルター

目視で分けず、自動化します。

if header :contains "X-Original-To" "catchall_alias" {
    fileinto "Junk/CatchAll";
    stop;
}

方法3: 部分ワイルドカード (正規表現ルーティング)

完全なcatch-allが不要なら、*@domain.com をすべて受けず、sales-*@domain.com など特定パターンだけを受け、残りを拒否します。

仕組み

MTAやメール事業者で正規表現に一致する sales-webinar@sales-q1@ を受け、危険性の高い admin@hr@ は拒否します。

Google Workspace設定

  1. Apps > Google Workspace > Gmail > Default Routing を開きます。
  2. Specify Envelope Recipients で"Pattern Match"を選びます。
  3. 正規表現を入力します: ^sales-.*@yourdomain\.com$
  4. Envelope recipientを sales-team@yourdomain.com に変更します。

結果: sales-promo@yourdomain.com は受理され、admin@yourdomain.com は550で拒否されます。ディレクトリ探索攻撃の対象を大きく減らせますが、完全にはなくせません。

実際のメールエイリアスとして使うなら、部分ワイルドカードと転送を組み合わせ、認証とループ対策を確認します。

Catch-allのルーティングループを防ぐ

特に危険なのがルーティングループです。次のように発生します。

  1. Catch-allが ghost@domain.com 宛てを受理します。
  2. 規則が external@gmail.com へ自動転送します。
  3. GmailがSPF/DMARC失敗で拒否します。
  4. GmailがNDRを ghost@domain.com へ返します。
  5. Catch-allが返送メールを受理します。
  6. 規則が再びGmailへ転送します。
  7. MaxHopCount 超過まで繰り返します。

5.4.14 Hop count exceeded5.4.6 Routing loop detected が表示されます。通信量の多いドメインでは送信キューが増え、迷惑メール遮断を招く場合があります。

予防チェックリスト

  • ヘッダー確認 - MTAが X-LoopDelivered-To を認識することを確認します。
  • 自動返信を除外 - Auto-Submitted: auto-generated を持つメールを規則から外します。
  • Microsoft 365の注意 - 標準の送信迷惑メール方針は外部転送を 5.7.520 Access denied で遮断します。有効化するとバックスキャッターリスクが増すため、最新文書を確認して判断します。

事業者別の注意点はメールエイリアス転送のガイドで説明しています。

多くのcatch-all設定が不要な理由

企業がユーザー単位の費用を避けるためにcatch-allを使うことがあります。support@billing@jobs@ が必要でもGoogleやMicrosoftへ一人あたり$18/monthを払いたくない場合、近道に見えます。記載価格は例であり変更される場合があります。

実際には、評価リスクを伴う技術的負債です。

代替案はユーザー単位で課金しない事業者です。ここに記載する現行構成では、TrekMail は共有ストレージを使います。

  • Nanoプラン - $0、カード不要。
  • Starter - $3.50/mo、14-day試用。
  • Pro - $10/mo、14-day試用。
  • Agency - $23.25/mo、14-day試用。

support@billing@jobs@ を実メールボックスまたは独自ドメインのエイリアスとして作成します。正しいディレクトリ情報があれば、サーバーは未知の宛先を境界で550拒否でき、評価保護に役立ちますが保証はされません。Transport Rule、Sieve、正規表現が不要になることもあります。

複数ドメインを管理する場合はcatch-all回避策のリスクを評価してください。TrekMailのcatch-all受信箱も安全網にはなりますが、適切なDNS、認証、ストレージ、迷惑メール方針は必要です。

まとめ

Catch-all自体ではなく、無防備な運用が危険です。Exchangeは隔離シンク、Postfixはタグ付きストリーム、Workspaceは部分ワイルドカードなど、環境に合う方法を選び、本番メールと混ぜないでください。

または、適切なプランで実アドレスを無理なく作れる事業者を選び、複雑さを避けます。決定前に最新価格と上限を確認してください。

この記事を共有

投稿 共有 共有

TrekMail の運用と保護に必要な技術を使用します。確認すると、Cookie ポリシーに記載された限定的な分析と広告測定も許可されます。

TrekMail にサインイン

ダッシュボード、メールボックス、DNS にアクセスできます。

または

12 文字 パスワードが一致

または

再設定メールを送信しました

このメールアドレスのアカウントが存在する場合、パスワード再設定の手順をお送りしました。

続行すると、TrekMail の 利用規約 および プライバシーポリシーに同意したものとみなされます.