为什么我对 Apache2 httpd.conf 的 VPN 更改会使我们的服务器公开?

为什么我对 Apache2 httpd.conf 的 VPN 更改会使我们的服务器公开?

我希望我们的服务器可用没有如果客户端通过我们的内联网请求,则使用 LDAP 登录。看来所有内联网流量都来自 10.0* IP。我根据在线找到的其他 httpd.conf 将我们的 VirtualHost 修改为以下内容:

<VirtualHost *>

    ServerName <REDACTED>

    WSGIScriptAlias / <REDACTED>

    <Directory /var/server/server>
        AuthType Basic
        AuthName "<REDACTED>"
        AuthBasicProvider ldap
        AuthLDAPBindDN "uid=<REDACTED>,ou=<REDACTED>,dc=<REDACTED>"
        AuthLDAPBindPassword "<REDACTED>"
        AuthLDAPURL "<REDACTED>"
        AuthzLDAPAuthoritative On
        Require valid-user
        # I added/modified the following lines when I wanted to get rid of LDAP authentication for internal users
        Order deny,allow
        Deny from all 
        Allow from 10.0
        Satisfy any
     </Directory>

</VirtualHost>

但是,当我这样做时,我们的服务器无需 LDAP 访问权限即可从互联网访问!您知道我做错了什么吗?

答案1

您需要让您的代理设置一个类似的标头X-Forwarded-For(可能已经设置,具体取决于执行代理的内容),然后将其用于访问控制检查,如上所述这里

像这样......

Require valid-user
SetEnvIf X-Forwarded-For 10\.0\.\d+\.\d+$ proxy_env
Order allow,deny
Allow from env=proxy_env
Satisfy any

相关内容