質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
セキュリティー

このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

SMTP

SMTP(Simple Mail Transfer Protocol)はIPネットワークでemailを伝送する為のプロトコルです。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

Q&A

解決済

2回答

4760閲覧

メールの第三者中継について

kazoogon

総合スコア281

セキュリティー

このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

SMTP

SMTP(Simple Mail Transfer Protocol)はIPネットワークでemailを伝送する為のプロトコルです。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

0グッド

1クリップ

投稿2017/06/03 05:54

今セキュリティー関連の勉強をしており、「メールの第三者中継」について調べています。

誰かが他のサーバを利用してそこからスパムメールなどを大量に送り付け、そのメールアドレスが迷惑メールに設定されてもサーバを変えればまた同じことができる。
などの内容は分かりましたが、ネット上に「どういうコードが脆弱性のあるコードで、悪いやつがどうコードを書くとできるのか」という具体的なものが見当たりません。 ですので「これが脆弱性のあるコードで、こう悪い奴がコード打ち込むと他のサーバを利用してメールを送れます」というのが欲しいです。

簡潔であればあるほど嬉しいです、よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

そもそもの前提として、メールサーバーはメール転送サーバー(MTA)というくらいで、メールを中継することが仕事です。以下はその例です。

  1. 利用者のメールクライアント(MUA)からSMTPで配信されたメールを宛先のメールサーバーに中継する
  2. 社外公開サーバーで受信したメールを社内用のメーサーバーに中継しそこから社員のメールボックスに配送する

1.の方は、任意のメールアドレスに転送ができますが、その前提としてメールサーバーに対して認証が通っていることが通常の転送条件です。
2.の方は任意のメールアドレスへの転送ではなく、受信対象のドメイン名になっていることが代表的な転送の条件です。

これらの「転送しても良い条件」を満たしていないのに転送してしまう状態が「メールの第三者中継」の状態です。なので、簡潔なコードで例を示すのは難しいです。
また、最近はMTAが「メールの第三者中継」をバグとして許してしまうことは珍しく、多くは、MTAの設定ミスで置きます。

投稿2017/06/04 10:16

ockeghem

総合スコア11701

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kazoogon

2017/06/04 11:48

回答ありがとうございます。 MTAはメールサーバを使いたい人が設定でき(コーディングでき)、ここでいうMTA設定ミスというのはそのコーディングのミスということでしょうか? それともMTA自体はいじることはできず、デフォルトの状態でバグがあるということでしょうか?
ockeghem

2017/06/04 13:03

設定とコーディング(プログラミング)は違いますね。 広く利用されている postfix というメール転送サーバーでは、信頼できるネットワークとして mynetworks という指定ができます。たとえば、ローカルネットワークからの転送は無条件に許可する場合、以下のように指定します。 mynetworks = 192.168.0.0/24 いささか極端な例ですが、以下のように指定すると、すべてのサーバーからの中継を許可してしまいます。 mynetworks = 0.0.0.0/0 この設定で postfix を動かすと、「メールの第三者中継」を許すことになります。詳しくは、下記の記事を参照下さい。 https://cloudpack.media/140
guest

0

通常、メールサーバを立てるにしても、基本的には「既存のメールサーバソフトウェアを使う」のが前提で、自分でメールサーバプログラムを書くなんてことはまずしないので、コードとして気にすることは(メールサーバの開発者以外には)ありません。

そして、第三者中継を防ぐための設定はサーバプログラムごとに違いますので、それぞれに確認する必要があります(インストール時から第三者中継を禁止する設定になっていることも多いですが)。

投稿2017/06/03 08:04

編集2017/06/03 08:08
maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問