Laravel Passport密钥文件设为所有人可读是否安全?
Laravel Passport密钥文件权限安全性分析
你的当前密钥文件权限配置不安全,具体问题和修复方案如下:
权限问题说明
当前密钥文件权限:
-rwxrwxr-- 1 sammy www-data 3322 Mar 11 14:32 oauth-private.key -rwxrwxr-- 1 sammy www-data 812 Mar 11 14:32 oauth-public.key
oauth-private.key是Passport签名JWT令牌的核心私钥,一旦被非授权用户读取,对方可以伪造合法的访问令牌,直接绕过认证机制获取系统权限,风险极高。当前权限中其他用户(others)拥有r--读取权限,意味着服务器上所有其他用户账号都能读取该私钥。- 虽然
oauth-public.key设计上是用于验证令牌的公开密钥,但遵循最小权限原则,也不应该开放给所有用户读取。
修复步骤
针对两个密钥文件调整权限,仅允许文件所有者和www-data组访问:
- 调整私钥权限:
sudo chmod 660 storage/oauth-private.key
- 调整公钥权限:
sudo chmod 660 storage/oauth-public.key
完成后,密钥文件的权限应变为:
-rw-rw---- 1 sammy www-data 3322 Mar 11 14:32 oauth-private.key -rw-rw---- 1 sammy www-data 812 Mar 11 14:32 oauth-public.key
这样既保证了Laravel应用进程(属于www-data组)能正常读取密钥,又杜绝了其他无关用户的访问权限。
内容的提问来源于stack exchange,提问作者adam78
相关产品推荐
相关产品推荐

