Grafana 被恶意扫描?教你用 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 UnauthorizedWWW-Authenticate 头部时,意味着 Nginx 已经成功接管了该服务的入口。任何自动化扫描器或攻击者在访问该域名时,只会收到这个“未授权”的信号,根本无法触发后面的 Grafana 业务逻辑,也无法探测到具体的服务指纹。

发表评论