/etc/aliases
を使用してUbuntuメールサーバーをセットアップしました。
エイリアスファイルにはエイリアスall: group1, group2, group3
があり、各グループは独自に定義されています。問題は、エイリアス[email protected]
の影響を受ける重要性と人数が原因で、この電子メールを所有している人は誰でも不要な電子メールを送信できることです。サーバーにはすでに何らかのスパムフィルターがありますが、どれを思い出せません。
私の質問は、[email protected]
にないすべての電子メールから/etc/aliases
へのすべての受信メールをブロックする方法があるということです。
この投稿が重複していないことを願っています。私は似たようなトピックを探して見つけましたが、どれも私の質問に対する解決策を提供してくれなかったようです。
敬具、
ここ 、 ここ 、 ここ などの他のソースからより多くの情報を見つけることができました。
最後に私がしたことは:
1)update_postfix_white_list.bashというスクリプトを作成しました
vi /etc/postfix/update_postfix_white_list.bash
2)その中に私は追加しました:
#Parameters {aliases, white_list} file location.
aliasesfile="/etc/aliases"
postfixwhitelistfile="/etc/postfix/rbl_whitelist"
# from aliases removed all the comments| removed all the names| found all the emails| sorted them and removed duplicates | added " OK" to each email > stored it to the "white_list" file
cut -d# ${aliasesfile} -f1 | cut -d\: -f2| grep -EiEio '\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b'| sort -u | sed -e 's/$/ OK/' > ${postfixwhitelistfile}
# Generated the hash file for the white list
postmap ${postfixwhitelistfile}
# Restarted the postfix server
service postfix restart
3)次に、「white_list」ファイルを考慮してmain.cf
設定を変更しました。
vi /etc/postfix/main.cf
4)そこに私は追加しました:
smtpd_recipient_restrictions =
check_sender_access hash:/etc/postfix/rbl_whitelist
reject
5)最後のステップとして、スクリプトを実行可能ファイルに変更して実行しました。
chmod u+x "/etc/postfix/update_postfix_white_list.bash"
/etc/postfix/update_postfix_white_list.bash
つまり、check_sender_access
を使用して、ファイルの送信者がホワイト/ブラックリストに含まれているかどうかを確認します。 check_recipient_access
と混同しないでください。コマンドreject
は、check_sender_access
によって受け入れられなかったすべてのメールを拒否します。
注1:check_client_access hash:/etc/postfix/rbl_whitelist
はreject_unauth_destination
の後でなければなりませんが、smtpd_recipient_restrictions
オプションにある場合は、最初のblacklist
の前に置く必要があります。
注2:コマンドreject
の後、他には何もチェックされません。
注3:必要に応じて、crontab -e
を使用してから、@daily /etc/postfix/update_postfix_white_list.bash
を追加して、サーバーがホワイトリストを毎日自動的に更新するようにすることができます。
これを改善する方法について何か提案があれば教えてください。