web-dev-qa-db-ja.com

SMTPメールのなりすまし

自宅からtelnetセッションを使用してSMTPサーバーをテストしているときに、次のコマンドを使用して電子メールを生成できました。

telnet MyEmailServer 25

HELO MyEmailServer

差出人:RandomValidEmail @ mydomain.com

RCPT TO:AnotherRandomValidEmail @ mydomain.com

データ

somedata

終了する

これは、誰かが私のマネージャーのメールから私のメールまで、なりすましのメールを生成して、怪しげなWebサイトをクリックするように要求できることを意味します。

これは私の電子メールサーバーの設定ミスで何とか修正できますか、それともSMTPが正常に機能する通常の方法ですか?

4
lisa17

あなたの観点からは、状況はさらに悪化しています。 MAIL FROM:およびRCPT TO:は、enveloppeアドレスにのみ使用されます。つまり、実際の送信者のアドレスと受信者。これらのアドレスはサーバーで制御できます。たとえば、送信元アドレスまたは受信者アドレスのいずれかをローカルの有効なアドレスにする必要があります。

しかし、後で受信者のメーラーに表示されるのはheaderアドレスです。したがって、あなたの例はさらに一歩先に進むことができます。 免責事項:これは単なる例です。メールアドレスに送信しないでくださいIS NOT YOURS

telnet MyEmailServer 25
HELO MyEmailServer
MAIL FROM: [email protected]
RCPT TO: [email protected]
DATA
From: [email protected]
To: [email protected]
Subject: Promotion as personal secretary of the US president

Hi,
... rest of message ...
.
QUIT

そして、AnotherRandomValidAddressは、From:ヘッダーフィールドに入力したものから送信されたように見えるメッセージを受信します。 Okいくつかのフィルターが存在し、このメッセージを偽造可能としてマークすることを拒否できますが、お気に入りのSMTPサーバーで試してください。しかし、もう一度自分のアドレスのみを使用してください受信者のために!

3
Serge Ballesta

これは私の電子メールサーバーの設定ミスで何とか修正できますか、それともSMTPが正常に機能する通常の方法ですか?

両方とも。まず、これはSMTPプロトコルのしくみです。 SMTPプロトコル自体には、どのような種類のポリシーも含まれていませんwhichメールを受け入れるかどうかを定義しますが、定義するのはhowメールを送信するだけです。ただし、通常は次のようなポリシーをメールサーバーに追加する必要があります。

  • メールをリレーしない、つまり、外部の送信者から送信され、外部の受信者がいるメールを受け入れない
  • 適切な認証(SMTPプロトコルは認証をサポート)を使用して、ドメインからのメールであると主張する送信者のみがメールを受け入れる
  • アカウントが存在するメールのみを受け入れる
  • 送信者をブラックリストとSPFでチェックする
  • ...
2
Steffen Ullrich

SMTPの仕様では、認証はありません。電子メールのヘッダーを表示すると、電子メールの送信元のIPなどの詳細情報が得られます。

[〜#〜] spf [〜#〜][〜#〜] dkim [〜#〜] 、および [〜#〜]のようなものdmarc [〜#〜] は、電子メールの検証に役立ちます。

2
bigC5012