Nginx配置Basic_Auth登录认证
一般来说,僵尸网络的扫描行为都是全互联网大范围进行的,并且所探测的漏洞大多都是一些新爆发的cms漏洞(ThinkPHP)、或者是一些常见的框架组件漏洞(如Struts2),针对该特性,我们可以配置Basic Auth登录认证(ngx_http_auth_basic_module),来减少僵尸网络对我们web服务的侵扰。
注:Basic Auth登录认证适用于我们公开在互联网上但同时又希望不让他人访问的站点,因此,对于大流量网站,Basic Auth登录认证则不适用!
在访问的时候,需要弹出一个登录框来输入用户账号和密码,验证正确才可以访问。
1、密码创建
在开始配置Basic Auth登录认证前,我们需要使用htpasswd生成账号及密码(密码存放路径没有限制,可自定义路径)
注:htpasswd 是开源 http 服务器 apache httpd 的一个命令工具,用于生成 http 基本认证的密码文件。
密码创建命令:
htpasswd -c -d /www/tools/Auth/auth_file user
密码创建成功后,可先查看:
[root@VM_16_3_centos ~]# cat /www/tools/Auth/auth_file
xxx_user:aRR7B12lK021w
htpasswd其它常用命令如下:
更新密码:
[root@VM_16_3_centos 123.com]# htpasswd -b /www/tools/Auth/auth_file user password Updating password for user user
删除认证:
[root@VM_16_3_centos conf]# htpasswd -D /www/tools/Auth/auth_file user Deleting password for user user
密码创建完成后,可进行下一步的规则匹配
2、规则匹配
找到nginx配置文件,在server头中添加以下配置信息:
auth_basic "TETS"; //名称可自定义 auth_basic_user_file /usr/local/nginx/conf/passwd; //路径即htpasswd账号密码存放路径
注:
auth_basic 可设置为off或其它字符串,为off时表示不开启密码验证,或者#注释效果一样
auth_basic_user_file 为包含用户名和密码的文件,具体位置就是我们上一步使用htpasswd生成账号及密码的存放路径
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」