通过Nginx启用HTTP验证(HTTP Authentication)

在后台我经常可以看到有扫描器通过wp-login.php穷举密码登陆试图wordpress,也可以看到web应用方面的各种服务,我们始终无法防御各种各样未知的web漏洞,所以我想引入http验证是非常不错的一种手段。
通过http验证我们可以阻挡各种未经授权的访问以缓解各种漏洞。因为启用之后只有输入正确的用户密码才允许访问web内容。
首先配置HTTP认证我们需要创建认证账户密码文件。
我们可以通过openssl或者htapasswd来创建
方法1:htapasswd

方法2:使用openssl

创建了passwd文件(/etc/nginx/http_passwd)之后,我们需要修改Nginx的配置启用http验证。
Ubuntu上Nginx配置文件在/etc/nginx/sites-enabled 下面。
我们这里对应是/etc/nginx/sites-enabled/exvs
为需要保护的文件或者目录添加类似下面这样的内容

关于配置的详细信息可阅读Nginx文档:https://nginx.org/en/docs/http/ngx_http_auth_basic_module.html
最后重启Nginx
systemctl restart nginx
再次访问制定的文件或者目录则需要http验证了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注