質問: ユーザーがpostfixで別のユーザーのようにメールを送信しないようにするにはどうすればよいですか? centos7でメールサーバーを実行しています。すべてのプログラムとシステムが最新です。私のメール転送エージェントはpostfixであり、dovecotsaslを使用してユーザーを認証します。postfixの構成では、信頼できるネットワークはlocalhostのみです。したがって、メッセージを送信するには、すべてのホストがdovecotsaslで認証する必要があります。問題たとえば、悪意のあるユーザーがアカウントにアクセスできるかどうか。彼はアナやボブなどのようにメッセージを送信できます。どうすればそれを防ぐことができますか?目標つまり、認証されたユーザーが送信者ヘッダーで同じである場合にのみ、メッセージを送信する必要があります。そのためのツールはありますか?
回答: おそらく、reject_sender_login_mismatch構成でsmtpd_sender_restrictionsパラメーターを使用したいので、次のようになります。smtpd_sender_restrictions = permit_mynetworks, reject_sender_login_mismatch, permit_sasl_authenticated, ... これにより、mynetworksが電子メールを送信できるようになりますが、sasl認証済みクライアントを許可する前に、送信者のログインが一致していないかどうかがチェックされます。 postfixドキュメント によると: reject_sender_login_mismatch:$ smtpd_sender_login_mapsがmailfromアドレスの所有者を指定しているが、クライアントがそのmail fromアドレスとして(sasl)ログインしていない場合、要求を拒否しますオーナー;または、クライアントが(sasl)ログインしているが、クライアントのログイン名が$ smtpd_sender_login_mapsによるmailfromアドレスを所有していない場合。 これは、各電子メールアドレスを使用できるユーザー用の新しいマップを作成することを意味します。したがって、foo@bar.comというアドレスがある場合は、マップを追加する必要があります。foo@bar.com foo@bar.com foo@bar.comが認証されると、そのアカウントから電子メールを送信できるようにするため。これにより、idを作成することもできるため、アカウントに複数の許可された送信者を含めることができます。foo@bar.com alice@bar.com これにより、foo@bar.comとして識別されたすべての人が、alice@bar.comidでメッセージを送信できるようになります。