作成開始 : 平成18年07月21日(金)  最終更新日 : 平成20年10月25日(月)

OP25B(Outbound Port 25 Blocking)の対策をする。


【きっかけ】

平成18年07月18日(火) 「ぷらら」から次のようなメールがありました。(メールより抜粋)
特に ⇒ぷららの動的IPアドレス上で、DNS等を利用してメールサーバを運用している会員様
   
   ※本迷惑メール対策(送信ポート25の規制)により、従来の設定のままでは一部メールの送信ができなくなります。必ず設定をご変更ください。


・・・・・・って俺じゃん!
それで、調べました。(恥ずかしながら)「OP25B」って何?・・・・だったのです。
メールで案内されたURLに記載のものによると・・・・

【Outbound Port 25 Blocking】とは
ISPのネットワークとインターネットとの接点(ゲートウェイ)でプロバイダの用意するメールサーバを経由せずに直接送信しようとするメール送信のトラフィック(SMTPが使用するport25)を遮断する。独自に設置したサーバから動的IPアドレスを用いて配信される迷惑メールの規制に大きな効果を発揮し、昨今の迷惑メール対策の一環として、プロバイダ事業者から迷惑メールを出させない取組みとして実施されている。


・・・とのことです。
「ぷらら」のサイトを見ると平成17年01月31日から携帯メールあてにOP25Bが実施されていました。
同メールは平成17年01月26日に来ていたのですが、関係無いと思い無視していました。
ただ、ある時から携帯メールに送信ができないなぁーと感じてはいました。
そこで、「これではいかん」と思い対策方法を探し対策実施してみました。

【対策】

当サイトのMTAは sendmail を使っています。調べたら、次のサイトの記述が最も良く理解できました。
近頃のsendmail事情(FreeBSD PRESS No.4)
自分がやった手順を以下に記載します。作業は スーパー・ユーザ(root) で /etc/mail ディレクトリで実行しました。
1.まず、既にある freebsd.mc を 自分用のmcとするため takaq.mc としてコピーしました。(cp freebsd.mc takaq.mc)
2.viでtakaq.mc 内にある以下を次ぎのようにコメントを外し有効にしました。
dnl define(`SMART_HOST', `your.isp.mail.server')
        ↓
define(`SMART_HOST', `mmr.plala.or.jp')
3.自分用のmc (takaq.mc) から sendmail.cf を生成するため viで /etc/make.conf に次を記述しました。(このファイルは無かったので新規作成でした)
SENDMAIL_MC=/etc/mail/takaq.mc
4.make します。
gateway# make
/usr/bin/m4 -D_CF_DIR_=/usr/share/sendmail/cf/ /usr/share/sendmail/cf/m4/cf.m4 /etc/mail/takaq.mc > /etc/mail/takaq.cf
gateway#
5.make install します。
gateway# make install
install -c -m 444 /etc/mail/takaq.cf /etc/mail/sendmail.cf
gateway#
ll -t で確認すると takaq.cf 、 sendmail.cf の順で作成されていました。
ちなみに、先に作成していたデータベース(aliaces.db, access.db)は、更新されずに残っていました。 改めてイジル必要は無いですね。
6.sendmail を再起動します。
gateway# make restart
/bin/kill -HUP `head -1 /var/run/sendmail.pid`
gateway#

【テスト】

自分の携帯メール(docomo)とYahooメールに送信してみました。
携帯メールへはこの対策前は「届けられましぇんでした」状態でした。

・・・・・で、両方へ送信した結果!無事にメールが送信できたことを確認しました。
いやー勉強になった。よかった、よかった。

【参考事項】

sendmail の詳しい資料は先のサイトにありますが、自分的にはとても参考になったので以下に引用したいと思います。
スーパー・ユーザ(root)で、ディレクトリが /etc/mail で実行します。
/etc/mail/Makefileのターゲット
ターゲット 内容
all cf、マップ、aliases を生成します
cf .mcファイルから.cfファイルを生成します
maps 各種機能用マップを生成します
aliases エリアスファイルを生成します
install .cfファイルを/etc/mail/sendmail.cfとしてインストールします
start /etc/defaults/rc.confまたは/etc/rc.confで設定されているフラグを使用してsendmailを起動します
stop sendmailを停止します
restart sendmailを再起動します

【追記】(平成18年07月24日[月])

最初に外部とやりとりしているLAN内メール・サーバーの mcファイル内「define(`SMART_HOST', `mmr.plala.or.jp') 」でディフォルトの配送先を指定しました。
こうすると、ディフォルトの配送先が「mmr.plala.or.jp」になりますが、同様に WWWサーバーのディフォルト配送先を「mmr.plala.or.jp」にしたらLAN内メール・サーバーあてに送信しているWWWサーバーの管理メールが送信されなくなってしまいました。
LAN内でのメール・サーバーのアドレスは「gateway.takaq.jp」としてるのですが、/var/log/maillog を見たら、「gateway.takaq.jp」あてのメールも「mmr.plala.or.jp」に配送しています。
こりゃいかん・・・・で wwwサーバーのディフォルトの配送先を「gateway.takaq.jp」にしました。
こうすれば、サーバーの管理メールやSMTPサーバーの指定できないスクリプトのメールで送信先が「gateway.takaq.jp」のものは「gateway.takaq.jp」に配送されLAN内メール・サーバーのメール・ボックスに入ります。
また、インターネット向けのメールは、「gateway.takaq.jp」→「mmr.plala.or.jp」で相手のメール・サーバーに送信されます。

【追記】(平成20年10月25日[土])

組織内、またはドメイン内の他のメールサーバー宛へダイレクトに送るようにするには、/etc/mail/mailertable に書いてあげます。
Ex.
example.com smtp:example.com  -> 転送したいドメイン名
.example.com smtp:%1.example.com -> 転送先の指定で、メイラ:ホスト名のペア

1行目はexample.comにのみマッチしそのサブドメインはマッチしません。
2行目はサブドメインを含めて全てマッチさせたい場合で1行目とペアで指定します。さらにホスト名はMXレコードを検索されます。
なので、MXレコードを検索させたくない、もしくはMXレコードが無い場合はホスト名を[ ] で囲みます。
わが家の場合、メールサーバーのバックアップ用に mail2.takaq.jp を作りました。(メイン機のHDDがそろそろヤバイかも)この場合のメインのメールサーバーの /etc/mail/mailertable には次のように記述しました。
takaq.jp smtp:takaq.jp
.takaq.jp smtp:[mail2.takaq.jp]
作業ディレクトリは /etc/mail です。そして、make mailertable.db とします。これで mailertable.db が作成されます。sendmailの再起動は必要ありません。
さらに mail2.takaq.jp には次のように書いて相互にメール交換ができるようにしました。
takaq.jp smtp:takaq.jp
.takaq.jp smtp:[mail.takaq.jp]

戻る

サイトトップへ