25番ポートブロック
2007/08/13 01:03
![]()
![]()
今までADSL(8Mbpsプラン。実質3Mbps)で続けてきたのですが、ようやく(?)光ファイバーにしました。
先ほど速度を測ってみたら、34Mbpsでした。
25番ポートブロックとは
25番ポートブロックとは、私のようにサーバーをたてている場合、他の外部のメールサーバーの25番ポートにアクセス出来なくする制限です。
たとえば、自鯖でメールサーバーを立ち上げている場合、スパムメールを大量に発送したり、またサーバーが乗っ取られたりして、別のメールサーバーの25番へアクセスしようとするような接続を拒否する制限です。
これは何もサーバーを立ち上げている人だけでなく、ウィルスに感染した場合も同じです。
ウィルスやワームの中には、メールサーバーのような振る舞いをするようなものもあるため、知らないうちにスパムメールをばらまく可能性もあります。
自鯖のメールサーバーに25番ポートブロック
ADSLの時に加入していたプロバイダーも、25番ポートブロック制限はありました。
ただし、用意されたメールサーバーを経由させるだけであとはすんなり。
設定も簡単でした。
プロバイダーのメールサーバーを経由させるためのPostfixの設定
/etc/posffix/main.cf
# プロバイダーから指定されたメールサーバー(mail.example.ne.jp)を記述 relayhost = [mail.example.ne.jp]
認証が必要な場合
ところが、新しいプロバイダーは、この設定でもメールを送信出来ません。
色々調べてみると、指定されたメールサーバーを経由させる前にSMTP認証が必要のようです。
SMTP認証が必要な場合のmain.cf
SMPT認証が必要な制限を加えているプロバイダーは多いようです。
以下は、Postfixの設定です。
#biglobe 25版ポートブロック用relayhost = [mail.example.ne.jp]:25 smtp_sasl_type = cyrus smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous
「smtp_sasl_type」から「smtp_sasl_security_options」の4行が加わりました。
なお、mail.example.ne.jpは、プロバイダーの方で指定されるため適当に変更してください。
これだけではうまく動作しません。
認証用のIDとパスワードファイルが必要です。
「 /etc/postfix/sasl_passwd 」
がパスワードファイルを指定する設定です。
この「 sasl_passwd 」の内容は、以下のような感じになります。
[mail.example.ne.jp]:25 aaaaa@bbb.example.ne.jp:password
[mail.example.ne.jp]:25
は、先ほどのプロバイダーから指定されたメールサーバーのドメインと、接続用のポート番号です。
プロバイダーによっては25番ポートではなく、587番ポートを指定するように指示するところもあるようです。
aaaaa@bbb.example.ne.jp
ここは、たいていプロバイダーから与えられたメールアドレスが入ります。
password
ここは、プロバイダーから与えられたメールアドレス用のパスワードになります。
Vine Linuxだとメールを送信出来ない!?
ところが、このような設定にしてもうまく送信出来ません。
メールアドレスやパスワードを色々変えてみても、いっこうに自鯖から外部に向かってメールが送信出来ません。
ファイアーウォール等も調べてみましたが、どうやら指定されたメールサーバーの25番ポートにはアクセス出来ているものの、認証が拒否されてしまうようです。
ログを見てみると、以下のようなエラーが残っていました。
localhost postfix/smtp[26901]: 026CF53835F: to=, relay=none, delay=776, status=deferred (connect to mail.example.ne.jp[123.123.123.123]: server dropped connection without sending the initial SMTP greeting)
どうも認証がうまくいってないようです。
パケットを調べてみた
色々設定を変えてもうまくいかないので、Vine LinuxにEtherealをインストールしてパケットを調べてみることにしました。
なお、Vine LinuxにEtherealをインストールするのは簡単。
# apt-get install Ethereal ↓
すると、どうもEHLOコマンドを送信したあと、QUITコマンドで終了している様子。
■色は、自鯖のPostfixが送信している。
220 mail.example.ne.jp SMTP-Gateway Version 2.05 at Sun, 12 Aug 2007 22:17:23 +0900 (JST) EHLO local 250-mail.example.ne.jp Hello local [222.222.222.222], pleased to meet you 250-AUTH CRAM-MD5 LOGIN PLAIN 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-8BITMIME 250-SIZE 104857600 250-DSN 250-DELIVERBY 250 HELP QUIT 221 2.0.0 mail.example.ne.jp closing connection
そもそも、Vine Linux4.0のPostfixがAUTH認証に対応していないのでは??
AUTH認証対応にさせる
結局のところ、デフォルトのVine Linux4.0のPostfixではこの認証に対応していないようなので、以下の方法で対応してあげる必要があります。
# rpm -qa|grep sasl cyrus-sasl-2.1.18-0vl6 ↑ cyrus-sasl-plain , cyrus-sasl-devel , cyrus-sasl-md5 が足りない [root@localhost postfix]# apt-get install cyrus-sasl-plain ↓ パッケージリストを読みこんでいます... 完了 依存情報ツリーを作成しています... 完了 以下のパッケージが新たにインストールされます: cyrus-sasl-plain アップグレード: 0 個, 新規インストール: 1 個, 削除: 0 個, 保留: 0 個 22.1kB のアーカイブを取得する必要があります。 展開後に 41.1kB のディスク容量が追加消費されます。 取得:1 http://updates.vinelinux.org 4.1/i386/main cyrus-sasl-plain 2.1.18-0vl6 [22.1kB] 22.1kB を 0s 秒で取得しました (98.6kB/s) 変更を適用しています... 準備中... #################################### [100%] 1:cyrus-sasl-plain #################################### [100%] 完了 [root@localhost postfix]# apt-get install cyrus-sasl-devel ↓ パッケージリストを読みこんでいます... 完了 依存情報ツリーを作成しています... 完了 以下のパッケージが新たにインストールされます: cyrus-sasl-devel アップグレード: 0 個, 新規インストール: 1 個, 削除: 0 個, 保留: 0 個 550kB のアーカイブを取得する必要があります。 展開後に 1572kB のディスク容量が追加消費されます。 取得:1 http://updates.vinelinux.org 4.1/i386/main cyrus-sasl-devel 2.1.18-0vl6 [550kB] 550kB を 0s 秒で取得しました (1421kB/s) 変更を適用しています... 準備中... #################################### [100%] 1:cyrus-sasl-devel #################################### [100%] 完了 [root@localhost postfix]# apt-get install cyrus-sasl-md5 ↓ パッケージリストを読みこんでいます... 完了 依存情報ツリーを作成しています... 完了 以下のパッケージが新たにインストールされます: cyrus-sasl-md5 アップグレード: 0 個, 新規インストール: 1 個, 削除: 0 個, 保留: 0 個 49.9kB のアーカイブを取得する必要があります。 展開後に 93.1kB のディスク容量が追加消費されます。 取得:1 http://updates.vinelinux.org 4.1/i386/main cyrus-sasl-md5 2.1.18-0vl6 [49.9kB] 49.9kB を 0s 秒で取得しました (119kB/s) 変更を適用しています... 準備中... #################################### [100%] 1:cyrus-sasl-md5 #################################### [100%] 完了 [root@localhost postfix]#
つまり「cyrus-sasl-plain」「cyrus-sasl-devel」「 cyrus-sasl-md5」がインストールされてなかったためのようです。
うまくインストール出来たら、saslauthdを起動させます。
# saslauthd start ↓ saslauthdを起動中: [ OK ]
次回、Linuxを再起動させたときに自動的に起動させるようにします。
# ランレベル3と5にシンボリックリンクを作成
# ln -s /etc/rc.d/init.d/saslauthd /etc/rc3.d/S99saslauthd
# ln -s /etc/rc.d/init.d/saslauthd /etc/rc5.d/S99saslauthd
あとは、メールキューに貯まったメールを送信してうまく配達出来ていればOKです。
参考サイト
MIME::Base64Postfix+saslでOP25B対策
2007/08/13 01:03 | このページのトップへ | コメントを書く | 管理
