我正在尝试配置sendmail以防止它通过RCPT TO:命令允许用户名枚举.
我一直在谷歌上搜索,从我所看到的,实现这一目标的最佳方法是在virtusertable中添加一个捕获所有电子邮件帐户.
所以我生成了一个新的sendmail.cf文件,其中包含以下指令:
FEATURE(`virtusertable',`hash /etc/mail/virtusertable')dnl
@ubuntu test
并重新启动sendmail,但它不起作用:
mail from:root@ubuntu 250 2.1.0 root@ubuntu... Sender ok rcpt to:root 250 2.1.5 root... Recipient ok rcpt to:fake 550 5.1.1 fake... User unknown
我在某个地方出错了吗?或者有更好的方法来实现这一目标吗?
谢谢你的帮助
如果要实现无限别名地址,do it like this:
LOCAL_CONFIG Kuser user -m -a.FOUND LOCAL_RULE_0 R$- < $=w . > $* $: $(user $1 $) < $2 . > $3 R$- . FOUND < $=w . > $* $@ catch-all < $2 . > $3
请记住,规则的左侧由右侧与制表符分隔.用上面的代码更新你的sendmail.mc之后运行sendmailconfig
但请记住,通过check_rcpt规则集检查发送到RCPT TO:命令的任何内容.要防止用户名枚举,您可能需要使用greylisting(我使用的是graymilter)等技术,并为greet_pause ClientConn和ClientRate设置正确的值.