[Rspamd] Update bad asn, move KEEP_SPAM to a custom lua function
parent
8a88514dfd
commit
afc18fd469
|
@ -1,11 +1,10 @@
|
||||||
# High spam networks, disabled by default
|
# High spam networks, disabled by default
|
||||||
#201942:5 #Soltia Consulting SL - ipinfo.io
|
#201942:5 #Soltia Consulting SL - ipinfo.io
|
||||||
#16276:5 #OVH
|
#16276:2 #OVH
|
||||||
#12876:5 #ONLINE S.A.S
|
#12876:2 #ONLINE S.A.S
|
||||||
#31034:5
|
#31034:5 #ARUBA-ASN, IT
|
||||||
#12874:5
|
#12874:5 #FASTWEB, IT
|
||||||
#30823:5
|
#30823:3 #PKV spam
|
||||||
#197071:5
|
|
||||||
#42831:5 #UK Dedicated Servers Ltd
|
#42831:5 #UK Dedicated Servers Ltd
|
||||||
#29119:5 #Aire Networks del Mediterraneo S.L.U.
|
#29119:5 #Aire Networks del Mediterraneo S.L.U.
|
||||||
#13335:5 #Cloudflare
|
#13335:5 #Cloudflare
|
||||||
|
@ -17,7 +16,7 @@
|
||||||
#14061:4 #Digitalocean
|
#14061:4 #Digitalocean
|
||||||
#55293:4 #A2 Hosting
|
#55293:4 #A2 Hosting
|
||||||
#63018:4 #US Dedicated
|
#63018:4 #US Dedicated
|
||||||
#197518:2
|
#197518:2 #RACKMARKT
|
||||||
#44493:2
|
#44493:2
|
||||||
#46606:2
|
#46606:2
|
||||||
#49505:2
|
#49505:2
|
||||||
|
@ -25,3 +24,5 @@
|
||||||
#197695:2
|
#197695:2
|
||||||
#198068:2
|
#198068:2
|
||||||
#43146:2
|
#43146:2
|
||||||
|
#49100:4
|
||||||
|
#39364:4
|
||||||
|
|
|
@ -25,13 +25,6 @@ WHITELISTED_FWD_HOST {
|
||||||
symbols_set = ["WHITELISTED_FWD_HOST"];
|
symbols_set = ["WHITELISTED_FWD_HOST"];
|
||||||
}
|
}
|
||||||
|
|
||||||
KEEP_SPAM {
|
|
||||||
type = "ip";
|
|
||||||
map = "redis://KEEP_SPAM";
|
|
||||||
action = "accept";
|
|
||||||
symbols_set = ["KEEP_SPAM"];
|
|
||||||
}
|
|
||||||
|
|
||||||
LOCAL_BL_ASN {
|
LOCAL_BL_ASN {
|
||||||
require_symbols = "!MAILCOW_WHITE";
|
require_symbols = "!MAILCOW_WHITE";
|
||||||
type = "asn";
|
type = "asn";
|
||||||
|
@ -40,11 +33,3 @@ LOCAL_BL_ASN {
|
||||||
description = "Sender's ASN is on the local blacklist";
|
description = "Sender's ASN is on the local blacklist";
|
||||||
symbols_set = ["LOCAL_BL_ASN"];
|
symbols_set = ["LOCAL_BL_ASN"];
|
||||||
}
|
}
|
||||||
|
|
||||||
#SPOOFED_SENDER {
|
|
||||||
# type = "rcpt";
|
|
||||||
# filter = "email:domain:tld";
|
|
||||||
# map = "redis://DOMAIN_MAP";
|
|
||||||
# require_symbols = "AUTH_NA | !RCVD_VIA_SMTP_AUTH";
|
|
||||||
# symbols_set = ["SPOOFED_SENDER"];
|
|
||||||
#}
|
|
||||||
|
|
|
@ -7,6 +7,60 @@ rspamd_config.MAILCOW_AUTH = {
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rspamd_config:register_symbol({
|
||||||
|
name = 'KEEP_SPAM',
|
||||||
|
type = 'prefilter',
|
||||||
|
callback = function(task)
|
||||||
|
local util = require("rspamd_util")
|
||||||
|
local rspamd_logger = require "rspamd_logger"
|
||||||
|
local rspamd_ip = require 'rspamd_ip'
|
||||||
|
local uname = task:get_user()
|
||||||
|
if uname then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
local redis_params = rspamd_parse_redis_server('keep_spam')
|
||||||
|
local ip = task:get_from_ip()
|
||||||
|
local from_ip_string = ip:to_string()
|
||||||
|
ip_check_table = {from_ip_string}
|
||||||
|
local maxbits = 128
|
||||||
|
local minbits = 32
|
||||||
|
if ip:get_version() == 4 then
|
||||||
|
maxbits = 32
|
||||||
|
minbits = 8
|
||||||
|
end
|
||||||
|
for i=maxbits,minbits,-1 do
|
||||||
|
local nip = ip:apply_mask(i):to_string() .. "/" .. i
|
||||||
|
table.insert(ip_check_table, nip)
|
||||||
|
end
|
||||||
|
local function keep_spam_cb(err, data)
|
||||||
|
if err then
|
||||||
|
rspamd_logger.infox(rspamd_config, "keep_spam query request for ip %s returned invalid or empty data (\"%s\") or error (\"%s\")", ip, data, err)
|
||||||
|
return false
|
||||||
|
else
|
||||||
|
for k,v in pairs(data) do
|
||||||
|
if (v and v ~= userdata and v == '1') then
|
||||||
|
rspamd_logger.infox(rspamd_config, "found ip in keep_spam map, setting pre-result", v)
|
||||||
|
task:set_pre_result('accept', 'IP matched with forward hosts')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
table.insert(ip_check_table, 1, 'KEEP_SPAM')
|
||||||
|
local redis_ret_user = rspamd_redis_make_request(task,
|
||||||
|
redis_params, -- connect params
|
||||||
|
'KEEP_SPAM', -- hash key
|
||||||
|
false, -- is write
|
||||||
|
keep_spam_cb, --callback
|
||||||
|
'HMGET', -- command
|
||||||
|
ip_check_table -- arguments
|
||||||
|
)
|
||||||
|
if not redis_ret_user then
|
||||||
|
rspamd_logger.infox(rspamd_config, "cannot check keep_spam redis map")
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
priority = 19
|
||||||
|
})
|
||||||
|
|
||||||
rspamd_config:register_symbol({
|
rspamd_config:register_symbol({
|
||||||
name = 'TAG_MOO',
|
name = 'TAG_MOO',
|
||||||
type = 'postfilter',
|
type = 'postfilter',
|
||||||
|
|
Loading…
Reference in New Issue