如果服务器具有负载均衡器,如何使用Fail2ban?

时间:2018-11-07 01:50:56

标签: nginx fail2ban

当前拓扑

当前服务器的体系结构类似于:

  

| ---服务器1 --- | -----------------------服务器2 ------------ -------- |
  负载平衡器-> Nginx-> WSGI Web应用程序(Flask)

问题

1。 Nginx日志没有要禁止的真实IP

当我第一次在Server 2中配置fail2ban时,它不起作用,因为nginx日志具有负载均衡器的IP地址。 因此,我更改了nginx的日志格式以打印实际IP值。

2。 iptable仅支持TCP级别

但是fail2ban无法正常工作,因为请求仍然与负载平衡器IP地址一起出现,并且iptable块的连接取决于TCP级别的IP地址。

计划

1。更改fail2ban的操作

如果我们可以将IP地址黑名单保存在特定文件(例如TXT)中,并且阻止连接取决于文本文件和X-Forwarded-For标头,则这将是解决此问题的最简单方法。

2。 WSGI Web应用程序中的拒绝连接

与上面相同,直到将IP地址保存在文本文件中为止,但是使用Web应用程序拒绝连接,而不是nginx Web服务器。 如果我使用某些模块,没什么大不了的,但不确定这种方法是否正确。

您能给我有关Plan1,Plan2的任何建议吗? 如果可以的话,也可以随时向我建议一个新计划。

谢谢

0 个答案:

没有答案