WordPress的REST API在安装后便默认开启在/wp-json/路由下,不加额外配置就有数十个端点公开可访问:用户列表(/wp/v2/users)、文章、分类、媒体……这些信息看起来无关紧要,对自动扫描的脚本来说却构成了真实的攻击面。服务器日志中常看到每天数百次对/wp-json/wp/v2/users的请求,执行者就是自动扫描器。它们能抓取管理员的别名,让暴力破解攻击的准备成本大幅下降。因此安全化的第一步,是准确识别哪些端点暴露在外,以及它们到底应该向谁开放。
端点盘点是一项无法绕开的工作。你可以使用WP-CLI执行wp rest-api endpoint list,或者借助Postman这类工具,把已注册的全部路由映射出来。每一条端点都要标注所需认证等级(permission_callback)、允许的HTTP方法(GET、POST、PUT、DELETE)以及返回的数据性质。这份初始审计会清晰告诉你:哪些东西必须优先加以限制。
WordPress 5.6引入的应用密码功能提供了一条简单有效的认证路径。它能给第三方应用生成专用的身份令牌。每个令牌独立于主密码,可随时吊销,且绑定到一个特定用户。对于无头集成、迁移脚本或调用REST API的持续集成/持续交付工具而言,这是不依赖外部库就能最快落地的方案。
用法很直接:在WordPress用户的个人资料页,进入“应用密码”区域,为令牌起一个清晰名称(比如“Deploy script staging”),系统会生成一串由空格分隔的随机令牌,类似kc8h d7s2 mPqR x9Lv w3Zy。使用时,将令牌与用户名配对,放入HTTP头的Authorization字段,类型为Basic并做Base64编码。后续所有用这个令牌发起的请求,都会沿用绑定用户的权限。生产环境中,务必把应用密码关联到一个专门的用户帐户,并结合最小权限原则来分配能力。
可以说,REST API的保护已经从一个可选项变成了必选项。自动攻击规模在扩大,而应用密码这种原生机制,恰恰绕开了插件依赖和外部服务的复杂性,让安全配置回归到WordPress自己的控制台与命令行里。把审计端点、约束访问、实施认证这三件事串联起来,就能在2026年的环境中为你的站点筑起一道足够扎实的第一道防线。
热门跟贴