more rspam config

This commit is contained in:
Jeff Moe 2024-09-01 14:44:57 -06:00
parent 3aa5f0e89d
commit bcc37dd497
2 changed files with 254 additions and 56 deletions

View file

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Libre Developers Documentation 0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-01 14:19-0600\n"
"POT-Creation-Date: 2024-09-01 14:44-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@ -62,7 +62,7 @@ msgstr ""
msgid "MariaDB"
msgstr ""
#: ../../../_source/mail-libre-is.rst:28 ../../../_source/mail-libre-is.rst:643
#: ../../../_source/mail-libre-is.rst:28 ../../../_source/mail-libre-is.rst:774
msgid "OpenDKIM"
msgstr ""
@ -70,7 +70,7 @@ msgstr ""
msgid "`<http://www.opendkim.org/>`_"
msgstr ""
#: ../../../_source/mail-libre-is.rst:32 ../../../_source/mail-libre-is.rst:651
#: ../../../_source/mail-libre-is.rst:32 ../../../_source/mail-libre-is.rst:782
msgid "OpenDMARC"
msgstr ""
@ -90,7 +90,7 @@ msgstr ""
msgid "`<https://www.postfix.org/>`_"
msgstr ""
#: ../../../_source/mail-libre-is.rst:44 ../../../_source/mail-libre-is.rst:666
#: ../../../_source/mail-libre-is.rst:44 ../../../_source/mail-libre-is.rst:797
msgid "DNS"
msgstr ""
@ -267,6 +267,7 @@ msgid "Edit /etc/postfix/master.cf and change thusly:"
msgstr ""
#: ../../../_source/mail-libre-is.rst:412
#: ../../../_source/mail-libre-is.rst:539
msgid "Run:"
msgstr ""
@ -298,147 +299,213 @@ msgstr ""
msgid "Configure postfix for rspamd."
msgstr ""
#: ../../../_source/mail-libre-is.rst:463
msgid "Administration"
#: ../../../_source/mail-libre-is.rst:461
msgid "Edit /etc/rspamd/override.d/milter_headers.conf and add:"
msgstr ""
#: ../../../_source/mail-libre-is.rst:464
msgid "Now that everything is working..."
#: ../../../_source/mail-libre-is.rst:467
msgid "Edit /etc/dovecot/conf.d/90-sieve.conf and change:"
msgstr ""
#: ../../../_source/mail-libre-is.rst:466
msgid "Log into the database using the mailadmin databse password:"
#: ../../../_source/mail-libre-is.rst:473
msgid "Create dir for new sieve filter:"
msgstr ""
#: ../../../_source/mail-libre-is.rst:474
msgid "List Virtual Domains"
msgstr ""
#: ../../../_source/mail-libre-is.rst:482
msgid "List Virtual Users"
#: ../../../_source/mail-libre-is.rst:479
msgid "Create /etc/dovecot/sieve-after/spam-to-folder.sieve with these contents:"
msgstr ""
#: ../../../_source/mail-libre-is.rst:490
msgid "List Virtual Aliases"
msgid "Then compile it:"
msgstr ""
#: ../../../_source/mail-libre-is.rst:498
msgid "Add Virtual Domain"
#: ../../../_source/mail-libre-is.rst:496
msgid "Set up redis by adding /etc/rspamd/override.d/redis.conf with this:"
msgstr ""
#: ../../../_source/mail-libre-is.rst:500
msgid "Add the domain:"
#: ../../../_source/mail-libre-is.rst:502
msgid "Add this /etc/rspamd/override.d/classifier-bayes.conf with below contents:"
msgstr ""
#: ../../../_source/mail-libre-is.rst:508
msgid "Add /etc/rspamd/local.d/classifier-bayes.conf with:"
msgstr ""
#: ../../../_source/mail-libre-is.rst:514
msgid "Edit /etc/dovecot/conf.d/20-imap.conf and change:"
msgstr ""
#: ../../../_source/mail-libre-is.rst:520
msgid ""
"Edit /etc/dovecot/conf.d/90-sieve.conf and add below to \"plugins\" "
"section:"
msgstr ""
#: ../../../_source/mail-libre-is.rst:545
msgid "Create /etc/dovecot/sieve/learn-spam.sieve with contents:"
msgstr ""
#: ../../../_source/mail-libre-is.rst:552
msgid "Create /etc/dovecot/sieve/learn-ham.sieve and add:"
msgstr ""
#: ../../../_source/mail-libre-is.rst:562
msgid "Run this to compile:"
msgstr ""
#: ../../../_source/mail-libre-is.rst:571
msgid "Create /etc/dovecot/sieve/rspamd-learn-spam.sh with contents:"
msgstr ""
#: ../../../_source/mail-libre-is.rst:578
msgid "Create /etc/dovecot/sieve/rspamd-learn-ham.sh with contents:"
msgstr ""
#: ../../../_source/mail-libre-is.rst:585
msgid "Set ownership and permissions on scripts:"
msgstr ""
#: ../../../_source/mail-libre-is.rst:594
msgid "Firewall"
msgstr ""
#: ../../../_source/mail-libre-is.rst:595
msgid "Open TCP ports."
msgstr ""
#: ../../../_source/mail-libre-is.rst:597
msgid "Confirm open sieve..."
msgstr ""
#: ../../../_source/mail-libre-is.rst:617
msgid "Administration"
msgstr ""
#: ../../../_source/mail-libre-is.rst:618
msgid "Now that everything is working..."
msgstr ""
#: ../../../_source/mail-libre-is.rst:620
msgid "Log into the database using the mailadmin databse password:"
msgstr ""
#: ../../../_source/mail-libre-is.rst:628
msgid "List Virtual Domains"
msgstr ""
#: ../../../_source/mail-libre-is.rst:636
msgid "List Virtual Users"
msgstr ""
#: ../../../_source/mail-libre-is.rst:644
msgid "List Virtual Aliases"
msgstr ""
#: ../../../_source/mail-libre-is.rst:652
msgid "Add Virtual Domain"
msgstr ""
#: ../../../_source/mail-libre-is.rst:654
msgid "Add the domain:"
msgstr ""
#: ../../../_source/mail-libre-is.rst:662
msgid "Add a Mail User"
msgstr ""
#: ../../../_source/mail-libre-is.rst:509
#: ../../../_source/mail-libre-is.rst:663
msgid "Generate a password with dovecot:"
msgstr ""
#: ../../../_source/mail-libre-is.rst:515
#: ../../../_source/mail-libre-is.rst:669
msgid ""
"Log into database as mailadmin and run this command, using the dovecot "
"generated password string, and set the domain and user email."
msgstr ""
#: ../../../_source/mail-libre-is.rst:518
#: ../../../_source/mail-libre-is.rst:672
msgid "Note, upstream docs are missing \"(\" and \")\" for VALUES."
msgstr ""
#: ../../../_source/mail-libre-is.rst:528
#: ../../../_source/mail-libre-is.rst:682
msgid "Add a User Alias"
msgstr ""
#: ../../../_source/mail-libre-is.rst:529
#: ../../../_source/mail-libre-is.rst:683
msgid ""
"Example to add an alias. The first email should be the alias, the second "
"email is where it should go to."
msgstr ""
#: ../../../_source/mail-libre-is.rst:540
#: ../../../_source/mail-libre-is.rst:694
msgid "Change a User Password"
msgstr ""
#: ../../../_source/mail-libre-is.rst:541
#: ../../../_source/mail-libre-is.rst:695
msgid "Generate string for new password:"
msgstr ""
#: ../../../_source/mail-libre-is.rst:547
#: ../../../_source/mail-libre-is.rst:701
msgid "Use that string:"
msgstr ""
#: ../../../_source/mail-libre-is.rst:555
#: ../../../_source/mail-libre-is.rst:709
msgid "Delete Virtual Domain"
msgstr ""
#: ../../../_source/mail-libre-is.rst:563
#: ../../../_source/mail-libre-is.rst:717
msgid "Delete User"
msgstr ""
#: ../../../_source/mail-libre-is.rst:571
#: ../../../_source/mail-libre-is.rst:725
msgid "Delete Alias"
msgstr ""
#: ../../../_source/mail-libre-is.rst:579
msgid "Firewall"
msgstr ""
#: ../../../_source/mail-libre-is.rst:580
msgid "Open TCP ports."
msgstr ""
#: ../../../_source/mail-libre-is.rst:582
msgid "Confirm open sieve..."
msgstr ""
#: ../../../_source/mail-libre-is.rst:602
#: ../../../_source/mail-libre-is.rst:733
msgid "Email Client Setup"
msgstr ""
#: ../../../_source/mail-libre-is.rst:603
#: ../../../_source/mail-libre-is.rst:734
msgid "Set up mail clients thusly."
msgstr ""
#: ../../../_source/mail-libre-is.rst:607
#: ../../../_source/mail-libre-is.rst:738
msgid "Thunderbird"
msgstr ""
#: ../../../_source/mail-libre-is.rst:608
#: ../../../_source/mail-libre-is.rst:739
msgid "Example email Address: username@libre.is"
msgstr ""
#: ../../../_source/mail-libre-is.rst:629
#: ../../../_source/mail-libre-is.rst:760
msgid "Other"
msgstr ""
#: ../../../_source/mail-libre-is.rst:630
#: ../../../_source/mail-libre-is.rst:761
msgid "Perhaps these too."
msgstr ""
#: ../../../_source/mail-libre-is.rst:637
#: ../../../_source/mail-libre-is.rst:768
msgid "Perhaps easier to admin with this script."
msgstr ""
#: ../../../_source/mail-libre-is.rst:639
#: ../../../_source/mail-libre-is.rst:770
msgid "`<https://github.com/cgzones/ispmail-userctl>`_"
msgstr ""
#: ../../../_source/mail-libre-is.rst:652
#: ../../../_source/mail-libre-is.rst:783
msgid "Requires database setup."
msgstr ""
#: ../../../_source/mail-libre-is.rst:661
#: ../../../_source/mail-libre-is.rst:792
msgid "SPF"
msgstr ""
#: ../../../_source/mail-libre-is.rst:662
#: ../../../_source/mail-libre-is.rst:793
msgid "Set up SPF."
msgstr ""
#: ../../../_source/mail-libre-is.rst:667
#: ../../../_source/mail-libre-is.rst:798
msgid "Set up DNS."
msgstr ""

