Windows ADFS域控配置及维护
前言
这是一套之前一直在使用的ADFS验证登录的系统,架构是一台 win2012 server R2 的 ADFS 服务器(内还有 CS自签证书组件),另外是一台win2012 server R2 的 ADFS-Proxy 的 WEB远程代理服务器 对外域名访问; 由于自签证书未启动自动续期证书过期导致业务停止,现在我们来更新这个证书并创建他们的信任关系;
参考连接 https://blog.rmilne.ca/2014/04/28/how-to-install-adfs-2012-r2-for-office-365/
错误参考连接:https://blog.rmilne.ca/2015/04/20/adfs-2012-r2-web-application-proxy-re-establish-proxy-trust/
一、ADFS 服务器操作
1.打开mmc.exe->文件->添加或删除管理单元(里面找到“证书”添加)->选择”计算机账户”->保持下一步确定;
执行后再继续按下图操作:
使用相同秘钥申请一个新的证书,修改模板配置时,使用如下配置:
这样证书就申请完成了。
2.记录下该证书的指纹,打开ADFS 服务管理,修改通信证书为它
更新通信证书也可以用命令行来代替
dir cert:\LocalMachine\My #获取新证书指纹,找到刚创建的证书指纹
Set-AdfsCertificate -CertificateType Service-Communications -Thumbprint 27B0D8A0520D65396B3711B35C45B6901BB22B0D #设置服务通信证书
Restart-Service adfssrv #重启ADFS服务
更新SSL 证书绑定
#Set-AdfsSslCertificate -Thumbprint 27B0D8A0520D65396B3711B35C45B6901BB22B0D #设置SSL证书,不确定行不行,这里 我用其他命令来实现
netsh http show sslcert ##显示当前已经配置的证书信息记住它
#删除这
netsh http delete sslcert hostnameport=fs.xxx.com:443 (需要删除多个,fs.xxx.com:49443)
#删除后重新创建,这里命令不能一起执行先执行netsh 再执行 http 再执行你的ADD命令
netsh
http
add sslcert hostnameport=localhost:443 certhash=27B0D8A0520D65396B3711B35C45B6901BB22B0D appid={5d89a20c-beab-4389-9447-324788eb944a} certstorename=MY
add sslcert hostnameport=fs.xxxx.com:443 certhash=27B0D8A0520D65396B3711B35C45B6901BB22B0D appid={5d89a20c-beab-4389-9447-324788eb944a} certstorename=MY sslctlstorename=AdfsTrustedDevices
add sslcert hostnameport=fs.xxxx.com:49443 certhash=27B0D8A0520D65396B3711B35C45B6901BB22B0D appid={5d89a20c-beab-4389-9447-324788eb944a} certstorename=MY clientcertnegotiation=enable
最后重启下 adfs服务
3.准备导出刚刚的证书,导出到另外一台adfs proxy服务器中配置
二、ADFS Proxy服务器操作
1.将第一步中的 SSL证书 导入到本机证书池中,然后执行如下命令安装证书
##查看当前已经配置的证书
Get-WebApplicationProxySslCertificate
##安装新的指纹证书
Set-WebApplicationProxySslCertificate -Thumbprint 27B0D8A0520D65396B3711B35C45B6901BB22B0D
2.证书更新后如果信任关系通过不了,打开注册表 regedit.exe,将图片中的值改为1,(目前为2为已经配置了)
3.改为1后就可以重新配置这个信任关系,图片中的 servicename 改为你 fs.xxxx.com , 用户名密码 改为 你的 ad fs 服务器的 admin 账号密码 , 下一步 然后选择 你之前导入的证书,确认就可以完成配置
也可以用下面命令来完成 2,3步骤
输入如下命令后会弹出,账密对话框,这个就是填写 ad fs 服务器那边的账号密码
Install-WebApplicationProxy –CertificateThumbprint 27B0D8A0520D65396B3711B35C45B6901BB22B0D -FederationServiceName fs.xxxx.com
在代理上重新启动 AD FS 服务后,将在 AD FS 服务器和代理上记录成功消息。