1

電子メールを介して人/デバイスから特定の情報を収集したいと考えています。これらの電子メールは誰にも配信されず、サーバー上で処理されます。受信した電子メールは処理されます - 一部は単純に削除され、ほとんどは (データベースに) 保存され、添付ファイルは特定の条件に応じて保存される場合と保存されない場合があります (ただし、実行されることはありません)。

私は既存の MTA ソフトウェアを使用してこれを調査しましたが、それはやり過ぎであり、この目的に必要以上に複雑になるという結論に達しました。

私が独自の MTA ソフトウェアを作成する場合、機能のかなり限定されたサブセットを実装する必要があります。文字通り、電子メールを受信するのに十分であり、送信は一切行いません。メンテナンスの量を最小限に抑えるために、実際の MTA ソフトウェアをできるだけ薄くします。そのため、MTA ソフトウェアは電子メールを受信すると、それを (全体として) 処理を実行する 2 番目のソフトウェアに渡します。

電子メールは単純に保存され、送信者と送信者が特に許可した人だけが Web UI で取得できます。特定の添付ファイルは保存されますが、サーバー上で実行されることはなく、元の電子メールの送信者と指定された他のユーザーのみがアクセスできます。

私はネットワーク セキュリティの世界についてほとんど知りません。このようにサーバーが限られているため、潜在的な侵入経路が開かれているのでしょうか? その質問に対する答えは常に「はい」だと思いますが、よく維持され、安全であるがフル機能の MTA ソフトウェア (Postfix など) を使用する場合ほど安全ではないでしょうか?

私が具体的または明確でない場合は、私に知らせてください、ありがとう!

(サーバーは Linux で、おそらく Ubuntu です。ソフトウェアは、Mono の下で C# で記述されている可能性が最も高く、おそらく Python またはその混合 (C# サーバー、Python 処理) です)

@ S. Lott 過去 3 日間、既存のソフトウェアを使用するオプションを検討してきましたが、私の最善の解決策は、Postfix > Procmail > 独自の処理であると思われます。Postfix は完全な MTA ソリューションであり、私が望むものに近づけるために多くの構成が必要でした。複雑さは主に構成の問題であり、サードパーティのソフトウェアを連携させるには私の入札が必要です。メール サーバーの構成と nix サーバーの一般的な管理に精通している人なら、はるかに簡単に作業できると思いますが、カスタム ソリューションは大規模なプロジェクトではないことがわかります。私の唯一の関心事はセキュリティでした。

また、オーバーキルに関しては、Postfix が行うことの非常に限られたサブセットが必要であり、私が調べた構成のほとんどは、特定の動作を無効にしようとしていました。多くの点で、私は自分自身のソリューションよりも成熟した安定した Postfix を使用することを好みますが、すでに費やした時間をもっと生産的に使用して、タスク専用の何かを書くことができたはずだと感じています。

4

3 に答える 3

2

私はあまり問題を見ていません。厳密にファイアウォールで保護されたDMZ内に MTA を配置します。たとえば、データベースは別のボックスの DMZ の外にあります。

このように DMZ を使用することは、商用のメール サーバーを使用している場合でもカスタム ビルドのメール サーバーを使用している場合でも、適切な方法です。カスタムビルドがより実用的な選択である場合、正しい道に向かっています

于 2009-09-21T10:15:34.403 に答える
1

収集しているデータは機密性が低く、したがって暗号化/プライバシーは不要であると推測できる場合、特にサーバーをファイアウォールで保護されたDMZに配置するというPaulGの推奨に従う場合、独自のサーバーを作成するリスクはほとんどありません。

あなたの説明に基づいて、私はあなたのサーバーをMTAとは考えていません。むしろ、SMTPを話すのはたまたまファイル転送サーバーです。架空のセッションを見て、いくつかの問題について話し合いましょう。

[Client connects to your server]
< 220 Welcome message from your.server.com
> HELO someclient.com
< 250 your.server.com
> MAIL From: address@ignored.com
< 250 OK
> RCPT To: another_address@also_ignored.com
< 250 OK
> DATA
< 254 End data with <CR><LF>.<CR><LF>
> client sends data here
> .
< 250 OK
> QUIT
< 221 Bye
[Close connection]

考えるべきこと:

  • セキュリティはまったく問題ですか?(スパムから保護する必要がありますか?クライアント、送信者、または受信者を確認する必要がありますか?)答えが「いいえ」の場合、、、に続くすべてを無視して、HELO無条件に250応答を送信できます。MAILRCPT

  • DATAとの間のすべてを.ファイルにダンプして処理できます。サイズを制限することをお勧めします。データがプレーンテキストの場合、処理が簡単になります。MIMEまたはBase64でエンコードされておらず、添付ファイルがありません。

  • サーバーには例外処理が必要です。サーバーは、タイムアウト、プロトコルエラー、および早期の切断に適切に応答する必要があります。

  • メッセージの内容を制御する場合は、データをある種のBEGIN行とEND行の間に配置し、ソルト ハッシュを追加することで、簡単な認証と検証を実行できます。日付を処理するときは、BEGIN / END行以外のすべてを無視して、ハッシュを確認してください。

  • 最後に、postfixは、実際には解決するよりも多くのセキュリティ問題を引き起こす可能性があると言っても過言ではありません。そのすべての機能と柔軟性を備えているため、適切に構成する方法を理解する必要があります。構成を誤ると、サーバーがスパムのリレーに変わる可能性があります。

頑張ってください-あなたが選んだ解決策を教えてください!

于 2009-10-21T12:28:56.837 に答える
1

サーバー ソフトウェアを書いた経験がない限り、私は単純に Postfix を MTA として使用し、SMTP 経由でアプリケーションにメールを転送するのではなく、Postfix が提供するインターフェイスを使用してメッセージを処理します。

新しいカスタム MTA を作成することは避けたいと思います。これは、実装して保護する必要がある別のレイヤーにすぎません。

過小評価しないでください:

1- セキュリティの複雑さ。特に、その分野での攻撃の経験がない場合。

2- システムの可能な寿命。今は攻める価値がないように思えるかもしれませんが、10年も放置されていたら…?

于 2009-10-21T11:23:32.010 に答える