View file

@ -458,6 +458,137 @@ Configure postfix for rspamd.
sudo postconf non_smtpd_milters=inet:127.0.0.1:11332
sudo postconf milter_mail_macros="i {mail_addr} {client_addr} {client_name} {auth_authen}"
Edit /etc/rspamd/override.d/milter_headers.conf and add:
.. code-block:: cfg
extended_spam_headers = true;
Edit /etc/dovecot/conf.d/90-sieve.conf and change:
.. code-block:: cfg
sieve_after = /etc/dovecot/sieve-after
Create dir for new sieve filter:
.. code-block:: sh
sudo mkdir /etc/dovecot/sieve-after
Create /etc/dovecot/sieve-after/spam-to-folder.sieve with these contents:
.. code-block:: cfg
require ["fileinto"];
if header :contains "X-Spam" "Yes" {
fileinto "Junk";
stop;
}
Then compile it:
.. code-block:: sh
sudo sievec /etc/dovecot/sieve-after/spam-to-folder.sieve
Set up redis by adding /etc/rspamd/override.d/redis.conf with this:
.. code-block:: cfg
servers = "127.0.0.1";
Add this /etc/rspamd/override.d/classifier-bayes.conf with below contents:
.. code-block:: cfg
autolearn = [-5, 10];
Add /etc/rspamd/local.d/classifier-bayes.conf with:
.. code-block:: cfg
users_enabled = true;
Edit /etc/dovecot/conf.d/20-imap.conf and change:
.. code-block:: cfg
mail_plugins = $mail_plugins quota imap_sieve
Edit /etc/dovecot/conf.d/90-sieve.conf and add below to "plugins" section:
.. code-block:: cfg
# From elsewhere to Junk folder
imapsieve_mailbox1_name = Junk
imapsieve_mailbox1_causes = COPY
imapsieve_mailbox1_before = file:/etc/dovecot/sieve/learn-spam.sieve
# From Junk folder to elsewhere
imapsieve_mailbox2_name = *
imapsieve_mailbox2_from = Junk
imapsieve_mailbox2_causes = COPY
imapsieve_mailbox2_before = file:/etc/dovecot/sieve/learn-ham.sieve
sieve_pipe_bin_dir = /etc/dovecot/sieve
sieve_global_extensions = +vnd.dovecot.pipe
sieve_plugins = sieve_imapsieve sieve_extprograms
Run:
.. code-block:: sh
sudo mkdir /etc/dovecot/sieve
Create /etc/dovecot/sieve/learn-spam.sieve with contents:
.. code-block:: cfg
require ["vnd.dovecot.pipe", "copy", "imapsieve"];
pipe :copy "rspamd-learn-spam.sh";
Create /etc/dovecot/sieve/learn-ham.sieve and add:
.. code-block:: cfg
require ["vnd.dovecot.pipe", "copy", "imapsieve", "variables"];
if string "${mailbox}" "Trash" {
stop;
}
pipe :copy "rspamd-learn-ham.sh";
Run this to compile:
.. code-block:: sh
sudo sievec /etc/dovecot/sieve/learn-spam.sieve
sudo sievec /etc/dovecot/sieve/learn-ham.sieve
sudo chmod 600 /etc/dovecot/sieve/learn-{spam,ham}.{sieve,svbin}
sudo chown vmail:vmail /etc/dovecot/sieve/learn-{spam,ham}.{sieve,svbin}
Create /etc/dovecot/sieve/rspamd-learn-spam.sh with contents:
.. code-block:: cfg
#!/bin/sh
exec /usr/bin/rspamc learn_spam
Create /etc/dovecot/sieve/rspamd-learn-ham.sh with contents:
.. code-block:: cfg
#!/bin/sh
exec /usr/bin/rspamc learn_ham
Set ownership and permissions on scripts:
.. code-block:: sh
sudo chmod 700 /etc/dovecot/sieve/rspamd-learn-{spam,ham}.sh
sudo chown vmail:vmail /etc/dovecot/sieve/rspamd-learn-{spam,ham}.sh
Firewall
========