windows server 2016に、AD FSサーバを構築する。

 

■AD FSインストール

サーバマネージャの役割と機能の追加から、AD FSを追加

 

■AD FS構成

・ADFSサービスアカウント用のドメインユーザ作成

ADDSのツールからgiveadream.comドメインの一般ユーザとして『fsuser』を作成

 

・SSL証明書と秘密鍵を作成

- 自己署名ルート証明書作成

せ7> openssl genrsa -aes256 -out /etc/pki/CA/private/cakey.pem 2048
せ7> openssl req -new -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.csr
せ7> openssl x509 -days 3650 -in /etc/pki/CA/cacert.csr -req -signkey /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem

せ7> touch /etc/pki/CA/index.txt
せ7> echo '1000' > /etc/pki/CA/serial

 

- サーバ証明書用csrとサーバ証明書秘密鍵作成

せ7> openssl genrsa 2048 > server.key
せ7> openssl req -new -key server.key > server.csr
・・・前略・・・
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:tokyo
Locality Name (eg, city) [Default City]:chiyoda
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:win2016.giveadream.com  ←AD FSのFQDNにする

・・・後略・・・

せ7> openssl ca -cert /etc/pki/CA/cacert.pem -keyfile /etc/pki/CA/private/cakey.pem -out server.crt -infiles server.csr

せ7> ls -ltr
合計 16
-rw-r--r--. 1 root root 1679  4月 21 17:15 server.key
-rw-r--r--. 1 root root 1025  4月 21 17:17 server.csr
-rw-r--r--. 1 root root 4686  4月 21 17:25 server.crt

pem形式のサーバ証明書と秘密鍵をpkcs12形式に変換

せ7> openssl pkcs12 -export -in server.crt -inkey server.key -out server.pfx
せ7> ls -ltr
合計 20
-rw-r--r--. 1 root root 1679  4月 21 17:15 server.key
-rw-r--r--. 1 root root 1025  4月 21 17:17 server.csr
-rw-r--r--. 1 root root 4686  4月 21 17:25 server.crt
-rw-r--r--. 1 root root 2661  4月 21 17:27 server.pfx

pkcs12形式自己署名サーバ証明書&秘密鍵(server.pfx)をwindowsサーバにコピー
 
・AD FS構成
- ADFS構成ウィザードを起動
→途中でサーバ証明書のインポートを求められるので、上記のサーバ証明書を指定
→途中で、kdsルートキーがないので作成するために下記のPowershellコマンドを実行するように求められるので実行。
> Add-kdsRootKey -EffectiveTime(Get-Date).AddHours(-10)
→ADFSサービスアカウントとして、上記で作成した『giveadream\fsuser』を指定
※グループ管理サービスアカウントを作成するのではなく、既存のドメインアカウントとして、上記で作成したgiveadream\fsuserを指定する。
 
→あとはウィザードに従って進む。
下記のようなwarningが出た場合は、
・・・フェデレーションサービスアカウントの構成に失敗しましたのでspnアカウントを手動で設定してください・・・的なメッセージが出たのでpowershellから下記を実行
> setspn -a host/adfssrv giveadream\fsuser
> setspn -a HTTP/win2016.giveadream.com giveadream\fsuser
> setspn -a HTTP/giveadreamADFS giveadream\fsuser
※ADFSのウィザードが成功した場合は、setspn -L fsuserを実行すると、
host/win2016.giveadream.com giveadream\fsuser
だけが表示された。
 
■テスト
ADFSへのログインURL
https://ADFSのFQDN/adfs/ls/IdpInitiatedSignOn.aspx
 
もうなんだかわけわかめ