要让WebDAV目录真正安全,必须叠加访问控制、协议加固与权限隔离:禁用存在CVE-2026-27654漏洞的COPY/MOVE方法,强制HTTPS,使用bcrypt加密认证,严格限制请求方法,精准配置alias路径,存储目录权限设为750,并添加安全响应头。
要让 WebDAV 目录真正安全,不能只靠基础配置。Nginx 原生的 http_dav_module 本身功能有限,且存在已知高危漏洞(如 CVE-2026-27654),仅启用 dav_methods 并不等于安全——必须叠加访问控制、协议加固与权限隔离。
基本认证是第一道防线,但默认配置容易被绕过或弱口令爆破:
auth_basic + auth_basic_user_file,密码文件必须由 htpasswd -B 生成(bcrypt 加密),避免明文或弱哈希/etc/nginx/.webdav_users)需设为 640 权限,属主为 root:www-data,防止 Nginx 工作进程以外的用户读取原生模块支持的 COPY/MOVE 方法在 alias 配置下存在缓冲区溢出风险(CVE-2026-27654),生产环境应主动禁用:
dav_methods 中移除 COPY 和 MOVE
limit_except 锁定只允许必要方法:例如只开放 PUT、DELETE、MKCOL,其余一律拒绝PROPFIND 等扩展方法(依赖 nginx-dav-ext-module)也需同样限制,避免被用于目录遍历探测root 和 alias 的误用会导致写入越界或 404,同时加剧漏洞影响面:
/webdav/)时,必须用 alias /data/webdav/;,且目标目录真实存在、末尾有斜杠root /data/webdav; + location /webdav/ 组合,否则请求 /webdav/file 会实际写入 /data/webdav/webdav/file
www-data:www-data,权限设为 750(而非 755),禁止组外可读,防止同服务器其他服务窥探WebDAV 客户端(尤其是 Windows 映射驱动器)对协议细节敏感,不合规响应可能暴露路径结构或触发异常行为:
autoindex on; + autoindex_format xml;,否则 macOS/iOS 客户端无法解析目录列表return 301 https://$host$request_uri;,禁用纯 HTTP 访问add_header X-Content-Type-Options nosniff; 和 add_header X-Frame-Options DENY;,防 MIME 类型混淆与点击劫持