我有 50 个电子邮件用户(虚拟用户),使用 Dovecot、Postfix 和 Squirrelmail 以及 CentOS 6.0。我想允许一些用户全局访问 POP 和 IMAP,而其余用户只能从我的 LAN 访问。
我曾尝试使用 Dovecot 的allow_nets
功能,但这并不能满足我的要求。
如果我在 allow_nets 中允许 127.0.0.1,受限用户可以全局访问 Webmail。如果我在 allow_nets 中禁用 127.0.0.1,受限用户也无法从我的 LAN 访问 Webmail。以下是我的配置。
restricted virtual email user (/etc/dovecot/passwd file)
[email protected]:{CRAM-MD5}encrypted pass::::::allow_nets=127.0.0.1,192.168.1.55/32
global virtual email user (/etc/dovecot/passwd-file)
[email protected]:{CRAM-MD5}encrypted pass
答案1
使用 Webmail 访问邮件时,与 Dovecot 的连接直接由运行在相同的机器,因此无论用户在哪里,总是来自 127.0.0.1。Dovecot 无法知道用户从哪里访问 SquirrelMail。因此,您需要在 SquirrelMail 本身中(或者在 SquirrelMail 前面使用 iptables)实现对 webmail 的限制。
答案2
我发现了一个名为的 squirrelmail 插件ip_restriction
,它有助于限制基于 IP 的身份验证。