API文档访问权限设置:宽带设备管理后台怎么管好接口权限

家里装了企业级宽带,路由器换成了支持API远程管理的型号,比如华为AR系列或者TP-Link TL-R600VPN,后台开了API服务,但一不小心把文档地址发群里,结果被邻居扫到了,试出了几个接口直接改了DNS——这事真发生过。

API文档页面不是随便谁都能点开的

很多宽带管理设备(尤其是政企用的光猫、OLT下挂网关)默认会把Swagger或ReDoc生成的API文档放在 /api/docs/swagger-ui.html 这类路径。界面看着挺专业,但没加权限的话,只要知道IP和端口,连手机浏览器输一遍就能看到全部接口、参数、甚至试调用按钮。

三步关紧这扇门

第一步:关掉匿名访问
登录设备Web后台(通常是 192.168.1.1 或运营商指定地址),找到「系统设置」→「API服务」或「开发者选项」,把“启用公开API文档”这类开关关掉。部分设备如锐捷RGOS,得进CLI敲命令:

no api-docs public-enable

第二步:设登录账号粒度
别只用一个admin账号应付所有事。在「用户管理」里新建个 api-reader 账号,密码强度设为8位含大小写+数字,再给它分配「只读API文档」权限(不给调用权限)。真要调试时,用这个号登录文档页,比直接裸奔强十倍。

第三步:绑IP或加Referer限制
如果设备支持Nginx或反向代理(比如你用树莓派做了个API网关),可以在配置里加两行:

allow 192.168.1.100;
deny all;
或者限制必须从内网管理页域名过来:
if ($http_referer !~ ^https?://192.168.1.1) { return 403; }

顺手检查两个容易漏的地方

一是旧版本固件可能把文档打包在静态资源里,路径像 /static/swagger/index.html,这种得进文件系统删掉对应目录(需SSH权限);二是某些定制光猫会把文档藏在HTTP响应头里带个跳转链接,抓个包就能发现,建议用curl测试:

curl -I http://192.168.1.1/api
看有没有 Location: 字段泄露路径。

宽带稳定靠硬件,安全靠细节。文档页面不是展示窗口,是第一道防线。