docker-mailserver/test
Georg Lauterbach 537247031f
fix: Make Dovecot aware of basic aliases in userdb for quota support + Use correct hash scheme in passdb configuration (#2248)
Dovecot quota support would log auth failures when Postfix validated incoming mail to accept/reject and the `check_policy_service` for `quota-status` was queried with a recipient that was an account alias.

When Dovecot is not aware of the user account, it will not be able to check a quota and inform Postfix that everything is fine, Postfix will accept the mail and send it to Dovecot, where if the quota is exceeded will result in a bounce back to the sender. This is considered "backscatter" and can be abused by spammers forging the sender address which can get your server blacklisted.

The solution is to either disable quota support `ENABLE_QUOTAS=0`, or as a workaround, add dummy accounts to Dovecot userdb for aliases in `postfix-virtual.cf` (not `postfix-aliases.cf`), these dummy accounts will map to the real user account mailbox (real users are defined in `postfix-accounts.cf`).

The workaround is naive, in that we only check for basic 1-to-1 alias mapping to real accounts. This will still be an issue for aliases that map to another alias or multiple addresses (real or alias). Unfortunately Postfix will not expand aliases until accepting mail where this would be too late.

A better solution is to proxy the `check_policy_service` from Dovecot `quota-status` that Postfix queries in `main.cf:smtpd_recipient_restrictions`, however this requires a fair amount more of additional work and still requires an implementation to recursively query aliases for nested or multiple address mappings, which can then be forwarded to the `quota-status` service configured by Dovecot in `/etc/dovecot/conf.d/90-quota.conf`.

LDAP users are unaffected as quota support is not supported/implemented with `docker-mailserver` at this time, it is always considered disabled when using LDAP.

---

Additionally Dovecot configuration for `passdb` has been fixed to use the correct password hash scheme of `SHA512-CRYPT`. 

Co-authored-by: Casper <casperklein@users.noreply.github.com>
Co-authored-by: Brennan Kinney <5098581+polarathene@users.noreply.github.com>
2021-11-01 14:20:22 +13:00
..
bats@54e965fa9d Revert "check-for-changes: performance improvements + wait for settle (#2104)" 2021-08-28 19:16:34 -04:00
config fix: Make Dovecot aware of basic aliases in userdb for quota support + Use correct hash scheme in passdb configuration (#2248) 2021-11-01 14:20:22 +13:00
docker-openldap formatting files according to standard (#1619) 2020-09-24 14:54:21 +02:00
linting make setup.sh completely non-interactive (#2201) 2021-09-21 08:51:59 +02:00
test-files Add LDAP_QUERY_FILTER_SENDERS setting for spoof protection with LDAP (#1902) 2021-04-17 22:40:19 +02:00
test_helper tests: Refactored bounced spam test + Introduce common container setup template (#2198) 2021-09-20 19:35:03 +12:00
default_relay_host.bats Provide complete refactoring of openDKIM script (#1812) 2021-02-18 10:29:34 +01:00
helper-functions.bats Lock file create and remove improvements (#2183) 2021-09-13 20:09:01 +12:00
mail_changedetector.bats Lock file create and remove improvements (#2183) 2021-09-13 20:09:01 +12:00
mail_disabled_clamav_spamassassin.bats introduce variable to control Amavis' loglevel (#1947) 2021-05-06 23:51:45 +02:00
mail_fail2ban.bats introduce F2B v0.11 (#1965) 2021-05-15 11:11:10 +02:00
mail_fetchmail.bats first refactoring fr *.bats according to shellcheck 2020-11-05 19:15:28 +01:00
mail_fetchmail_parallel.bats Solve Fetchmail imap idle issue (#10) 2021-01-17 10:39:09 +01:00
mail_hostname.bats HOSTNAME and DOMAINNAME setting improvements (#2175) 2021-09-12 02:20:16 +12:00
mail_lmtp_ip.bats first refactoring fr *.bats according to shellcheck 2020-11-05 19:15:28 +01:00
mail_pop3.bats first refactoring fr *.bats according to shellcheck 2020-11-05 19:15:28 +01:00
mail_postfix_inet.bats Catch errors on config duplication command 2020-10-20 09:33:47 +02:00
mail_postscreen.bats first refactoring fr *.bats according to shellcheck 2020-11-05 19:15:28 +01:00
mail_privacy.bats fix: Remove mkcert.sh usage + _setup_ssl refactor. (#2196) 2021-09-20 00:31:11 +12:00
mail_quotas_disabled.bats Catch errors on config duplication command 2020-10-20 09:33:47 +02:00
mail_smtponly.bats use wait_for_smtp function instead of sleep 2020-11-06 14:11:42 +01:00
mail_spam_bounced.bats tests: Refactored bounced spam test + Introduce common container setup template (#2198) 2021-09-20 19:35:03 +12:00
mail_spam_junk_folder.bats Fix timing dependent failures 2020-10-20 14:14:04 +02:00
mail_special_use_folders.bats first refactoring fr *.bats according to shellcheck 2020-11-05 19:15:28 +01:00
mail_ssl_letsencrypt.bats Revert "check-for-changes: performance improvements + wait for settle (#2104)" 2021-08-28 19:16:34 -04:00
mail_ssl_manual.bats fix: Remove mkcert.sh usage + _setup_ssl refactor. (#2196) 2021-09-20 00:31:11 +12:00
mail_tls_dhparams.bats fix: Enable DH parameters (ffdhe4096) by default (#2192) 2021-09-15 20:28:04 +12:00
mail_undef_spam_subject.bats first refactoring fr *.bats according to shellcheck 2020-11-05 19:15:28 +01:00
mail_with_imap.bats first refactoring fr *.bats according to shellcheck 2020-11-05 19:15:28 +01:00
mail_with_ldap.bats fix: Remove mkcert.sh usage + _setup_ssl refactor. (#2196) 2021-09-20 00:31:11 +12:00
mail_with_mdbox.bats first refactoring fr *.bats according to shellcheck 2020-11-05 19:15:28 +01:00
mail_with_postgrey.bats removing bl.spamcop.net for 8.0.1 2021-01-31 16:05:05 +01:00
mail_with_postgrey_disabled_by_default.bats first refactoring fr *.bats according to shellcheck 2020-11-05 19:15:28 +01:00
mail_with_relays.bats Revert "check-for-changes: performance improvements + wait for settle (#2104)" 2021-08-28 19:16:34 -04:00
mail_with_sdbox.bats first refactoring fr *.bats according to shellcheck 2020-11-05 19:15:28 +01:00
no_container.bats setup.sh: docker_container first, then fall back to docker_image (#2134) 2021-09-06 10:13:12 +00:00
open_dkim.bats chore: Housekeeping on the 'open-dkim' script (#2267) 2021-10-30 10:10:32 +00:00
permit_docker.bats first refactoring fr *.bats according to shellcheck 2020-11-05 19:15:28 +01:00
security_tls_cipherlists.bats Dual certificate support (eg ECDSA with RSA fallback) (#1801) 2021-02-21 23:43:41 +01:00
test_helper.bats follow up on #2177 with @polarathene's suggestions (#2180) 2021-09-12 00:43:42 +12:00
tests.bats fix: Remove mkcert.sh usage + _setup_ssl refactor. (#2196) 2021-09-20 00:31:11 +12:00