配置网站的登录地址必须通过vpn才能访问

3968人浏览 / 0人评论

因公司需求把登录网址运行在公网上,怕黑客通过暴力破解拿下后台,公司领导下需求,需要访问http://liangzeyu.com/admin 这个地址需要通过vpn访问;

--------------------------------------------------------------------------------------------

在测试某个网站的时候建议先把80和443端口全部都禁止 不允许外网访问;

80和443端口只允许vpn主机访问,配置好后在openvpn主机用curl测试下;

最后的效果就是本地浏览器无法访问,但是在openvpn主机上curl是成功的;

一、先配置vpn可以访问目的网站

修改vpn配置文件,在配置文件添加push

示例:push "route 193.161.32.11 255.255.255.255"

push "route 目的网站公网  255.2555.255.255"

push "route 目的网站内网  255.2555.255.255"

二、然后我们在本地电脑开始连接vpn并查看是否多一了条路由

打开windows  cmd,使用route print -4查看路由信息

这是没有添加push的路由信息

添加路由之后

现在查看我们已经多了一条路由了,并通过内网访问成功

三、查看日志是否以VPN得ip访问的

在本地浏览器刷新,到访问的目标主机进行查看日志

现在的ip就是我的vpn的ip去访问的;

四、现在我们可以把被访问的地址的80和443端口全部打开,让所有的主机允许访问

五、在nginx配置deny模块

在nginx配置文件中配置deny访问登录连接只允许vpn的ip访问;

        location = /users/sign_in {
        allow xxx.xxx.xxx.xxx;
        deny all;
}
然后重启nginx;

六、访问测试

在没有连接vpn的情况下出现这种403属于是对的,应为deny模块拦截了;

那我们在连接上vpn试下;

访问成功!

 

全部评论