mirror of
https://github.com/docker-mailserver/docker-mailserver.git
synced 2024-01-19 02:48:50 +00:00
Postfix: add smtpd_data_restrictions = reject_unauth_pipelining
(#3744)
* add `smtpd_data_restrictions = reject_unauth_pipelining` * fix: Skip restriction if trusted * add changelog entry * revert change to `postfix-amavis.cf` * Update CHANGELOG.md --------- Co-authored-by: Brennan Kinney <5098581+polarathene@users.noreply.github.com>
This commit is contained in:
parent
25c7024cc4
commit
bf69ef248e
|
@ -25,6 +25,10 @@ DMS is now secured against the [recently published spoofing attack "SMTP Smuggli
|
||||||
- `swaks` handles pipelining correctly, hence we can now use `reject_unauth_pipelining` in Postfix's configuration.
|
- `swaks` handles pipelining correctly, hence we can now use `reject_unauth_pipelining` in Postfix's configuration.
|
||||||
- `swaks` provides better CLI options that make many files superflous.
|
- `swaks` provides better CLI options that make many files superflous.
|
||||||
- `swaks` can also replace `openssl s_client` and handles authentication on submission ports better.
|
- `swaks` can also replace `openssl s_client` and handles authentication on submission ports better.
|
||||||
|
- **Postfix:**
|
||||||
|
- We now defer rejection from unauthorized pipelining until the SMTP `DATA` command via `smtpd_data_restrictions` (_i.e. at the end of the mail transfer transaction_) ([#3744](https://github.com/docker-mailserver/docker-mailserver/pull/3744))
|
||||||
|
- Prevously our configuration only handled this during the client and recipient restriction stages. Postfix will flag this activity when encountered, but the rejection now is handled at `DATA` where unauthorized pipelining would have been valid from this point.
|
||||||
|
- If you had the Amavis service enabled (default), this restriction was already in place. Otherwise the concerns expressed with `smtpd_data_restrictions = reject_unauth_pipelining` from the security section above apply. We have permitted trusted clients (_`$mynetworks` or authenticated_) to bypass this restriction.
|
||||||
|
|
||||||
## [v13.1.0](https://github.com/docker-mailserver/docker-mailserver/releases/tag/v13.1.0)
|
## [v13.1.0](https://github.com/docker-mailserver/docker-mailserver/releases/tag/v13.1.0)
|
||||||
|
|
||||||
|
|
|
@ -51,10 +51,11 @@ smtpd_helo_required = yes
|
||||||
smtpd_delay_reject = yes
|
smtpd_delay_reject = yes
|
||||||
smtpd_helo_restrictions = permit_mynetworks, reject_invalid_helo_hostname, permit
|
smtpd_helo_restrictions = permit_mynetworks, reject_invalid_helo_hostname, permit
|
||||||
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
|
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
|
||||||
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, reject_unauth_pipelining, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, reject_unknown_recipient_domain
|
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, reject_unknown_recipient_domain
|
||||||
smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_unauth_pipelining
|
smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
|
||||||
smtpd_sender_restrictions = $dms_smtpd_sender_restrictions
|
smtpd_sender_restrictions = $dms_smtpd_sender_restrictions
|
||||||
smtpd_discard_ehlo_keywords = silent-discard, dsn
|
smtpd_discard_ehlo_keywords = silent-discard, dsn
|
||||||
|
smtpd_data_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_pipelining
|
||||||
disable_vrfy_command = yes
|
disable_vrfy_command = yes
|
||||||
|
|
||||||
# Security - Prevent SMTP Smuggling attack
|
# Security - Prevent SMTP Smuggling attack
|
||||||
|
|
|
@ -44,7 +44,7 @@ function teardown_file() { _default_teardown ; }
|
||||||
# The other spam checks in `main.cf:smtpd_recipient_restrictions` would interfere with testing postgrey.
|
# The other spam checks in `main.cf:smtpd_recipient_restrictions` would interfere with testing postgrey.
|
||||||
_run_in_container sed -i \
|
_run_in_container sed -i \
|
||||||
-e 's/permit_sasl_authenticated.*policyd-spf,$//g' \
|
-e 's/permit_sasl_authenticated.*policyd-spf,$//g' \
|
||||||
-e 's/reject_unauth_pipelining.*reject_unknown_recipient_domain,$//g' \
|
-e 's/reject_invalid_helo_hostname.*reject_unknown_recipient_domain,$//g' \
|
||||||
-e 's/reject_rbl_client.*inet:127\.0\.0\.1:10023$//g' \
|
-e 's/reject_rbl_client.*inet:127\.0\.0\.1:10023$//g' \
|
||||||
-e 's/smtpd_recipient_restrictions =/smtpd_recipient_restrictions = check_policy_service inet:127.0.0.1:10023/g' \
|
-e 's/smtpd_recipient_restrictions =/smtpd_recipient_restrictions = check_policy_service inet:127.0.0.1:10023/g' \
|
||||||
/etc/postfix/main.cf
|
/etc/postfix/main.cf
|
||||||
|
|
Loading…
Reference in a new issue