summaryrefslogtreecommitdiffstats
path: root/conf/scores.d/policies_group.conf
blob: ee3d0bbce416ceea311e590e9eb769a9a537cfae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# Policies rules scores, includes SPF, DKIM, DMARC and ARC symbols
#
# 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

description = "SPF, DKIM, DMARC, ARC";

symbols = {
    # SPF
    "R_SPF_FAIL" {
        weight = 1.0;
        description = "SPF verification failed";
        groups = ["spf"];
    }
    "R_SPF_SOFTFAIL" {
        weight = 0.0;
        description = "SPF verification soft-failed";
        groups = ["spf"];
    }
    "R_SPF_NEUTRAL" {
        weight = 0.0;
        description = "SPF policy is neutral";
        groups = ["spf"];
    }
    "R_SPF_ALLOW" {
        weight = -0.2;
        description = "SPF verification allows sending";
        groups = ["spf"];
    }
    "R_SPF_DNSFAIL" {
        weight = 0.0;
        description = "SPF DNS failure";
        groups = ["spf"];
    }
    "R_SPF_NA" {
        weight = 0.0;
        description = "Missing SPF record";
        one_shot = true;
        groups = ["spf"];
    }
    "R_SPF_PERMFAIL" {
        weight = 0.0;
        description = "SPF record is malformed or persistent DNS error";
        groups = ["spf"];
    }

    # DKIM
    "R_DKIM_REJECT" {
        weight = 1.0;
        description = "DKIM verification failed";
        one_shot = true;
        groups = ["dkim"];
    }
    "R_DKIM_TEMPFAIL" {
        weight = 0.0;
        description = "DKIM verification soft-failed";
        groups = ["dkim"];
    }
    "R_DKIM_PERMFAIL" {
        weight = 0.0;
        description = "DKIM verification hard-failed (invalid)";
        groups = ["dkim"];
    }
    "R_DKIM_ALLOW" {
        weight = -0.2;
        description = "DKIM verification succeed";
        one_shot = true;
        groups = ["dkim"];
    }
    "R_DKIM_NA" {
        weight = 0.0;
        description = "Missing DKIM signature";
        one_shot = true;
        groups = ["dkim"];
    }

    # DMARC
    "DMARC_POLICY_ALLOW" {
        weight = -0.5;
        description = "DMARC permit policy";
        groups = ["dmarc"];
    }
    "DMARC_POLICY_ALLOW_WITH_FAILURES" {
        weight = -0.5;
        description = "DMARC permit policy with DKIM/SPF failure";
        groups = ["dmarc"];
    }
    "DMARC_POLICY_REJECT" {
        weight = 2.0;
        description = "DMARC reject policy";
        groups = ["dmarc"];
    }
    "DMARC_POLICY_QUARANTINE" {
        weight = 1.5;
        description = "DMARC quarantine policy";
        groups = ["dmarc"];
    }
    "DMARC_POLICY_SOFTFAIL" {
        weight = 0.1;
        description = "DMARC failed";
        groups = ["dmarc"];
    }
    "DMARC_NA" {
        weight = 0.0;
        description = "No DMARC record";
        groups = ["dmarc"];
     }

    # ARC
    "ARC_ALLOW" {
        weight = -1.0;
        description = "ARC checks success";
        groups = ["arc"];
    }

    "ARC_REJECT" {
        weight = 1.0;
        description = "ARC checks failed";
        groups = ["arc"];
    }

    "ARC_INVALID" {
        weight = 0.5;
        description = "ARC structure invalid";
        groups = ["arc"];
    }

    "ARC_DNSFAIL" {
        weight = 0.0;
        description = "ARC DNS error";
        groups = ["arc"];
    }

    "ARC_NA" {
        weight = 0.0;
        description = "ARC signature absent";
        groups = ["arc"];
    }
}