プロバイダのOP25Bに対応しよう!
ここでは、OP25B(Outbound Port 25 Blocking)対策について掲載しています。
OP25B(Outbound Port 25 Blocking)とは…?
スパムメール対策として取り入れられたもので、通常メールを送信する際に使われるSMTPポート(TCP/25)をプロバイダがブロックし、迷惑メールなどの送信を防止するというものです。
OP25Bを導入している主なプロバイダの一覧はこちら。
このOP25Bですが、自宅サーバを構築する上では少々やっかいなもので、サーバ側で対策をしてあげないとメールを送信できない可能性があります。
対策としては以下の2つ。
1つ目の方法は、OP25Bを導入しているプロバイダが用意しているSubmissionポートと呼ばれる代替ポート(TCP/587)を使う方法。
2つ目の方法は、通信を暗号化(TCP/465)してしまう方法。
どちらも共通するのはメールの送信に使うポートを変えてしまうという点ですね。2つとも設定する必要はなく、どちらか片方を設定すればだいたい大丈夫です。
※ただし、うまくいかないこともあります…。
プロバイダのSMTPサーバの認証方式を確認
今回のOP25B対策では、プロバイダ指定のSMTPサーバを経由してメールを送ることになります。まずはSMTPサーバの認証方式を確認しておきましょう。
[root@co ~]# telnet プロバイダ指定のSMTPサーバ 25
Trying XXX.XXX.XXX.XXX...
Connected to SMTPサーバ (XXX.XXX.XXX.XXX).
Escape character is '^]'.
220 SMTPサーバ SMTP-Gateway Version 1.01 at Sat, 29 Jun 2013 21:33:19 +0900 (JST)
ehlo localhost (入力)
250-SMTPサーバ Hello localhost [xxx.xxx.xxx.xxx], 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 SMTPサーバ closing connection
Connection closed by foreign host.
もしtelnetでのログインができないようであれば、ポートを25から587に変更してみてください。
今回参考に使った例では、認証方式として、CRAM-MD5、LOGIN、PLAINが使用されていることが分かります。
Submissionポートを使用したOP25B対策
通常SMTPポート(TCP/25)を使うところをSubmissionポート(TCP/587)を使ってメールの送信をするよう、サーバの設定を行います。
Postfixの設定
Postfixの設定を変更します。
[root@co ~]# 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 = CRAM-MD5,LOGIN,PLAIN (先に確認した認証方式)
認証情報の設定
プロバイダのSMTPサーバにログインするための認証情報を設定します。プロバイダから与えられたアカウント名、パスワード等を会員証などで確認し、設定します。
[root@co ~]# echo [プロバイダのSMTPサーバ]:587 プロバイダのメールアカウント:パスワード > /etc/postfix/ispinfo
[root@co ~]# chmod 640 /etc/postfix/ispinfo
[root@co ~]# postmap /etc/postfix/ispinfo
Postfixの再起動
設定を反映するため、Postfixを再起動します。
[root@co ~]# /etc/init.d/postfix restart
postfix を停止中: [ OK ]
postfix を起動中: [ OK ]
メーラーからテスト送信を行い、正しく動作するか確認してください。
通信の暗号化を使用したOP25B対策
SSLの設定を済ませている必要があります。
通信内容を暗号化し、通常SMTPポート(TCP/25)を使うところをSMTPSポート(TCP/465)を使ってメールの送信をするよう、サーバの設定を行います。
ここで暗号化されるのは、メールの送受信を行っている端末と現在構築しているメールサーバ間になります。メールサーバから先は暗号化の保証がありませんので、そこらへんは注意が必要です。
Postfixの設定
設定ファイル(main)の最後尾に以下を追記します。
[root@co ~]# 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@co ~]# vi /etc/postfix/master.cf
#smtps inet n - n - - smtpd
#-o smtpd_tls_wrappermode=yes
#-o smtpd_sasl_auth_enable=yes
↓
smtps inet n - n - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
Postfixの再起動
設定を反映するため、Postfixを再起動します。
[root@co ~]# /etc/init.d/postfix restart
postfix を停止中: [ OK ]
postfix を起動中: [ OK ]
Dovecotの設定
送信時だけでなく、受信時の通信も暗号化するよう、Dovecotの設定も変更します。
[root@co ~]# 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
Postfixの再起動
設定を反映するため、Dovecotを再起動します。
[root@co ~]# /etc/init.d/dovecot restart
Dovecot Imap を停止中: [ OK ]
Dovecot Imap を起動中: [ OK ]
ルータのポートマッピング
暗号か通信用のポートマッピングを行います。
使用するポートは以下の通りです。
- ・SMTPS:465
- ・POPS:995
- ・IMAPS:993
メーラーの設定
基本的な操作は前回と変わりありませんが、一部、暗号化に関する項目を設定します。
設定が終わったら、自分自身へのメール送受信、外部とのメール送受信のテストを行い、正しく動作するかを確認してください。
参考にしたサイト様
今回新しく登場したコマンド
[広告]

トップページ
Rocky Linux 8
CentOS 7
Scientific Linux 6
CentOS 5
○準備
○VMware Player
○Hyper-V(Win Proのみ)
○導入
○セキュリティ対策
○Dynamic DNS
○NTPサーバ
○データベース
○WEBサーバ
○FTPサーバ
○メールサーバ
○DNSサーバ
○ファイルサーバ
○ブログシステム
○その他
ブログ
[広告]