今天收到腾讯云的告警信息,原来是昨天部署的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 业务逻辑,也无法探测到具体的服务指纹。