设置OpenVPN以限制对某些http dirs的访问

时间:2016-08-31 13:11:42

标签: wordpress apache .htaccess openvpn

我试图配置所有内容以便只允许VPN用户访问某些文件夹(wp-admin等),事情是通过遵循一些教程,如https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-ubuntu-14-04我可以连接到我的openvpn(它给出我是一个10.8.0.X ip到tun0,外部IP是我的服务器,当我在http://www.whatsmyip.org/检查时,但是当我在浏览器中进入我自己的服务器域时,它会看到我的真实IP(getenv(& #39; REMOTE_ADDR')显示我的真实IP而不是来自VPN的那个,所以我无法设置.htaccess文件来限制我自己的服务器IP。

作为上述教程配置的摘要,我有:

/etc/openvpn/server.conf

dh2048.pem
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
user nobody
group nogroup

的/ proc / SYS /净/的IPv4 / IP_FORWARD

1

/etc/sysctl.conf中

net.ipv4.ip_forward=1

的/ etc /默认/ UFW

DEFAULT_FORWARD_POLICY="ACCEPT"

/etc/ufw/before.rules

# START OPENVPN RULES
# NAT table rules
*nat
:POSTROUTING ACCEPT [0:0] 
# Allow traffic from OpenVPN client to eth0
-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
COMMIT
# END OPENVPN RULES

ufw status verbose:

root@XXX:/# ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), allow (routed)
New profiles: skip

To                           Action      From
--                           ------      ----
1194/udp                     ALLOW IN    Anywhere
22/tcp                       ALLOW IN    Anywhere
53 (Bind9)                   ALLOW IN    Anywhere
80/tcp (Apache)              ALLOW IN    Anywhere
443/tcp (Apache Secure)      ALLOW IN    Anywhere
1194/udp (v6)                ALLOW IN    Anywhere (v6)
22/tcp (v6)                  ALLOW IN    Anywhere (v6)
53 (Bind9 (v6))              ALLOW IN    Anywhere (v6)
80/tcp (Apache (v6))         ALLOW IN    Anywhere (v6)
443/tcp (Apache Secure (v6)) ALLOW IN    Anywhere (v6)

是否有遗漏或不同的解决方法?

提前谢谢你,

1 个答案:

答案 0 :(得分:1)

如果您的CMS是Wordpress,您可以通过安装插件来完成此操作。在wordpress的网站上找到受限制的网站访问插件,这个插件会; 限制对IP地址登录或允许的访问者的访问权限。包含许多处理被阻止访问者的选项。

使用此插件,您可以限制使用任何不同IP访问该页面的所有其他人

限制Content Pro是另一个功能强大的插件,如果您想为WordPress网站实施高级内容和网站访问限制,则值得考虑。 Restricted Content Pro为WordPress的仅限会员访问限制提供了最完整的解决方案之一。

.htaccess修改 - 您可以对.htaccess文件进行一些修改,以限制授权用户访问WordPress安装根目录中的某些文件夹或文件。如果使用专用IP,则可以阻止除IP地址以外的所有用户访问admin文件夹。如果您使用动态IP地址,请务必修改IP部分,否则您也将被阻止。

代码段:

命令拒绝,允许 允许从199.199.10.0(使用您的IP) 拒绝所有

您还可以使用某种形式的身份验证系统为管理区域添加另一层保护。这样,有权访问管理区域的其他用户将无法访问实际的管理文件,并且在外部入侵者或软件机器人的情况下也是如此(因为许多攻击是使用机器人进行的)。

此外,您可以限制对wp-config.php以及安装文件夹中其他单个文件的访问。例如,如果您在.htaccess文件的顶部下方包含代码段,则任何试图访问此文件的用户都将被拒绝访问。 这是代码片段:

订单允许,否认 否认所有人

默认的.htaccess文件包含一些您不应该破坏的基本WordPress功能,因此在对文件进行任何修改之前,请制作备份副本并确保其安全。

如果您希望在页面级别上阻止,请查看此页面以进一步说明:http://wpdatatables.com/restricting-access-specific-content-wordpress-site/