Nginx htpasswd防护
今天收到腾讯云的告警信息,原来是昨天部署的grafana被漏洞扫描识别到。 ## 1.安装必要的工具 如果系统提示找不到 htpasswd 命令,请执行以下命令安装工具包: sudo apt update && sudo apt install -y apache2-utils ## 2. 生成密码文件 在终端执行以下命令(将 your_username 替换为你想要设置的登录账号名): sudo htpasswd -c /etc/nginx/.htpasswd your_username 执行后,系统会提示你输入两次密码。 注意:在输入密码时,终端不会显示任何字符(包括星号),这是正常的 Linux 安全机制。输完按回车即可。 ## 3. 验证文件是否生成 你可以查看一下文件内容,确保它已经生成: cat /etc/nginx/.htpasswd ## 4.在 Nginx 中启用 在nginx 在 location / 段落内添加如下内容添加如下: auth_basic "Restricted Access"; auth_basic_user_file /etc/nginx/.htpasswd; ## 5.重启 Nginx 使配置生效 sudo nginx -t # 检查配置语法是否正确 sudo systemctl reload nginx ## 6.验证 ### 命令解析: -I:只获取 HTTP 头信息(快速查看,不下载网页内容)。 -L:跟随重定向(如果服务器返回 301/302,它会自动追踪最终到达的页面)。 -w:输出更详细的状态码和内容类型。 当浏览器收到 401 Unauthorized 和 WWW-Authenticate 头部时,意味着 Nginx 已经成功接管了该服务的入口。任何自动化扫描器或攻击者在访问该域名时,只会收到这个“未授权”的信号,根本无法触发后面的 Grafana 业务逻辑,也无法探测到具体的服务指纹。 ...