微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 fail2ban 只允许特定的 ip 连接到邮件帐户

如何解决使用 fail2ban 只允许特定的 ip 连接到邮件帐户

我们希望仅从特定 IP 地址访问我们服务器(postfix 和 dovecot)上的特定邮件地址。我的想法是为此使用fail2ban。

过滤器会是什么样子的?

解决方法

允许访问我们服务器上的特定邮件地址(postfix 和 dovecot)

为什么需要fail2ban?

编写简单的脚本 (systemd-unit) 创建一个规则或新链,允许预期的 IP 并为此邮件端口添加拒绝/丢弃默认策略, 并在启动时启动它,例如:

chain=INPUT
for p in smtp smtps pop3 pop3s imap imaps; do   
  for ip in 192.0.2.1 192.0.2.2 192.0.2.3; do
    iptables -A $chain -i $device -m state --state NEW -p tcp --dport "$p" -s "$ip" -j ACCEPT
  done
  iptables -A $chain -i $device -m state --state NEW -p tcp --dport "$p" -j REJECT
done

如果您需要一些动态许可(例如通过端口或 http-url-knowcking 等),您确实可以使用 fail2ban 做到这一点。

查看示例监狱 pass2allow-ftp 或相关的 RFE #1112

过滤器会是什么样子的?

过滤器的外观取决于将要监视的确切内容(例如,通过 url-knocking 您拥有的 http-server 访问日志格式,例如 nging 或 apache)或您需要监视的内容反应以允许 IP。在这种情况下,需要一个登录示例才能正确回答问题。

您也可以阅读 wiki :: Best practice # Reduce parasitic log traffic 为此类“监狱”提供合理的实现。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。