web-dev-qa-db-ja.com

ユーザーごとに公開pgpキーを使用してすべての受信メールを暗号化する

私がやろうとしているのは、すべての受信メッセージを受け取り、そのユーザーの公開pgpキーで暗号化できるようにすることです。

Postfix + courierなどを実行しています。 http://flurdy.com/docs/postfix/

私はこれを読み通しました https://grepular.com/Automatically_Encrypting_all_Incoming_Email そしてそれは私には理にかなっていますが、それは単一ユーザーのすべてのメールに当てはまります。

Gpg-mailgateを調べました(これ以上リンクを投稿できません)

また、アフターキューコンテンツフィルターフックを使用して、ユーザーごとに電子メールを取得し、それを渡し、暗号化してから、返送して配信します。

私の質問は、誰かがこの種のセットアップを正常に実装したかどうかです。すでに暗号化されたメッセージが届いた場合はどうなるのでしょうか。

ここで方向性を探しているだけです。いくつかのオプションがあるようですが、どれが正しいかわかりません。

3
TheEditor

Couriermaildropを使用し、完全なCourierパッケージの場合、xfiltermailfilter式とCourierのmimegpgコマンド(sqwebmailパッケージから)を使用できます。

exception {
  xfilter "mimegpg -e -- -r $LOGNAME"
}

オプションでフィルタリングを追加して、特定のメールを含めたり除外したりできます。送信者、件名、またはすでに暗号化された部分が含まれているもの(どの程度堅牢にするか、およびどの程度妄想的/慎重であるかによって異なります)。

配信ユーザーは、受信者の公開鍵にアクセスできる必要があります。鍵サーバーまたは共有鍵リングが必要になる場合があります。 LOGNAMEは微調整が必​​要な場合があります。私の好みの構成では、ローカル部分だけでなく完全な電子メールアドレスなので、上記はうまくいきます。

mimegpgは、電子メールヘッダーを保持し、電子メールを部分的に暗号化します。各単一パーツは、multipart/encryptedスタブパーツとapplication/pgp-encryptedASCII装甲ペイロードを備えた新しいapplication/octet-streamコンテナになります。私の電子メールクライアントとGPGプラグインはこれに問題はありませんが、いくつかは問題ないかもしれません。

また、mimedefangを使用してgpgとインターフェイスしました。これにより、柔軟性が向上しますが、重要なコードが必要になります。

Postfixを使用してmaildirに直接配信する場合、またはmaildropをMDAとして使用しない場合、これは機能しません。 maildropを使用するように接尾辞を設定する 、またはmimegpgと同様のことを行うことができます。

3
mr.spuratic