トップ  > サーバ設定:運用  > 各アプリケーションのインストール  > OP25B(Outbound Port 25 Blocking)対策

OP25B(Outbound Port 25 Blocking)対策  (最終更新日:2010/02/15)

BIGLOBEではOP25Bを導入している為、以下の影響があります。

  1. サーバから外部宛にメール送信ができない(例:root宛メールを外部に転送できない)
  2. 内部から自宅メールサーバのメールアドレスでメール送信ができない
  3. 外部から自宅メールサーバのメールアドレスでメール送信ができない

OP25B影響の確認

メール送信時にOP25Bの影響を受けるのを確認する為、メールサーバへ接続してみます。

C:\>nslookup -type=mx gmail.com ← Gmailのメールサーバー名検索
サーバー:  rx-93dff.net
Address:  192.168.0.100

権限のない回答:
gmail.com       MX preference = 40, mail exchanger = alt4.gmail-smtp-in.l.google
.com
gmail.com       MX preference = 5, mail exchanger = gmail-smtp-in.l.google.com
gmail.com       MX preference = 10, mail exchanger = alt1.gmail-smtp-in.l.google
.com
gmail.com       MX preference = 20, mail exchanger = alt2.gmail-smtp-in.l.google
.com
gmail.com       MX preference = 30, mail exchanger = alt3.gmail-smtp-in.l.google
.com

gmail.com       nameserver = ns4.google.com
gmail.com       nameserver = ns1.google.com
gmail.com       nameserver = ns2.google.com
gmail.com       nameserver = ns3.google.com
alt1.gmail-smtp-in.l.google.com internet address = 209.85.217.58
alt2.gmail-smtp-in.l.google.com internet address = 74.125.93.114
alt4.gmail-smtp-in.l.google.com internet address = 209.85.219.7
ns1.google.com  internet address = 216.239.32.10
ns2.google.com  internet address = 216.239.34.10
ns3.google.com  internet address = 216.239.36.10
ns4.google.com  internet address = 216.239.38.10

C:\>telnet alt1.gmail-smtp-in.l.google.com 25 ← GmailのメールサーバーへSMTP接続
接続中: alt1.gmail-smtp-in.l.google.com...ホストへ接続できませんでした。 ポート番号 25: 接続に失敗しました
OP25Bの影響の為、接続できないことが正常

メールサーバのOP25B対策

BIGLOBEのメールサーバから送信するメールはOP25Bの影響を受けない為、全てのメールをBIGLOBEのメールサーバを経由するようにします。

1.Sendmail設定
[root@sv ~]# yum install sendmail-cf ← sendmail-cfインストール

[root@sv ~]# vi /etc/mail/sendmail.mc ← sendmail設定ファイル編集
dnl define(`SMART_HOST', `smtp.your.provider')dnl
↓
define(`SMART_HOST', `BIGLOBEのSMTPサーバー名')dnl ← 変更BIGLOBEのメールサーバーへメールを転送)
define(`ESMTP_MAILER_ARGS',`TCP $h 587')dnl ← 追加(Submissionポートへ接続)
FEATURE(authinfo, DATABASE_MAP_TYPE` -o 'MAIL_SETTINGS_DIR`authinfo')dnl ← 追加(SMTP認証)

[root@sv ~]# m4 /usr/share/sendmail-cf/m4/cf.m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf ← sendmail.mcからsendmail.cfを作成
2.SMTP認証情報設定
[root@sv ~]# echo AuthInfo:BIGLOBEのSMTPサーバー名 "U:プロバイダのメールアカウント名" "P:プロバイダのメールパスワード" "M:CRAM-MD5 LOGIN PLAIN" ← SMTP-Auth設定

[root@sv ~]# chmod 640 /etc/mail/authinfo ← root以外参照できないようにパーミッション変更

[root@sv ~]# makemap hash /etc/mail/authinfo.db < /etc/mail/authinfo ← authinfo.db作成

[root@sv ~]# chgrp smmsp /etc/mail/authinfo.db ← authinfo.db所有グループ変更
3.送信元メールアドレス書き替え設定

送信元メールアドレスの@以降の部分の名前解決が外部から出来ない場合、メールを拒否するメールサーバもある為、サーバから送信する送信元アドレスxxxx@sv.example.netからxxxx@example.netに書き換えます。

[root@sv ~]# vi /etc/mail/sendmail.mc ← sendmail設定ファイル編集
EXPOSED_USER(`root')dnl
↓
dnl EXPOSED_USER(`root')dnl ← 指定されたユーザ(この場合はroot)も書き替える(マスカレードする)

dnl MASQUERADE_AS(`mydomain.com')dnl
↓
MASQUERADE_AS(`rx-93dff.net')dnl ← 送信元アドレスの@以降をrx-93dff.netにする

dnl FEATURE(masquerade_envelope)dnl
↓
FEATURE(masquerade_envelope)dnl ← エンベロープFromも書き替える

[root@sv ~]# m4 /usr/share/sendmail-cf/m4/cf.m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf ← sendmail.mcからsendmail.cfを作成

[root@sv ~]# /etc/rc.d/init.d/sendmail reload ← sendmail設定反映
sendmail を再読み込み中:                                   [  OK  ]
sm-client を再読み込み中:                                  [  OK  ]

メールクライアントのOP25B対策

メールソフトの設定で、メール送信時に使用するポートをSMTP(番25ポート)以外(プロバイダの推奨ではサブミッションポート587)に変更すればよいが、当サイトではSMTP認証とTLSによる通信暗号化の設定をしている為、メール送信時に使用するポートはSMTPS(465番ポート)に設定され、自動的にOP25B対策がなされます。その為、特に必要な対策はありません。

メールサーバ間通信内容暗号化(OpenSSL+sendmail+Dovecot)を参照