このページではLinux構築した自宅サーバーで、メールサーバーPOP/IMAP before SMTPで運用する方法について解説します。

HPの格安エントリーサーバー機"HP ProLiant ML115"でのLinuxサーバー構築記を掲載しました。サーバー機の選定にお悩みの方は是非お越しください...。お便利サーバー.com管理人。
サーバーのセットアップ
メールサーバーの構築

メールサーバーについて

電子メールシステムについて

メールアカウントの作成

POP/IMAPサーバーの設定

Sendmailの設定

Postfixの設定

SquirrelMailの設定

POP/IMAP before SMTP

dracによるPBS構築

Pop-before-smtpの設定

サブミッションポートの設定

メールの転送設定のコツ

メールサーバーのコントロール

メールサーバーの動作チェック

ポートフォワーディングの設定

サイト内検索

POP/IMAP before SMTPとは

ルーター ポートフォワーディング の設定を行えば メールサーバー用のポートフォワーディング設定について 構築中のLinuxサーバー メールサーバー としてインターネット空間のMTAと相互にメールの送受信を行うことが可能になります。

また、インターネットに接続できる場所であれば、外出先からでも 構築中のLinuxサーバー 上のメールデータを受信できるようになります。

ただ、メールの送信についてはそうはいきません。

この コンテンツ に従って Sendmail または Postfix を設定した場合には、 構築中のLinuxサーバー から他の MTA への転送を伴うメールの送信は、自宅の サブネット プライベートIPアドレス からしか受け付けない設定になっているはずです。

つまり外出先からは、 "xxxxx@obenri.com" 宛てのメールしか、 構築中のLinuxサーバー は受け付けることができないということになります。

もちろん、「自宅だけでしかメールを扱わない。」というのであれば、これでも特に問題はないでしょう。

ルミカショップへようこそ
管理人がお手伝いしたサイトです。 一度お越しくださいね!。

しかしノートパソコンを持ち歩いて、インターネットカフェや勤め先や学校などでメールを利用するときには、 「受信はできても、 xxxxx@obenri.com以外のメールアドレスへはメールを送信できない。」 というわけです。

外出先で受信したメールの返事を、自宅に戻ってからしか送信できないのでは確かに不便です。

ただ、それは セキュリティ を維持するためにそういう設定を行っているからであって、絶対にできないということではありません。

例えば現在自分が接続している接続環境の、 WAN 側の IPアドレス さえ知ることができれば、

・Sendmailの場合は "/etc/mail/access" sendmailの/etc/mail/accessの設定

・Postfixの場合は "/etc/postfix/main.cf" "mynetworks_style" (または"mynetworks") ディレクティブ postfixのmynetworks_styleディレクティブの設定

に、その グローバルIPアドレス を追加して設定しなおせば任意のメールアドレスへの送信は可能になります。

解りやすくいえば、インターネットカフェなどで、隣でキーボードを叩いている見ず知らずの人にも、 構築中のLinuxサーバー はメール転送許可を出してしまうというわけです。

ただしその場合、同じグローバルIPアドレスを NAT + IPマスカレード で共用しているほかの ホスト機 がある場合、それらに対しても「送信許可」が設定されるのと同じことです。

従って、悪意のある スパマー にそのグローバルIPアドレスの存在を知られる前に、メールの送信が終わったら速やかに設定を元に戻す必要があります。

例えばSendmailをMTAとしている場合、「手動操作で一時的に転送を伴うメールの送信を行う」という具体的な手順を箇条書きにしてみると、

1. 接続中のグローバルIPアドレスを調べる

2. SSHクライアント から 構築中のLinuxサーバー ログイン する。

3. アカウント "root" に変更する。

4. picoエディタ で"/etc/mail/access" を開く picoエディタでファイルを開く

5.調べたグローバルIPアドレスを "RELAY" で追加記述して保存する picoエディタでファイルを閉じる

6. "makemap" コマンド "/etc/mail/access.db" を作成する。 /etc/mail/access.dbの作成

7.メールを送信する。

8.もう一度picoエディタで"/etc/mail/access"を開く。

9.追加したグローバルIPアドレスの"RELAY"の設定を削除し、保存する。

10."makemap"コマンドでもう一度"/etc/mail/access.db"を作り直す。

11. 構築中のLinuxサーバー から ログアウト する。

と、考えるだけでもうっとおしい手順が必要になります。

ところが、例えば7.の「メールの送信」の前後の作業を自動化してしまえばどうでしょうか。

実際、 MUA でメールの受信作業を行うときには、 MRA にMUA側のグローバルIPアドレス情報が送信されます。

ということは、このグローバルIPアドレス情報をMRAからMTAに伝え、一定時間だけそのグローバルIPアドレスに対して"RELAY"許可を与えることができれば、しかもそれを完全に自動で行うことができれば、

「メールの受信作業を行って一定時間内ならば、任意の ノード から中継を伴うメールの送信が可能になる。」

ということになります。

そしてそういう仕組みは実際に設置することができます。

実は、これはMTAの運用では比較的よく用いられる方法で、「送信の前に受信を行う」という意味から、 POP/IMAP before SMTP と呼ばれています。

イメージ的にPOP/IMAP before SMTPは、 メールサーバー が、

「不特定多数の人が利用可能な IPアドレス に対して、自分が利用するときにのみ、転送可能なメール送信の許可を一時的に与える。」

という手段と言えるでしょう。

関連セクションへ 関連セクション・ Sendmailの設定

関連セクションへ 関連セクション・ Postfixの設定

このページの先頭へ↑

POP before SMTPの実際

WBEL CentOS に限らず、 POP/IMAP before SMTP ディストリビューション に正式に組み込まれ、提供されることは非常に稀です。

従って、「設定ファイルを適切に調整する」だけの他の サーバー アプリケーション の設定と異なり、POP/IMAP before SMTPの構築はそれなりの知識と工夫が必要になります。

POP/IMAP before SMTPを実現するためのアプリケーションはいくつかありますが、POP/IMAP before SMTPはそのアプリケーションの設定だけで実現できるものではありません。

一般的なPOP/IMAP before SMTPのサポートアプリケーションは、

1. MRA の動作を監視して、ユーザーがメールを受信した時刻と受信先の IPアドレス を記録する。

2.記録したIPアドレスからの送信メールのリレー許可を MTA に通知する。

3.一定の時間が経過したら、そのIPアドレスからの送信メールのリレーを禁止する。

という動作を行います。

そのため、POP/IMAP before SMTPのサポートアプリケーションはMRAやMTAの種類毎に異なる設定が必要ですし、場合によってはMRAやMTAのバージョンが変わるだけでも調整が必要になることもあります。

もちろん、 メールサーバー の仕組みとそれぞれのアプリケーションの詳しい動作を理解していれば、色々扱いまわしているうちになんとかできるようにはなるものですが、少なくとも初心者レベルでは容易な作業ではないことは確かです。

そこでこのセクションでは、可能な限り手間がかからず、初心者にも理解可能な範囲で普遍的に構成できる方法でPOP/IMAP before SMTPの解説を行います。

関連セクションへ 関連セクション・ Sendmailの設定

関連セクションへ 関連セクション・ Postfixの設定

このサイトに対するご意見、ご要望、苦情、泣き言、献上品、資金援助などがございましたら こちら からお寄せください(お返事できなかったらごめんなさい)。もちろん リンクフリー です。趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
Powered by White Box Enterprise Linux