]> source.dussan.org Git - rspamd.git/commitdiff
[Conf] Add default configuration for antivirus module
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 6 Mar 2017 13:51:23 +0000 (13:51 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 6 Mar 2017 13:51:23 +0000 (13:51 +0000)
conf/modules.d/antivirus.conf [new file with mode: 0644]
src/plugins/lua/antivirus.lua

diff --git a/conf/modules.d/antivirus.conf b/conf/modules.d/antivirus.conf
new file mode 100644 (file)
index 0000000..bca025f
--- /dev/null
@@ -0,0 +1,52 @@
+# Please don't modify this file as your changes might be overwritten with
+# the next update.
+#
+# You can modify '$LOCAL_CONFDIR/rspamd.conf.local.override' to redefine
+# parameters defined on the top level
+#
+# You can modify '$LOCAL_CONFDIR/rspamd.conf.local' to add
+# parameters defined on the top level
+#
+# For specific modules or configuration you can also modify
+# '$LOCAL_CONFDIR/local.d/file.conf' - to add your options or rewrite defaults
+# '$LOCAL_CONFDIR/override.d/file.conf' - to override the defaults
+#
+# See https://rspamd.com/doc/tutorials/writing_rules.html for details
+
+antivirus {
+  # multiple scanners could be checked, for each we create a configuration block with an arbitrary name
+  clamav {
+    # If set force this action if any virus is found (default unset: no action is forced)
+    # action = "reject";
+    # if `true` only messages with non-image attachments will be checked (default true)
+    attachments_only = true;
+    # If `max_size` is set, messages > n bytes in size are not scanned
+    #max_size = 20000000;
+    # symbol to add (add it to metric if you want non-zero weight)
+    symbol = "CLAM_VIRUS";
+    # type of scanner: "clamav", "fprot", "sophos" or "savapi"
+    type = "clamav";
+    # For "savapi" you must also specify the following variable
+    #product_id = 12345;
+    # For "savapi" you can enable logging for clean messages
+    #log_clean = true;
+    # servers to query (if port is unspecified, scanner-specific default is used)
+    # can be specified multiple times to pool servers
+    # can be set to a path to a unix socket
+    # Enable this in local.d/antivirus.conf
+    #servers = "127.0.0.1:3310";
+    # if `patterns` is specified virus name will be matched against provided regexes and the related
+    # symbol will be yielded if a match is found. If no match is found, default symbol is yielded.
+    patterns {
+      # symbol_name = "pattern";
+      JUST_EICAR = "^Eicar-Test-Signature$";
+    }
+    # `whitelist` points to a map of IP addresses. Mail from these addresses is not scanned.
+    whitelist = "/etc/rspamd/antivirus.wl";
+  }
+
+
+  .include(try=true,priority=5) "${DBDIR}/dynamic/antivirus.conf"
+  .include(try=true,priority=1,duplicate=merge) "$LOCAL_CONFDIR/local.d/antivirus.conf"
+  .include(try=true,priority=10) "$LOCAL_CONFDIR/override.d/antivirus.conf"
+}
index 417a93fb43029c07e06b025e69b50897898f1de6..cc59ae86e2f679afffa94d23c12c3694ab02bbde 100644 (file)
@@ -646,7 +646,7 @@ local opts = rspamd_config:get_all_opt('antivirus')
 if opts and type(opts) == 'table' then
   redis_params = rspamd_parse_redis_server('antivirus')
   for k, m in pairs(opts) do
-    if type(m) == 'table' and m['type'] then
+    if type(m) == 'table' and m['type'] and m['servers'] then
       local cb = add_antivirus_rule(k, m)
       if not cb then
         rspamd_logger.errx(rspamd_config, 'cannot add rule: "' .. k .. '"')