noumenia / guardian-milter
多用途安全milter。
1.9
2024-02-08 12:17 UTC
Requires
- php: >=8.0
- ext-iconv: *
- ext-posix: *
- ext-sockets: *
- noumenia/libmilterphp: *
README
_ _ _ _ _
__ _ _ _ __ _ _ __ __| (_) __ _ _ __ _ __ ___ (_) | |_ ___ _ __
/ _` | | | |/ _` | '__/ _` | |/ _` | '_ \ _____| '_ ` _ \| | | __/ _ \ '__|
| (_| | |_| | (_| | | | (_| | | (_| | | | |_____| | | | | | | | || __/ |
\__, |\__,_|\__,_|_| \__,_|_|\__,_|_| |_| |_| |_| |_|_|_|\__\___|_|
|___/
多用途安全milter。
Guardian-milter是一个Postfix/Sendmail milter,用于过滤各种类型的假冒、钓鱼和垃圾邮件。该milter执行精心设计的检查,并在SMTP对话期间使用通过/失败标题标记收到的邮件或拒绝它们。
功能
- 添加Authentication-Results标题
- 将失败的邮件复制到另一个电子邮件地址
- 在SMTP对话期间拒绝失败的邮件
- 删除From:标题中的名称部分
- 将失败的邮件以JSON格式保存
- 在连接(IP/主机名)上运行正则表达式
- 在HELO/EHLO字符串上运行正则表达式
- 在信封RCTP上运行正则表达式
- 在From名称中检测域名
- 在主题中检测域名
- 检测假WeTransfer邮件
- 检测假银行邮件
- 检测假马士基邮件
- 检测假LinkedIn邮件
- 检测假路易威登邮件
- 检测假DHL邮件
- 检测假USPS邮件
- 检测假香奈儿邮件
- 检测假ELTA邮件
- 检测假Facebook邮件
- 检测假密码过期邮件
- 拒绝具有已知问题文件扩展名的附件
- AbuseIPDB集成
- 基于IP置信度分数(AbuseIPDB)阻止邮件
- 基于来源国家(AbuseIPDB)阻止邮件
要求
- libMilterPHP
- PHP 8.0, 8.1, 8.2, 8.3
- iconv模块
- posix模块
- sockets模块
使用RPM包安装
您可以通过copr存储库安装guardian-milter,对于Alma/Rocky/Oracle Enterprise Linux和Fedora,只需使用
dnf copr enable mksanthi/noumenia
dnf install guardian-milter
使用Composer安装
您可以使用composer安装guardian-milter,要获取最新版本,请使用create-project命令,最后的点很重要,因为它告诉composer将文件保存到当前目录。
composer create-project noumenia/guardian-milter .
配置postfix以使用guardian-milter
编辑/etc/postfix/main.cf文件,添加或修改现有的smtpd_milters参数,使用guardian-milter的连接字符串。例如
smtpd_milters = inet:127.0.0.1:8895
如何使用
如果您通过RPM包安装,则已提供systemd服务,可以使用systemctl启动guardian-milter。默认情况下,guardian-milter将读取配置文件/etc/gu-milter.ini并在127.0.0.1端口8895上监听连接。
systemctl --now enable guardian-milter
如果您通过composer或手动安装,则gu-milter.ini文件将位于与guardian-milter可执行文件相同的目录中,可以使用--ini=...参数指定。以下是一系列命令行参数的完整列表
Usage: guardian-milter [OPTION]...
-V, --version display version information only
-h, --help display help about parameters
-v, --verbose enable verbose output to stdout
-u, --user=[USER] Effective user
-g, --group=[GROUP] Effective group
-p, --pid=[FILE] PID file
-l, --processlimit=[NUM] Process limit
-c, --connection=[STRING] Connection string
-a, --autoload=[FILE] LibMilterPHP autoloader (controller/common.inc.php)
-i, --ini=[FILE] Configuration file (/etc/gu-milter.ini)
--addHeader Add Authentication-Results header with pass/fail information
--reject Reject failed emails
--removeName Remove From: header name part
The connection string can be a UNIX socket or an IPv4/IPv6 address/port.
UNIX Socket...: unix:/run/gu-milter/guardian-milter.sock
Address/port..: inet:8895@127.0.0.1