阻止通过反向代理路由的公共 IP

阻止通过反向代理路由的公共 IP

我已经设置了路由器,将流量从特定端口转发到充当反向代理的服务器。该服务器基于 CentOS 7 和 Apache 2.4.6。我的一个后端服务器也是基于 CentOS 的,并且正在运行 ownCloud 实例。

我的目标是使用 fail2ban 阻止多次尝试输入错误密码(暴力破解)的公共 IP。为此,我已确保使用 X-Forwarded-For 将公共 IP 从反向代理传递到 ownCloud 服务器。我还可以从 fail2ban 状态中看到,多次尝试输入错误密码的公共 IP 确实被阻止了。

但是...由于流量是从反向代理传递的(而不是直接从外部世界传递),即使在 ownCloud 服务器上被阻止,公共 IP 仍可以继续访问 ownCloud 服务器。

在上述设置中,有什么方法可以阻止此类公共 IP?如果我没有记错的话,这可以在 NGINX 反向代理中通过添加“set_real_ip_from rev.proxy.ip.add.”来实现,但我没有找到与 apache 相关的任何内容。

我的代理配置,以备不时之需

    ServerName my.domain.com

    SSLEngine On
    SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
    SSLProtocol -All +TLSv1.2
    SSLHonorCipherOrder On
    SSLProxyEngine On
    SSLProxyVerify none
    SSLProxyCheckPeerCN off
    SSLProxyCheckPeerName off
    SSLProxyCheckPeerExpire off

    ProxyRequests Off
    ProxyPreserveHost On

    SSLCertificateFile /etc/letsencrypt/live/my.domain.com/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/my.domain.com/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/my.domain.com/chain.pem

    Header always set Strict-Transport-Security "max-age=15552000; includeSubdomains;"
    Header always set X-Frame-Options DENY
    Header set X-Content-Type-Options "nosniff"

    ProxyPass https://backend.ip/
    ProxyPassReverse https://backend.ip/

相关内容