質問: 今セキュリティー関連の勉強をしており、「メールの第三者中継」について調べています。 誰かが他のサーバを利用してそこからスパムメールなどを大量に送り付け、そのメールアドレスが迷惑メールに設定されてもサーバを変えればまた同じことができる。 などの内容は分かりましたが、ネット上に「どういうコードが脆弱性のあるコードで、悪いやつがどうコードを書くとできるのか」という具体的なものが見当たりません。 ですので「これが脆弱性のあるコードで、こう悪い奴がコード打ち込むと他のサーバを利用してメールを送れます」というのが欲しいです。 簡潔であればあるほど嬉しいです、よろしくお願いします。
回答: そもそもの前提として、メールサーバーはメール転送サーバー(MTA)というくらいで、メールを中継することが仕事です。以下はその例です。 1. 利用者のメールクライアント(MUA)からSMTPで配信されたメールを宛先のメールサーバーに中継する 2. 社外公開サーバーで受信したメールを社内用のメーサーバーに中継しそこから社員のメールボックスに配送する 1.の方は、任意のメールアドレスに転送ができますが、その前提としてメールサーバーに対して認証が通っていることが通常の転送条件です。 2.の方は任意のメールアドレスへの転送ではなく、受信対象のドメイン名になっていることが代表的な転送の条件です。 これらの「転送しても良い条件」を満たしていないのに転送してしまう状態が「メールの第三者中継」の状態です。なので、簡潔なコードで例を示すのは難しいです。 また、最近はMTAが「メールの第三者中継」をバグとして許してしまうことは珍しく、多くは、MTAの設定ミスで置きます。