diff --git a/playbooks/apollo.yml b/playbooks/apollo.yml index 3cc00070..a4b303b3 100644 --- a/playbooks/apollo.yml +++ b/playbooks/apollo.yml @@ -27,7 +27,7 @@ - { role: borg_client, tags: ["borg"] } - { role: certbot } - { role: nginx } - - { role: spampd, tags: ["mail"] } + - { role: rspamd, tags: ["mail"] } - { role: unbound, tags: ["mail"] } - { role: postfix, postfix_relayhost: "mail.archlinux.org", postfix_smtpd_public: true, postfix_patchwork_enabled: true, tags: ["mail"] } - { role: opendkim, dkim_selector: apollo, tags: ['mail'] } diff --git a/playbooks/luna.yml b/playbooks/luna.yml index 0441ad96..47cb4f38 100644 --- a/playbooks/luna.yml +++ b/playbooks/luna.yml @@ -26,7 +26,7 @@ - firewall roles: - nginx - - spampd + - rspamd - { role: mariadb, mariadb_query_cache_type: '0', mariadb_innodb_file_per_table: True } # luna is hosting mailman lists; this postfix role does not cater to this yet # TODO: make postfix role handle mailman config? diff --git a/playbooks/mail.archlinux.org.yml b/playbooks/mail.archlinux.org.yml index deeb3fa3..e7a91e4d 100644 --- a/playbooks/mail.archlinux.org.yml +++ b/playbooks/mail.archlinux.org.yml @@ -10,7 +10,7 @@ - { role: certbot } - { role: postfix, postfix_server: true, postfix_smtpd_public: true, tags: ['mail'] } - { role: dovecot } - - { role: spampd, tags: ["mail"] } + - { role: rspamd, tags: ["mail"] } - { role: unbound, tags: ["mail"] } - { role: postfwd, tags: ['mail'] } - { role: archusers } diff --git a/playbooks/orion.yml b/playbooks/orion.yml index 9d7aacd8..8c19eb85 100644 --- a/playbooks/orion.yml +++ b/playbooks/orion.yml @@ -11,7 +11,7 @@ - { role: borg_client, tags: ['borg'] } - { role: opendkim, dkim_selector: orion, tags: ['mail'] } - { role: dovecot } - - { role: spampd, tags: ["mail"] } + - { role: rspamd, tags: ["mail"] } - { role: unbound, tags: ["mail"] } - { role: postfwd, tags: ['mail'] } - { role: postfix, postfix_server: true, postfix_smtpd_public: true, tags: ['mail'] } diff --git a/roles/dovecot/files/spam-to-folder.sieve b/roles/dovecot/files/spam-to-folder.sieve new file mode 100644 index 00000000..5010e853 --- /dev/null +++ b/roles/dovecot/files/spam-to-folder.sieve @@ -0,0 +1,5 @@ +require ["mailbox", "fileinto"]; +if header "X-Spam" "Yes"{ + fileinto :create "Junk"; + stop; +} diff --git a/roles/dovecot/handlers/main.yml b/roles/dovecot/handlers/main.yml index aa15159d..32c99b58 100644 --- a/roles/dovecot/handlers/main.yml +++ b/roles/dovecot/handlers/main.yml @@ -3,3 +3,7 @@ - name: reload dovecot service: name=dovecot state=restarted +- name: run sievec + command: /usr/bin/sievec /etc/dovecot/sieve/{{ item }} + loop: + - spam-to-folder.sieve diff --git a/roles/dovecot/tasks/main.yml b/roles/dovecot/tasks/main.yml index 2a53c459..a24d570b 100644 --- a/roles/dovecot/tasks/main.yml +++ b/roles/dovecot/tasks/main.yml @@ -18,6 +18,14 @@ - name: install PAM config copy: src=pam.d.dovecot dest=/etc/pam.d/dovecot mode=0644 owner=root group=root +- name: create dovecot sieve dir + file: path=/etc/dovecot/sieve state=directory owner=root group=root mode=0755 + +- name: install spam-to-folder.sieve + copy: src=spam-to-folder.sieve dest=/etc/dovecot/sieve/ mode=0644 owner=root group=root + notify: + - run sievec + - name: install dovecot cert renewal hook template: src=letsencrypt.hook.d.j2 dest=/etc/letsencrypt/hook.d/dovecot owner=root group=root mode=0755 diff --git a/roles/dovecot/templates/dovecot.conf.j2 b/roles/dovecot/templates/dovecot.conf.j2 index d86f4ae0..3603196b 100644 --- a/roles/dovecot/templates/dovecot.conf.j2 +++ b/roles/dovecot/templates/dovecot.conf.j2 @@ -44,6 +44,7 @@ plugin { sieve_dir = ~/.sieve sieve_global_dir = /etc/dovecot/sieve/global/ sieve_global_path = /etc/dovecot/sieve/default.sieve + sieve_before = /etc/dovecot/sieve/spam-to-folder.sieve mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename mail_log_fields = uid box msgid size diff --git a/roles/postfix/files/header_checks b/roles/postfix/files/header_checks index 22022209..e69de29b 100644 --- a/roles/postfix/files/header_checks +++ b/roles/postfix/files/header_checks @@ -1 +0,0 @@ -/X-Spam-Status: Yes,/ REJECT Your message has been rejected by Spamassassin diff --git a/roles/postfix/templates/main.cf.j2 b/roles/postfix/templates/main.cf.j2 index a271f527..898e3c84 100644 --- a/roles/postfix/templates/main.cf.j2 +++ b/roles/postfix/templates/main.cf.j2 @@ -165,8 +165,8 @@ submission_recipient_restrictions= permit_sasl_authenticated, reject -smtpd_milters=unix:/var/spool/opendkim/opendkim -non_smtpd_milters=unix:/var/spool/opendkim/opendkim +smtpd_milters=unix:/var/spool/opendkim/opendkim inet:localhost:11332 +non_smtpd_milters=unix:/var/spool/opendkim/opendkim inet:localhost:11332 # Pass internal mails through filters so they get signed by opendkim # XXX: Be careful not to have filters that may reject mails! diff --git a/roles/postfix/templates/master.cf.j2 b/roles/postfix/templates/master.cf.j2 index d970966f..25afbade 100644 --- a/roles/postfix/templates/master.cf.j2 +++ b/roles/postfix/templates/master.cf.j2 @@ -14,7 +14,6 @@ # ========================================================================== {% if postfix_smtpd_public %} smtp inet n - n - - smtpd - -o smtpd_proxy_filter=[127.0.0.1]:10025 -o smtpd_client_connection_count_limit=20 -o smtpd_proxy_options=speed_adjust {% else %} @@ -30,7 +29,6 @@ submission inet n - n - - smtpd -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_recipient_restrictions=$submission_recipient_restrictions - -o content_filter=smtp:[127.0.0.1]:10025 -o smtpd_client_connection_count_limit=10 #-o smtpd_milters=unix:/var/spool/opendkim/opendkim {% endif %} diff --git a/roles/redis/tasks/main.yml b/roles/redis/tasks/main.yml new file mode 100644 index 00000000..fa1ca6b5 --- /dev/null +++ b/roles/redis/tasks/main.yml @@ -0,0 +1,6 @@ +--- +- name: install redis + pacman: name=redis state=present + +- name: start and enable redis + service: name=redis enabled=yes state=started diff --git a/roles/rspamd/files/local.d/logging.inc b/roles/rspamd/files/local.d/logging.inc new file mode 100644 index 00000000..01dc2c43 --- /dev/null +++ b/roles/rspamd/files/local.d/logging.inc @@ -0,0 +1,2 @@ +systemd = true; +type = "console"; diff --git a/roles/rspamd/files/local.d/milter_headers.conf b/roles/rspamd/files/local.d/milter_headers.conf new file mode 100644 index 00000000..b78fc26d --- /dev/null +++ b/roles/rspamd/files/local.d/milter_headers.conf @@ -0,0 +1,3 @@ +extended_spam_headers = true; +use = ["authentication-results"]; +authenticated_headers = ["authentication-results"]; diff --git a/roles/rspamd/files/local.d/redis.conf b/roles/rspamd/files/local.d/redis.conf new file mode 100644 index 00000000..a47448b2 --- /dev/null +++ b/roles/rspamd/files/local.d/redis.conf @@ -0,0 +1,2 @@ +write_servers = "127.0.0.1"; +read_servers = "127.0.0.1"; diff --git a/roles/rspamd/handlers/main.yml b/roles/rspamd/handlers/main.yml new file mode 100644 index 00000000..1f5290af --- /dev/null +++ b/roles/rspamd/handlers/main.yml @@ -0,0 +1,3 @@ +--- +- name: reload rspamd + service: name=rspamd state=reloaded diff --git a/roles/rspamd/meta/main.yml b/roles/rspamd/meta/main.yml new file mode 100644 index 00000000..89a7c927 --- /dev/null +++ b/roles/rspamd/meta/main.yml @@ -0,0 +1,3 @@ +--- +dependencies: + - role: redis diff --git a/roles/rspamd/tasks/main.yml b/roles/rspamd/tasks/main.yml new file mode 100644 index 00000000..21066628 --- /dev/null +++ b/roles/rspamd/tasks/main.yml @@ -0,0 +1,11 @@ +--- +- name: install rspamd + pacman: name=rspamd state=present + +- name: install config + copy: src=local.d/ dest=/etc/rspamd/local.d/ owner=root group=root mode=0644 + notify: + - reload rspamd + +- name: start and enable rspamd + service: name=rspamd enabled=yes state=started diff --git a/roles/spampd/files/sa-update.hook b/roles/spampd/files/sa-update.hook deleted file mode 100644 index bed53958..00000000 --- a/roles/spampd/files/sa-update.hook +++ /dev/null @@ -1,9 +0,0 @@ -[Trigger] -Operation = Install -Operation = Upgrade -Type = Package -Target = spamassassin - -[Action] -When = PostTransaction -Exec = /usr/bin/systemctl start sa-update.service diff --git a/roles/spampd/files/sa-update.service b/roles/spampd/files/sa-update.service deleted file mode 100644 index b18b3dad..00000000 --- a/roles/spampd/files/sa-update.service +++ /dev/null @@ -1,6 +0,0 @@ -[Unit] -Description=sa-update - -[Service] -Type=oneshot -ExecStart=/usr/local/bin/sa-update.sh diff --git a/roles/spampd/files/sa-update.sh b/roles/spampd/files/sa-update.sh deleted file mode 100644 index f73b4c66..00000000 --- a/roles/spampd/files/sa-update.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -set -e - -/usr/bin/vendor_perl/sa-update --channelfile /etc/mail/spamassassin/update-channels --gpgkeyfile /etc/mail/spamassassin/update-gpgkeys || { - exitcode=$? - if ((exitcode == 1)); then - exit 0 - else - echo "sa-update failed" - exit 1 - fi -} -/usr/bin/vendor_perl/sa-compile --quiet -systemctl restart spampd diff --git a/roles/spampd/files/sa-update.timer b/roles/spampd/files/sa-update.timer deleted file mode 100644 index a558043e..00000000 --- a/roles/spampd/files/sa-update.timer +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=sa-update - -[Timer] -OnCalendar=*-*-* 00:05:00 - -[Install] -WantedBy=timers.target diff --git a/roles/spampd/files/update-channels b/roles/spampd/files/update-channels deleted file mode 100644 index 06a7df70..00000000 --- a/roles/spampd/files/update-channels +++ /dev/null @@ -1,5 +0,0 @@ -updates.spamassassin.org - -# temporarily disabled due to missing compatability with SA 3.4.2 (missing sha256/512 checksum files) -#sought.rules.yerp.org -#sa.zmi.at diff --git a/roles/spampd/files/update-gpgkeys b/roles/spampd/files/update-gpgkeys deleted file mode 100644 index c5e02265..00000000 --- a/roles/spampd/files/update-gpgkeys +++ /dev/null @@ -1,5 +0,0 @@ -# sa.zmi.at -40F74481 - -# sought.rules.yerp.org -6C6191E3 diff --git a/roles/spampd/files/yerp.gpg.key b/roles/spampd/files/yerp.gpg.key deleted file mode 100644 index 176a22f1..00000000 --- a/roles/spampd/files/yerp.gpg.key +++ /dev/null @@ -1,41 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1.4.1 (GNU/Linux) - -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 -=nK43 ------END PGP PUBLIC KEY BLOCK----- diff --git a/roles/spampd/files/zmi.gpg.key b/roles/spampd/files/zmi.gpg.key deleted file mode 100644 index 7d7261a3..00000000 --- a/roles/spampd/files/zmi.gpg.key +++ /dev/null @@ -1,52 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v2.0.12 (GNU/Linux) - -mQINBE9CEIwBEACb16mHs381gLlwiAMP1YpGpjZ82U9cJfjX3okCvhFCSnlvDzad -fj3J3sVX96aDKkeqg6CLFuNtw0FjzxG3UUCI5IqPplJqGlmpzrznUYpNP4t9cXaN -5lUdhzlZzbICM3E3o9BjdhGajfbmd2zrNJJOjFXblN/gWatOo9NPTP0L3s6wx/EF -AEtWJUI9Ohn+jl53p9Kog/GIITD7UPT7mRkd3iwXHVj3yl9hgK0cXX5iP5rIkK+v -FXHXMyaL0/ZwEe7cpC9wvPGK4LNrG/HiI9bIJJqqmXbIUB6Z0OJ9Gas3LcI/O3/i -jMLs2cAw2PlY60bG9QLrgI68SpksMZQfAg6FGCdu6Oj3rvcXMXrxO8xOwv3roQjh -QZVYEik6xxepjtLf37ua5+rXgq0B/nhzKgwByR2UTpaYhTRJwOgNruaE+ViE+21N -nNLngtKkFuna8kS+AQtVvgmiXhVn8fcHGOsfFqc+e/RFLS+iZAaxg1sPy7sDn+ab -vmXHyep7lAyezmFn98cCkjK13Gmi5CZELCFlT2yewtjUVfToG9R+yLNFLoCLLGFK -cVwNRn6PGzEeTNjP82w+wIi2zT7YLV42SJDrVfARPsyKU2Xpbo2KDcdbd1cXTPRd -rnWQxPGPajA3ovRaVlhNhwzUY34SwB9JIcCiEsOpCUky1als/8LGh/2jtQARAQAB -tC5zYS56bWkuYXQgKHNhLXVwZGF0ZSBrZXkpIDxzcGFtLWdlcm1hbkB6bWkuYXQ+ -iQI8BBMBAgAmBQJPQhCMAhsDBQkSzAMABgsJCAcDAgQVAggDBBYCAwECHgECF4AA -CgkQrsKK2UD3RIErLw/+JXbmcPRbEIefVtPh6Um7/MFEMd5TLy70OmjrBaTnEx6Z -LAsvj0qBT/V3VAQw8TT1XaiLSlNyxY1bp9pVQdO4RhMV1g4VGWiV1SA/W2beqJGo -oRWQuvyRqQkJAC0x1MVjnCWo0d0FGO9fE9xlifX6pSGcjEwTPjktilGwF3VihFJ1 -OevMhH73L+a8GytxdgZMVFpAL8JNdGE3d/mpuNV4igzriP8lNiAXz3SoA4pE76Bm -lRj1AXgp/ITDSNiVpBCtQijMI701EwFpvdtd1hnVxqqDvs7Tlti8Ulqda0MP82xQ -hkoPzQxxww7drqmvmHsEqt5noJiCtsgS1Xjuzwk2UDVL5AL5d0Af2uMkRFPUFsRy -ZwtqYPZ8mTwjeykuXDnGmpiMuQEFj+efRd3Fs3IGrZBYb/bAuH4ciwuCde45V6Q5 -LkZkzxb73qrDuBn32Szr9KrQ8oW4mVtfqek/QiU6ODnNw5ED1fQ7Q0rFqB46IFNK -8OE7qE0fSA2679uiPMJDPw6S3QtCTaRwhfmrG/fYXWwNlr/k3IoWW5kHEuSzbXdq -U0Vm96HBxfFnHK75zC5QBxRHxYoO314+NeS+aJqDjLoZ7Jmcr9vs1e7asKndwEWI -fJoTP+RHfoNKvu/t5mKzCuK/1Dl1nrsfSgQzLoOF48r4BQelg2xgzvhPHsd9eIm5 -Ag0ET0IQjAEQAMv0ZQ5qdUjZzb8R1GwnvuQxmltsZr/ArZMNs6XxP8JaVmT9877p -7j80P34+RI45o8ITsJiphurlSh15hWqA8BamaYu2gvmOAGAaAvUTsZDzHaIfcpzi -3kFeMqpoUFs9A3m2Dv5kbI23ALe4pZbG29ZtqgLXBIQc7JqVlxTO6mvL4/ME9JRz -3cBHbd31ZGdavUHCR2pN8Pu/GbDacoEITkQwZBbJgfzY9/1p7w5xKQ9GcZfycHZ5 -GhtvepsDDFU10JWK+Ey4amvzt3jfjrmTFmh9YH/rk3aWMfayIjtSg/mxWGk4OegC -+BdEf7VAX0T9UXQDenbdGEpi6C9KI/wzDS1hUUNpud8kp/HVlPXD6kcbdJ6acu70 -Xw98rAkh3dnep4NzP5YjZVRCg+rd31BbmjHEuJ10KoFDnv8L3vve6PmvvRzKE9LM -aMSB+YRxYvgbnxExA84w7wtJjY3LGNZS9xyD+WM1SzEuMEmALImnIXG/N7MXvGSc -gM1dJo5fArKOUc0GGejKJY0vcZ8UcofucxJADR/zflPj3/oOtTVdz/+f2DZLbClv -wAHg/h2ehK/jk4sW5JXIcIoYRCVKznPEZdouoav4Mxf9xk4ol6foY/Ppy+cu28zR -Wikv2bpPKXjp9qqFCAts0HLDDlIRkNLI6Be7IsZxUdlrAzJoNY9LkgMJABEBAAGJ -AiUEGAECAA8FAk9CEIwCGwwFCRLMAwAACgkQrsKK2UD3RIG3gA//VGJ151ovYmqz -AVLdgxl7n1oSMpShJ5I6N88tANE2oMum9OvRDcUWh3hA0I460j6fxXf2JvddPR0c -zU5dj5N8VlOtgItLCA0PkfrH3hdKhkDjtAnUbw5BloprfmoE2xfTJvRFsVh/dvkD -aKVrV4iMmY0q/r6+NGynRqkObelii0lhwQnbXxayP0/3i4d65SumtUqX6tfswkih -TvK97aO5YCGiJzYJGVWqBx6hGql6bng/bNfEAcAB+5zai2/uLRt9gk/IMz8Rjpy0 -rdn/IlpZMA4N+pGWqJf/VC2xLAlMH5T6GVPHUbPMm9R/BM4BJwfAFZwRphfkCVPs -IhWHIbJlMQely+t3PEW9IgmyoD6GDXAUZyV3lGA3F8maQHltHl5GB8H9wXF4ptQs -LXjWTTOmnsVN5l1N1FXFpg1LMcqQoicQWe6CJTDdLgrGlcPCQa0oUloO5SKmmXGB -j1Ig8enxET7v60fQ75KReZewsrn3Ni7DKw4W3o5clFBO17UZcY559U5EfWnvwlCl -oht87m+PqpRLod2mFSh8JJg6Z0QCThGOMGjS85E9v8OtaQCnowqKic5k9UKy7jTB -hn2BBVMy9dqnVyh6O0RZ8lvt2bGbfgOYrBoP50A4tbJ33jpnfov282h937Vq3ayi -cbXphKHfpKOu3R5vADTEhpF06HS7dfg= -=bBTm ------END PGP PUBLIC KEY BLOCK----- diff --git a/roles/spampd/handlers/main.yml b/roles/spampd/handlers/main.yml deleted file mode 100644 index 05d4f7a9..00000000 --- a/roles/spampd/handlers/main.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- - -- name: restart spampd - service: name=spampd state=restarted - -- name: restart sa-update - service: name=sa-update state=restarted diff --git a/roles/spampd/tasks/main.yml b/roles/spampd/tasks/main.yml deleted file mode 100644 index ead3033e..00000000 --- a/roles/spampd/tasks/main.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- - -# make and gcc are required for sa-compile -- name: install spampd and dependencies - pacman: name=spampd,make,gcc,razor state=present - -- name: install sa-update.sh - copy: src=sa-update.sh dest=/usr/local/bin/sa-update.sh owner=root group=root mode=0755 - notify: - - restart sa-update - -- name: install support files - copy: src={{ item }} dest=/etc/mail/spamassassin/{{ item }} owner=root group=root mode=0644 - with_items: - - update-gpgkeys - - update-channels - - yerp.gpg.key - - zmi.gpg.key - -- name: install systemd timers - copy: src={{ item }} dest=/etc/systemd/system/{{ item }} owner=root group=root mode=0644 - with_items: - - sa-update.timer - - sa-update.service - notify: - - systemd daemon reload - -- name: create pacman.d hooks dir - file: state=directory path="/etc/pacman.d/hooks" owner=root group=root mode=0755 - -- name: install pacman sa-update hook - copy: src=sa-update.hook dest=/etc/pacman.d/hooks/sa-update.hook owner=root group=root mode=0644 - -- name: create sa-update keyring directory - file: path=/etc/mail/spamassassin/sa-update-keys mode=700 owner=root group=root state=directory - -- name: add gpg keys to SA keyring - command: /usr/bin/vendor_perl/sa-update --import "/etc/mail/spamassassin/{{ item }}" - with_items: - - yerp.gpg.key - - zmi.gpg.key - register: sa-update - changed_when: "sa-update.rc == 0" - -- name: install SA configs - template: src={{ item }}.j2 dest=/etc/mail/spamassassin/{{ item }} owner=root group=root mode=0644 - notify: - restart spampd - loop: - - local.cf - - rules-en.cf - -- name: check SA config validity - command: /usr/bin/vendor_perl/spamassassin --lint - changed_when: false - -- name: activate systemd timers - service: name={{ item }} enabled=yes state=started - with_items: - - sa-update.timer - -- name: remove override directory - file: path=/etc/systemd/system/spampd.service.d/ state=absent - notify: - - restart spampd - -- name: start spampd - systemd: - name: spampd - enabled: yes - state: started - daemon_reload: yes diff --git a/roles/spampd/templates/local.cf.j2 b/roles/spampd/templates/local.cf.j2 deleted file mode 100644 index 8ed5f912..00000000 --- a/roles/spampd/templates/local.cf.j2 +++ /dev/null @@ -1,325 +0,0 @@ -# This is the right place to customize your installation of SpamAssassin. -# -# See 'perldoc Mail::SpamAssassin::Conf' for details of what can be -# tweaked. -# -# Only a small subset of options are listed below -# -########################################################################### - -dns_server 127.0.0.1 - -# Add *****SPAM***** to the Subject header of spam e-mails -# -# rewrite_header Subject *****SPAM***** - - -# Save spam messages as a message/rfc822 MIME attachment instead of -# modifying the original message (0: off, 2: use text/plain instead) -# -# report_safe 1 - - -# Set which networks or hosts are considered 'trusted' by your mail -# server (i.e. not spammers) -# -# trusted_networks 212.17.35. - - -# Set file-locking method (flock is not safe over NFS, but is faster) -# -# lock_method flock - - -# Set the threshold at which a message is considered spam (default: 5.0) -# -required_score 5.0 - - -# Use Bayesian classifier (default: 1) -# -# use_bayes 1 - - -# Bayesian classifier auto-learning (default: 1) -# -# bayes_auto_learn 1 - - -# Set headers which may provide inappropriate cues to the Bayesian -# classifier -# -# bayes_ignore_header X-Bogosity -# bayes_ignore_header X-Spam-Flag -# bayes_ignore_header X-Spam-Status - -#whitelist_to postmaster@* -# Whether to decode non- UTF-8 and non-ASCII textual parts and recode -# them to UTF-8 before the text is given over to rules processing. -# -# normalize_charset 1 - -# Some shortcircuiting, if the plugin is enabled -# -ifplugin Mail::SpamAssassin::Plugin::Shortcircuit -# -# default: strongly-whitelisted mails are *really* whitelisted now, if the -# shortcircuiting plugin is active, causing early exit to save CPU load. -# Uncomment to turn this on -# - #shortcircuit USER_IN_WHITELIST ham - #shortcircuit USER_IN_WHITELIST_TO ham -# shortcircuit USER_IN_DEF_WHITELIST on -# shortcircuit USER_IN_ALL_SPAM_TO on -# shortcircuit SUBJECT_IN_WHITELIST on - -# the opposite; blacklisted mails can also save CPU -# - #shortcircuit USER_IN_BLACKLIST on - #shortcircuit USER_IN_BLACKLIST_TO on -# shortcircuit SUBJECT_IN_BLACKLIST on - -# if you have taken the time to correctly specify your "trusted_networks", -# this is another good way to save CPU -# -# shortcircuit ALL_TRUSTED on - -# and a well-trained bayes DB can save running rules, too -# -# shortcircuit BAYES_99 spam -# shortcircuit BAYES_00 ham - -endif # Mail::SpamAssassin::Plugin::Shortcircuit - -loadplugin Mail::SpamAssassin::Plugin::Rule2XSBody - -add_header all Status _YESNO_, score=_SCORE_ required=_REQD_ tests=_TESTSSCORES_ autolearn=_AUTOLEARN_ version=_VERSION_ - -# enable SPF plugin -loadplugin Mail::SpamAssassin::Plugin::SPF - -# disable suspicious IADB stuff (they whitelisted some spam mails) -score __RCVD_IN_IADB 0 - -# reduce the positive weight of returnpath CERTIFIED/SAFE results -score RCVD_IN_RP_CERTIFIED -0.01 # default -3 -score RCVD_IN_RP_SAFE -0.001 # default -2 - -# increase scores of some rules -score RCVD_IN_BL_SPAMCOP_NET 3.5 -score RCVD_IN_SBL 3.5 -score RCVD_IN_XBL 3.5 -score URIBL_DBL_SPAM 3.5 -score URIBL_SBL 3.5 -score URIBL_BLACK 3.0 -score URIBL_SBL_A 1.0 -score RCVD_IN_SORBS_SPAM 3.5 -score RCVD_IN_BRBL_LASTEXT 2.0 -score URIBL_ABUSE_SURBL 2.0 -score SPF_HELO_SOFTFAIL 0.25 -score SPF_HELO_FAIL 0.5 -score SPF_SOFTFAIL 0.25 -score SPF_FAIL 0.5 - -score RDNS_NONE 3.5 -score RDNS_DYNAMIC 1.6 -score HELO_MISC_IP 0.25 -score UNPARSEABLE_RELAY 1.0 -score FREEMAIL_FORGED_REPLYTO 2.0 - -score BAYES_00 -1.0 -score BAYES_05 -0.5 -score BAYES_20 0 -score BAYES_40 1.0 -score BAYES_50 1.25 -#score BAYES_60 3.0 -#score BAYES_80 3.5 -#score BAYES_90 4.0 -#score BAYES_95 4.9 -#score BAYES_99 5.0 - -score MISSING_HEADERS 1.3 -score LOTS_OF_MONEY 0.5 -score FREEMAIL_FROM 0.5 -score DKIM_INVALID 1.0 - -score MONEY_FRAUD_3 0.75 -score MONEY_FRAUD_5 1.0 -score MONEY_FRAUD_8 1.25 - -score UPPERCASE_50_75 2.5 -score UPPERCASE_75_100 3.0 - -# NIX -header RCVD_IN_NIX_SPAM eval:check_rbl('nix-spam-lastexternal','ix.dnsbl.manitu.net.') -describe RCVD_IN_NIX_SPAM Listed in NIX-SPAM DNSBL (www.dnsbl.manitu.net) -tflags RCVD_IN_NIX_SPAM net -score RCVD_IN_NIX_SPAM 3.5 - -# extremely long subjects -header LOCAL_LONG_SUBJECT_250 Subject =~ /^.{250,}/ -describe LOCAL_LONG_SUBJECT_250 Subject field is extremely large (>250) -score LOCAL_LONG_SUBJECT_250 3.5 - -header LOCAL_LONG_SUBJECT_500 Subject =~ /^.{500,}/ -describe LOCAL_LONG_SUBJECT_500 Subject field is extremely large (>500) -score LOCAL_LONG_SUBJECT_500 2.1 - -header LOCAL_SUBJECT_EXCLAMATION Subject =~ /!!!$/ -score LOCAL_SUBJECT_EXCLAMATION 2 - -header LOCAL_EMPTY_SUBJECT Subject =~ /^\s*$/ -score LOCAL_EMPTY_SUBJECT 1 - -body LOCAL_FAKE_OFFICE /180 Sansome Street/ -score LOCAL_FAKE_OFFICE 1 - -# date tld -header LOCAL_DATE_TLD From =~ /\@.*?\.date/i -describe LOCAL_DATE_TLD Sender address is from a .date TLD -score LOCAL_DATE_TLD 1.0 - -# bitcoin -header __LOCAL_BITCOIN_SUBJ Subject =~ /\b(bitcoin)\b/i -body __LOCAL_BITCOIN_BODY /\b(bitcoin|BTC)\b/i -meta LOCAL_BITCOIN ((__LOCAL_BITCOIN_SUBJ + __LOCAL_BITCOIN_BODY) > 0) -describe LOCAL_BITCOIN Contains bitcoin keywords in body and/or subject -score LOCAL_BITCOIN 1.5 - -header LOCAL_VIDEO_SUBJECT Subject =~ /\.mp4\b/ -score LOCAL_VIDEO_SUBJECT 0.75 - -meta LOCAL_VIDEO_EXTORTION ((LOCAL_VIDEO_SUBJECT && LOCAL_BITCOIN)) -score LOCAL_VIDEO_EXTORTION 1.5 - -header __LOCAL_ARABIC_STUDENT From =~ /student.*1\./ -header __LOCAL_ARABIC_STUDENT_MAILER X-Mailer =~ /^MBM 7\.9-US$/ -meta LOCAL_ARABIC_STUDENT (__LOCAL_ARABIC_STUDENT && __LOCAL_ARABIC_STUDENT_MAILER) -score LOCAL_ARABIC_STUDENT 2 - -header LOCAL_SPAM1 Subject =~ /Reclame sus facturas impagadas/ -score LOCAL_SPAM1 2.5 - -header LOCAL_ANON_HACKER From =~ /(anoniemehacker.club|hackeranonim.top)/ -score LOCAL_ANON_HACKER 2.5 - -# Attachments -loadplugin Mail::SpamAssassin::Plugin::MIMEHeader - -mimeheader ZIP_ATTACHED Content-Type =~ /zip/i -describe ZIP_ATTACHED email contains a zip attachment -score ZIP_ATTACHED 1.0 - -mimeheader MSWORD_ATTACHED Content-Type =~ /ms-?word/i -describe MSWORD_ATTACHED email contains a msword attachment -score MSWORD_ATTACHED 1.0 - -### whitelist / negative rules for some senders ### - -# whitelist abuse reports -header LOCAL_ABUSE_FROM From =~ /abuse@.*/ -score LOCAL_ABUSE_FROM -2 - -header LOCAL_ABUSE_REPLY_TO Reply-To =~ /abuse@.*/ -score LOCAL_ABUSE_REPLY_TO -2 - -header LOCAL_ABUSE_TO To =~ /abuse@.*/ -score LOCAL_ABUSE_TO -2 - -################################################## -# from: https://forum.hetzner.de/thread/24022-spamassassin-filterregel/?postID=243392#post243392 -add_header all BL-Results "_RBL_" -### Senderbase Reputation checks (rf.senderbase.org) -header __R_SB_FR eval:check_rbl_txt('rf.senderbase.org-lastexternal','rf.senderbase.org') -describe __R_SB_FR IP reputation of the sender at SenderBase -tflags __R_SB_FR net -reuse __R_SB_FR - - -header R_SB_R_NEG3 eval:check_rbl_sub('rf.senderbase.org-lastexternal', '^-[3-9]\.') -describe R_SB_R_NEG3 SenderBase Reputation is -3 to -10 -score R_SB_R_NEG3 5 -reuse R_SB_R_NEG3 - - -header R_SB_R_NEU0 eval:check_rbl_sub('rf.senderbase.org-lastexternal', '^-[0-2]\.') -describe R_SB_R_NEU0 SenderBase Reputation is 0 to -2.9 -score R_SB_R_NEU0 2 -reuse R_SB_R_NEU0 - - -header R_SB_R_POS1 eval:check_rbl_sub('rf.senderbase.org-lastexternal', '^[0-3]\.') -describe R_SB_R_POS1 SenderBase Reputation is 0 - 2.9 -score R_SB_R_POS1 0.1 -reuse R_SB_R_POS1 - - -header R_SB_FR_POS3 eval:check_rbl_sub('rf.senderbase.org-lastexternal', '^[3-9]\.') -describe R_SB_FR_POS3 SenderBase Reputation is 3.0 - 9.9 -score R_SB_FR_POS3 -0.5 -reuse R_SB_FR_POS3 -################################################### - -ifplugin Mail::SpamAssassin::Plugin::AskDNS - -askdns __DMARC_POLICY_NONE _dmarc._AUTHORDOMAIN_ TXT /^v\s*=DMARC1 (?=\s*;) .* ;\s* p\s*=\s*none \s*(?:;|\z)/x -askdns __DMARC_POLICY_QUAR _dmarc._AUTHORDOMAIN_ TXT /^v\s*=DMARC1 (?=\s*;) .* ;\s* p\s*=\s*quarantine \s*(?:;|\z)/x -askdns __DMARC_POLICY_REJECT _dmarc._AUTHORDOMAIN_ TXT /^v\s*=DMARC1 (?=\s*;) .* ;\s* p\s*=\s*reject \s*(?:;|\z)/x -askdns __DMARC_ADKIM_STRICT _dmarc._AUTHORDOMAIN_ TXT /^v\s*=DMARC1 (?=\s*;) .* ;\s* adkim\s*=\s*s \s*(?:;|\z)/x - -# some common email domains that sign with the author domain -header __DMARC_SIMPLE_DKIM From:addr =~ /\@(?:gmail\.com|yahoo\.(?:com|\w\w|co\.\w\w))$/i -meta __DMARC_TESTS_FAIL !( DKIM_VALID_AU || DKIM_VALID && !__DMARC_ADKIM_S && !__DMARC_SIMPLE_DKIM || __HAS_LIST_ID && DKIM_SIGNED || SPF_PASS) -meta __DMARC_TESTS_PASS DKIM_VALID_AU && SPF_PASS - -# TODO: increase scores if testing period is over and was successful - - -meta DMARC_FAIL_REJECT __DMARC_TESTS_FAIL && __DMARC_POLICY_REJECT -describe DMARC_FAIL_REJECT DMARC validation failed and policy is to reject -score DMARC_FAIL_REJECT 1.5 - -meta DMARC_FAIL_QUAR __DMARC_TESTS_FAIL && __DMARC_POLICY_QUAR -describe DMARC_FAIL_QUAR DMARC validation failed and policy is quarantine -#score DMARC_FAIL_QUAR 1.0 -score DMARC_FAIL_QUAR 0.5 - -meta DMARC_FAIL_NONE __DMARC_TESTS_FAIL && __DMARC_POLICY_NONE -describe DMARC_FAIL_NONE DMARC validation failed and policy is none -score DMARC_FAIL_NONE 0.25 - - -meta DMARC_PASS_REJECT __DMARC_TESTS_PASS && __DMARC_POLICY_REJECT -describe DMARC_PASS_REJECT DMARC validation passed and policy is to reject -tflags DMARC_PASS_REJECT nice -score DMARC_PASS_REJECT -1.0 - -meta DMARC_PASS_QUAR __DMARC_TESTS_PASS && __DMARC_POLICY_QUAR -describe DMARC_PASS_QUAR DMARC validation passed and policy is quarantine -tflags DMARC_PASS_QUAR nice -score DMARC_PASS_QUAR -0.5 - -meta DMARC_PASS_NONE __DMARC_TESTS_PASS && __DMARC_POLICY_NONE -describe DMARC_PASS_NONE DMARC validation passed and policy is none -tflags DMARC_PASS_NONE nice -score DMARC_PASS_NONE -0.1 - - -meta DMARC_REJ_NO_DKIM __DMARC_POLICY_REJECT && !DKIM_SIGNED -describe DMARC_REJ_NO_DKIM DMARC policy is reject without any DKIM signatures -score DMARC_REJ_NO_DKIM 1.0 - -meta DMARC_QUAR_NO_DKIM __DMARC_POLICY_QUAR && !DKIM_SIGNED -describe DMARC_QUAR_NO_DKIM DMARC policy is quarantine without any DKIM signatures -score DMARC_QUAR_NO_DKIM 1.0 - -# some temporary informational rules -meta T_DMARC_TESTS_FAIL __DMARC_TESTS_FAIL -meta T_DMARC_TESTS_PASS __DMARC_TESTS_PASS -meta T_DMARC_POLICY_NONE __DMARC_POLICY_NONE -meta T_DMARC_POLICY_QUAR __DMARC_POLICY_QUAR -meta T_DMARC_POLICY_REJECT __DMARC_POLICY_REJECT -meta T_DMARC_ADKIM_STRICT __DMARC_ADKIM_STRICT -meta T_DMARC_SIMPLE_DKIM __DMARC_SIMPLE_DKIM - -endif diff --git a/roles/spampd/templates/rules-en.cf.j2 b/roles/spampd/templates/rules-en.cf.j2 deleted file mode 100644 index d139e807..00000000 --- a/roles/spampd/templates/rules-en.cf.j2 +++ /dev/null @@ -1,135 +0,0 @@ -## English language spam rules - -# cancer stuff -header __LOCAL_DISEASE_SUBJ Subject =~ /\b(cancer|ill|doctor|survive|disease|illness|admitted|hospital)\b/i -body __LOCAL_DISEASE_BODY /\b(cancer|ill|doctor|survive|disease|illness|admitted|hospital)\b/i -meta LOCAL_DISEASE ((__LOCAL_DISEASE_SUBJ + __LOCAL_DISEASE_BODY) > 0) -describe LOCAL_DISEASE Contains disease keywords in body and/or subject -score LOCAL_DISEASE 1.5 - -# charity stuff -header __LOCAL_CHARITY_SUBJ Subject =~ /\b(charity|donation|donate|humanity|orphan|orphanage|widow)\b/i -body __LOCAL_CHARITY_BODY /\b(charity|donation|donate|humanity|orphan|orphanage|widow)\b/i -meta LOCAL_CHARITY ((__LOCAL_CHARITY_SUBJ + __LOCAL_CHARITY_BODY) > 0) -describe LOCAL_CHARITY Contains charity or donate keywords in body and/or subject -score LOCAL_CHARITY 1.5 - -# fake business inquiries/agreements -header __LOCAL_FAKEBUSINESS_SUBJ Subject =~ /\b(mutual|business|agreement|offer|special|proposal|brand|affordable|marketing|services|development)\b/i -body __LOCAL_FAKEBUSINESS_BODY /\b(mutual|business|agreement|offer|special|proposal|brand|affordable|marketing|services|development)\b/i -meta LOCAL_FAKEBUSINESS ((__LOCAL_FAKEBUSINESS_SUBJ + __LOCAL_FAKEBUSINESS_BODY) > 0) -describe LOCAL_FAKEBUSINESS Contains fake business keywords in body and/or subject -score LOCAL_FAKEBUSINESS 0.5 - -# delivery notifications -header LOCAL_ITEM_DELIVERY Subject =~ /Item Delivery Notification/ -score LOCAL_ITEM_DELIVERY 2.5 - -header __LOCAL_PARCEL Subject =~ /\bparcel\b/i -header __LOCAL_PACKAGE Subject =~ /\bpackage\b/i -header __LOCAL_DELIVERY Subject =~ /\bdelivery?\b/i -meta LOCAL_PARCEL_DELIVERY ((__LOCAL_PARCEL || __LOCAL_PACKAGE) && __LOCAL_DELIVERY) -describe LOCAL_PARCEL_DELIVERY Subject contains words delivery? and parcel or package -score LOCAL_PARCEL_DELIVERY 1.0 - -header LOCAL_PACKAGE_DELIVERY Subject =~ /Package Delivery( Notification|!!!)/ -score LOCAL_PACKAGE_DELIVERY 2.5 - -# company documents -header LOCAL_COMPANY_DOC Subject =~ /Company Documents/ -score LOCAL_COMPANY_DOC 2.5 - -header LOCAL_XEROX_1 Subject =~ /Scanned Image from a Xerox WorkCentre/ -score LOCAL_XEROX_1 5 - -header LOCAL_AUDIO_TRANSCRIP Subject =~ /Audio Transcription Service Provider/ -score LOCAL_AUDIO_TRANSCRIP 3 - -body LOCAL_SECURE_PAYMENT /Secure Online Payment/ -score LOCAL_SECURE_PAYMENT 1 - -body LOCAL_SEO /This domain seo registration for .* search engine service optimization notification will expire/ -score LOCAL_SEO 1.5 - -body LOCAL_MYNAME /My name is .*, please reply me\./ -score LOCAL_MYNAME 2.5 - -header LOCAL_LOTTERY Subject =~ /\bLottery\b/i -score LOCAL_LOTTERY 0.2 - -header LOCAL_WINNER Subject =~ /\bWinner\b/i -score LOCAL_WINNER 0.2 - -meta LOCAL_LOTTERY_WINNER (LOCAL_LOTTERY && LOCAL_WINNER) -score LOCAL_LOTTERY_WINNER 1.2 - -body LOCAL_BANK_ALERT /\bbank(ing)? alert\b/i -score LOCAL_BANK_ALERT 2 - -header LOCAL_URGENT_SUBJECT Subject =~ /\burgent\b/i -score LOCAL_URGENT_SUBJECT 1 - -body __LOCAL_FUNDS_1 /\bfunds?\b/i -body __LOCAL_FUNDS_2 /\bconfirm(ation)?\b/i -body __LOCAL_FUNDS_3 /\bserious loan\b/i -meta LOCAL_FUNDS (__LOCAL_FUNDS_1 && (__LOCAL_FUNDS_2 || __LOCAL_FUNDS_3)) -score LOCAL_FUNDS 1.5 - -body LOCAL_INVESTMENT_1 /,regarding my investment proposal\.\?/i -score LOCAL_INVESTMENT_1 4 - -header LOCAL_LOAN Subject =~ /\bloan\b/i -score LOCAL_LOAN 0.5 - -header LOCAL_APPLY_NOW Subject =~ /\bapply now\b/i -score LOCAL_APPLY_NOW 1 - -header LOCAL_APPROVED Subject =~ /^APPROVED!$/ -score LOCAL_APPROVED 5 - -body LOCAL_BINARY_OPTIONS /Binary Options Success Network/ -score LOCAL_BINARY_OPTIONS 3 - -body LOCAL_RIVER /Try River Team for FREE for 3 days/ -score LOCAL_RIVER 3 - -header LOCAL_DEAR_BELOVED Subject =~ /Dear Beloved One,/ -score LOCAL_DEAR_BELOVED 1.8 - -body LOCAL_BUSINESS_JOURNAL /got your email from a business web journal/ -score LOCAL_BUSINESS_JOURNAL 3 - -body LOCAL_BOGUS_OFFER /We are currently expanding our global presence and portfolio by/ -score LOCAL_BOGUS_OFFER 3.5 - - -body LOCAL_MASTRUBATION /\bmasturbation\b/i -score LOCAL_MASTRUBATION 2 - -body LOCAL_VISIT_POLICE /You саn visit police but nobody will help you/i -score LOCAL_VISIT_POLICE 2 - -body LOCAL_BITCOINT_PAYMENT /waiting for your Bitcoin payment/i -score LOCAL_BITCOINT_PAYMENT 1 - -body LOCAL_TRY_TO_CHEAT /Do not try to cheat me/i -score LOCAL_TRY_TO_CHEAT 1.5 - -body LOCAL_HI_PERV /Hi perv,/ -score LOCAL_HI_PERV 2 - -body LOCAL_CONTACT_INFO /We provide Business executive contact information/ -score LOCAL_CONTACT_INFO 2 - -body LOCAL_CONTACT_INFO_LIST_TECH /Technology specific Lists/i -score LOCAL_CONTACT_INFO_LIST_TECH 0.5 - -body LOCAL_CONTACT_INFO_LIST_IND /Industry Specific Lists/i -score LOCAL_CONTACT_INFO_LIST_IND 0.5 - -body LOCAL_CONTACT_INFO_LIST_TITLE /Title Specific Lists/i -score LOCAL_CONTACT_INFO_LIST_TITLE 0.5 - -body LOCAL_CONTACT_INFO_DB_ORGA /We are a database organization/i -score LOCAL_CONTACT_INFO_DB_ORGA 0.5 - diff --git a/roles/zabbix_agent/files/systemd-discover-accounting-units.py b/roles/zabbix_agent/files/systemd-discover-accounting-units.py index a86b6c85..a611fd7c 100644 --- a/roles/zabbix_agent/files/systemd-discover-accounting-units.py +++ b/roles/zabbix_agent/files/systemd-discover-accounting-units.py @@ -27,7 +27,7 @@ unit_whitelist_regexes = [ r'quassel.service', r'security-tracker-update.service', r'syslog-ng@.*.service', - r'spampd.service', + r'rspamd.service', r'sshd.service', r'svnserve.service', r'synapse.service',