1. 概要
スパムチェックしたくないものを、ホワイトリストとして、記述します。
以下、「root」ユーザ権限で。
2. IP アドレスリスト
「203.0.113.5」「198.51.100.0/24」(つまり「CIDR」形式での記述も可)をホワイトリストに加える場合。
vi /usr/local/etc/rspamd/maps.d/whitelist_ip.map
下記を記述します。
203.0.113.5
198.51.100.0/24
3. email アドレスリスト
「email」アドレス「ceo@example.com」、ドメイン「partners.org」をホワイトリストに加える場合。
vi /usr/local/etc/rspamd/maps.d/whitelist_from.map
下記を記述します。
ceo@example.com
@partners.org
4. リスtの読み込み設定
前項、前々項を読み込んで、ホワイトリストとして採用するために。
vi /usr/local/etc/rspamd/local.d/multimap.conf
下記を記述します。
whitelist_ip
{
type = "ip";
map = "/usr/local/etc/rspamd/maps.d/whitelist_ip.map";
symbol = "WHITELIST_IP";
description = "Whitelist by IP address/range";
}
whitelist_from
{
type = "from";
filter = "email";
map = "/usr/local/etc/rspamd/maps.d/whitelist_from.map";
symbol = "WHITELIST_FROM";
description = "Whitelist by from address/domain";
}
さらに、ホワイトリストにはいっていれば、スコアが高くてもスルーさせるために。
vi /usr/local/etc/rspamd/local.d/force_actions.conf
下記を記述します。
WHITELIST_FORCE
{
action = "accept";
expression = "WHITELIST_FROM | WHITELIST_IP";
description = "Force accept if sender OR IP is whitelisted";
}
5. チェック・起動
記述した内容を確認します。
rspamadm configdump multimap
*** Section multimap ***
・・・ 略 ・・・
whitelist_ip {
type = "ip";
map = "/usr/local/etc/rspamd/maps.d/whitelist_ip.map";
symbol = "WHITELIST_IP";
}
whitelist_from {
type = "from";
filter = "email";
map = "/usr/local/etc/rspamd/maps.d/whitelist_from.map";
symbol = "WHITELIST_FROM";
}
*** End of section multimap ***
「whitelist_ip」「whitelist_from」が、正しく表示されていれば、よいかと思います。
rspamadm configdump force_actions
*** Section force_actions ***
WHITELIST_FORCE {
action = "accept";
expression = "WHITELIST_FROM | WHITELIST_IP";
description = "Force accept if sender OR IP is whitelisted";
}
*** End of section force_actions ***
記述した内容が、正しく表示されていれば、よいかと思います。
rspamadm configtest
syntax OK
を確認して。
再起動。
service rspamd restart
6. 確認
「force_actions」を確認するには、スパムメールを書かなければならないので、ここでは割愛します。
全く同じ内容のメールをホワイトリストに適合するものからと、ホワイトリストに適合しないものから送ってみました。
件名「sample」、文面「sample」で送りましたらば。
ホワイトリストに適合するものからのヘッダを抜粋すると。
X-Spamd-Result: default: False [-0.70 / 6.00];
DMARC_POLICY_ALLOW(-0.50)[example.com,quarantine];
R_DKIM_ALLOW(-0.20)[example.com:s=mail];
R_SPF_ALLOW(-0.20)[+ip4:203.0.113.5];
ONCE_RECEIVED(0.20)[];
MIME_GOOD(-0.10)[text/plain];
RCVD_NO_TLS_LAST(0.10)[];
RCVD_VIA_SMTP_AUTH(0.00)[];
ARC_NA(0.00)[];
RCVD_COUNT_ONE(0.00)[1];
RCPT_COUNT_ONE(0.00)[1];
MIME_TRACE(0.00)[0:+];
WHITELIST_IP(0.00)[203.0.113.5];
MID_RHS_MATCH_FROM(0.00)[];
FROM_EQ_ENVFROM(0.00)[];
FROM_HAS_DN(0.00)[];
SINGLE_SHORT_PART(0.00)[];
TO_MATCH_ENVRCPT_ALL(0.00)[];
PREVIOUSLY_DELIVERED(0.00)[someone@sing.ne.jp];
TO_DN_ALL(0.00)[];
WHITELIST_FROM(0.00)[ceo@example.com];
DKIM_TRACE(0.00)[example.com:+]
ホワイトリストに適合しないものからのヘッダを抜粋すると。
X-Spamd-Result: default: False [3.50 / 6.00];
RBL_SENDERSCORE_REPUT_1(3.50)[157.7.106.13:from];
BAD_REP_POLICIES(0.10)[];
MIME_GOOD(-0.10)[text/plain];
ARC_NA(0.00)[];
RCPT_COUNT_ONE(0.00)[1];
DMARC_POLICY_ALLOW(0.00)[scrum-software.com,none];
RCVD_COUNT_ONE(0.00)[1];
RCVD_VIA_SMTP_AUTH(0.00)[];
MIME_TRACE(0.00)[0:+];
RCVD_IN_DNSWL_NONE(0.00)[157.7.106.13:from];
DWL_DNSWL_NONE(0.00)[lolipop.jp:dkim];
R_SPF_ALLOW(0.00)[+ip4:157.7.104.0/22];
SINGLE_SHORT_PART(0.00)[];
RCVD_TLS_LAST(0.00)[];
FROM_EQ_ENVFROM(0.00)[];
FROM_HAS_DN(0.00)[];
MID_RHS_MATCH_FROM(0.00)[];
TO_MATCH_ENVRCPT_ALL(0.00)[];
TO_DN_ALL(0.00)[];
PREVIOUSLY_DELIVERED(0.00)[someone@sing.ne.jp];
R_DKIM_ALLOW(0.00)[dkim.lolipop.jp:s=20240109];
DKIM_TRACE(0.00)[dkim.lolipop.jp:+]
「-0.70」と「3.50」で、スコアに違いが出ていることが、わかります。
7. 参考サイト
本ページは、「ChatGPT」くんを参考にさせていただきました。
何度もだまされましたけどね。