我正在尝试为组织内的特定简单服务实现“无密码”的Kerberos身份验证(票证过期时除外)。 (完全公开:它不是Web服务,而是通过SSH的“远程过程执行”。)我宁愿仅使用Bash或Python。
假设用户将其Kerberos凭据缓存文件(默认情况下是在/tmp/krb5cc_$(id -u)
登录到客户端计算机时通过客户端脚本)传递给位于另一台计算机/服务器上的我的服务。
是否可以通过某种方式确定该用户是否确实是他们声称的身份,即根据我们的Kerberos / AD对他们进行身份验证?我可以运行:
klist -s ${cache_file}
...并捕获$?
中的返回码(0表示高速缓存文件可读且未过期),但是klist
确实是足够的真实性测试吗?例如。如果恶意用户设置了自己的Kerberos服务器,他们是否可以成功使用该服务器上的Kerberos票证呢?