作成開始 : 平成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]
【戻る】