プロバイダのOP25Bに対応しよう!
ここでは、OP25B(Outbound Port 25 Blocking)対策について掲載しています。
※CentOS 5のサポートは2017年3月をもって終了していますが、旧コンテンツとしてこちらのページは残しておきます。
[広告]
OP25B(Outbound Port 25 Blocking)とは…?
スパムメール対策として取り入れられたもので、通常メールを送信する際に使われるSMTPポート(TCP/25)の通信ををプロバイダがブロックし、迷惑メールなどの送信を防止するというものです。
OP25Bを導入しているプロバイダの一覧はこちら。
このOP25Bですが、自宅サーバを構築する上では少々やっかいなもので、サーバ側で対策をしてあげないとメールを送信できない可能性があります。
対策としては以下の2つ。
1つ目の方法は、通信を暗号化してしまう方法。
2つ目の方法は、OP25Bを導入しているプロバイダが用意しているSubmissionポートと呼ばれる代替ポート(TCP/587)を使う方法。
どちらも共通するのはメールの送信に使うポートを変えてしまうという点ですね。2つとも設定する必要はなく、どちらか片方を設定すればだいたい大丈夫です。
※ただし、うまくいかないこともあります…。
通信の暗号化を使用したOP25B対策 (オススメ!)
通信内容を暗号化し、通常SMTPポート(TCP/25)を使うところをSMTPSポート(TCP/465)を使ってメールの送信をするよう、サーバの設定を行います。
ここで暗号化されるのは、メールの送受信を行っている端末と現在構築しているメールサーバ間になります。メールサーバから先は暗号化の保証がありませんので、そこらへんは注意が必要です。
また、事前にSSLの設定を行っておく必要があります。
秘密鍵や証明書についても環境に合わせて設定してください。
Postfixの設定
設定ファイル(main)の最後尾に以下を追記します。
[root@co5 ~]# vi /etc/postfix/main.cf
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/pki/tls/certs/server.crt
smtpd_tls_key_file = /etc/pki/tls/certs/server.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
さらに、以下の設定ファイル(master)を編集します。
[root@co5 ~]# vi /etc/postfix/master.cf
#smtps inet n - n - - smtpd
# -o smtpd_tls_wrappermode=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
↓
smtps inet n - n - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
Postfixの再起動
設定を反映するため、Postfixを再起動します。
[root@co5 ~]# /etc/init.d/postfix restart
postfix を停止中: [ OK ] postfix を起動中: [ OK ]
Dovecotの設定
送信時だけでなく、受信時の通信も暗号化するよう、Dovecotの設定も変更します。
[root@co5 ~]# vi /etc/dovecot.conf
#ssl_cert_file = /etc/pki/dovecot/certs/dovecot.pem
#ssl_key_file = /etc/pki/dovecot/private/dovecot.pem
↓
ssl_cert_file = /etc/pki/tls/certs/server.crt
ssl_key_file = /etc/pki/tls/certs/server.key
Dovecotの再起動
設定を反映するため、Dovecotを再起動します。
[root@co5 ~]# /etc/init.d/dovecot restart
Dovecot Imap を停止中: [ OK ] Dovecot Imap を起動中: [ OK ]
サーバ以外の設定
ルータのポートマッピング
暗号化通信用のポートマッピングを行います。
使用するポートは以下の通りです。
- ・SMTPS:465
- ・IMAPS:993
- ・POPS:995
Submissionポートを使用したOP25B対策
通常SMTPポート(TCP/25)を使うところをSubmissionポート(TCP/587)を使ってメールの送信をするよう、サーバの設定を行います。
認証方式の確認
プロバイダ指定のメールサーバがどのような認証方式に対応しているか確認するためにTelnetを使用します。
Telnetでプロバイダのサーバへ接続後、太字のコマンドを実行し、"AUTH"の項目を確認してください。
[root@co5 ~]# telnet プロバイダ指定のSMTPサーバ 587
Trying 202.238.198.55... Connected to mail.asahi-net.or.jp (202.238.198.55). Escape character is '^]'. 220 hsmtpd-out-2.asahinet.cluster.xspmail.jp ESMTP ehlo localhost (入力) 250-hsmtpd-out-2.asahinet.cluster.xspmail.jp 250-PIPELINING 250-SIZE 104857600 250-AUTH PLAIN LOGIN CRAM-MD5 250-ENHANCEDSTATUSCODES 250 8BITMIME quit (入力) 221 2.0.0 Bye Connection closed by foreign host.
サーバによって表示される内容が異なりますが、今回参考に使った例では認証方式として、PLAIN、LOGIN、CRAM-MD5が使用されていることが分かります。
Postfixの設定
Postfixの設定を変更します。
[カッコ]も忘れずにお書きください。
[root@co5 ~]# vi /etc/postfix/main.cf
#relayhost = $mydomain
↓
relayhost = [プロバイダ指定のSMTPサーバ]:587
最後尾に以下の設定を追記します。
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/ispinfo
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = PLAIN,LOGIN,CRAM-MD5 (先に確認した認証方式)
MyDNSを利用している方は、リレーサーバにMyDNSの提供するサーバを指定することも可能です。プロバイダのSMTPサーバを指定してダメな場合はこちらを利用してみるのも良いと思います。
ただし、あくまで試験のような書き方をしているので、どのくらい続くか分かりませんが…。
認証情報の設定
プロバイダのSMTPサーバにログインするための認証情報を設定します。プロバイダから与えられたアカウント名、パスワード等を会員証などで確認し、設定します。
[root@co5 ~]# echo [プロバイダのSMTPサーバ]:587 プロバイダのメールアカウント:パスワード > /etc/postfix/ispinfo
[root@co5 ~]# chmod 640 /etc/postfix/ispinfo
[root@co5 ~]# postmap /etc/postfix/ispinfo
さらに、以下の設定ファイル(master)を編集します。
[root@co5 ~]# vi /etc/postfix/master.cf
#submission inet n - n - - smtpd
# -o smtpd_enforce_tls=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
↓
submission inet n - n - - smtpd
# -o smtpd_enforce_tls=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
Postfixの再起動
設定を反映するため、Postfixを再起動します。
[root@co5 ~]# /etc/init.d/postfix restart
postfix を停止中: [ OK ] postfix を起動中: [ OK ]
サーバ以外の設定
ルータのポートマッピング
Submission用のポートマッピングを行います。
使用するポートは以下の通りです。
- ・Submission:587
メーラーからテスト送信を行い、正しく動作するか確認してください。
参考にしたサイト様
今回新しく登場したコマンド
[広告]
トップページ
CentOS 5
○準備
○仮想化準備(VMware)
○仮想化準備(Hyper-V)
○仮想化準備(Proxmox)
○基本操作
○導入
○セキュリティ対策
○Dynamic DNS
○NTPサーバ
○データベース
○WEBサーバ
○FTPサーバ
○メールサーバ
○DNSサーバ
○ファイルサーバ
○その他