FSx for Windows File ServerのDNSエイリアス:SPN未登録でもアクセスできるが、Kerberos認証は使われない
はじめに
クラウドリライアビリティ2課 シノハラです。
Amazon FSx for Windows File Server で DNS エイリアスを使用する際、CNAME レコードの作成に加えて SPN(Service Principal Name)の登録が必要です。
本記事では、SPN未登録でもアクセスできてしまうが、実際にはNTLM認証にフォールバックしている挙動を検証し、Kerberos認証を有効化するための手順を整理します。
検証環境
- AWS Managed Microsoft AD(Standard Edition)
- ドメイン名: corp.example.com
- FSx for Windows File Server
- FSx NetBIOS 名: AMZNFSXABCD1234
- Windows EC2インスタンス: ドメイン参加済み
- DNSエイリアス: fileserver.corp.example.com
検証内容
- SPN未登録の状態でFSxにアクセスできるか
- どの認証方式が使われるか(NTLM / Kerberos)
- SPN登録後、認証方式はどう変わるか
検証結果
1. SPN未登録の状態でアクセステスト
CNAMEレコードのみ作成し、SPNは未登録の状態でアクセスしました。
# CNAMEレコード確認:実行コマンド Resolve-DnsName fileserver.corp.example.com -Type CNAME # 出力結果 Name Type TTL Section NameHost ---- ---- --- ------- -------- fileserver.corp.example.com CNAME 3600 Answer amznfsxabcd1234.corp.example.com
# FSxにアクセス:実行コマンド net use Z: \\fileserver.corp.example.com\share # 出力結果 The command completed successfully.
# Kerberosチケット確認:実行コマンド klist | Select-String -Pattern "fileserver|cifs" # 出力結果 (何も表示されない)
結果:
- ✅ アクセス成功
- ❌ FSx用のKerberosチケットなし
- 結論: NTLM認証にフォールバックしている
2. SPN登録後の動作確認
SPNを手動登録し、再度アクセスしました。
# SPN登録①:実行コマンド
setspn -S "HOST/fileserver.corp.example.com" AMZNFSXABCD1234
# 出力結果
Checking domain DC=corp,DC=example,DC=com
Registering ServicePrincipalNames for CN=AMZNFSXABCD1234,OU=FSx,OU=AWS Reserved,DC=corp,DC=example,DC=com
HOST/fileserver.corp.example.com
Updated object
# SPN登録②:実行コマンド
setspn -S "HOST/fileserver" AMZNFSXABCD1234
# 出力結果
Checking domain DC=corp,DC=example,DC=com
Registering ServicePrincipalNames for CN=AMZNFSXABCD1234,OU=FSx,OU=AWS Reserved,DC=corp,DC=example,DC=com
HOST/fileserver
Updated object
# 確認:実行コマンド setspn -L AMZNFSXABCD1234 | Select-String "fileserver" # 出力結果 HOST/fileserver HOST/fileserver.corp.example.com
# ネットワークドライブの接続解除:実行コマンド
net use Z: /delete
# 出力結果
Z: was deleted successfully.
# 認証キャッシュ(Kerberosチケット)のクリア:実行コマンド
klist purge
# 出力結果
Current LogonId is 0:0x2a37dd
Deleting all tickets:
Ticket(s) purged!
# FSxに再アクセス:実行コマンド
net use Z: \\fileserver.corp.example.com\share
# 出力結果
The command completed successfully.
# Kerberosチケット確認
klist | Select-String -Pattern "fileserver|cifs" -Context 2,3
# 出力結果
#1> Client: Admin @ CORP.EXAMPLE.COM
> Server: cifs/fileserver.corp.example.com @ CORP.EXAMPLE.COM
KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96
Ticket Flags 0x40a10000 -> forwardable renewable pre_authent name_canonicalize
Start Time: 5/12/2026 8:36:26 (local)
- ✅ Kerberosチケット発行
- ✅ Kerberos認証が使われている
- ✅ AES-256暗号化
比較表
| 状態 | アクセス | 認証方式 | Kerberosチケット | 暗号化 |
|---|---|---|---|---|
| SPN未登録 | ✅ 成功 | NTLM | ❌ なし | MD4/MD5ベース |
| SPN登録後 | ✅ 成功 | Kerberos | ✅ あり | AES-256 |
NTLM認証とKerberos認証の違い
AWS公式の推奨
AWS公式ドキュメントより:
Amazon FSx との転送中に、Kerberos ベースの認証と暗号化を使用することをお勧めします。Kerberos は、ファイルシステムにアクセスするクライアントに対して最も安全な認証を提供します。
出典: DNS エイリアスを使用したデータへのアクセス - Amazon FSx for Windows File Server
(原文: "We recommend that you use Kerberos-based authentication and encryption in transit with Amazon FSx. Kerberos provides the most secure authentication for clients accessing your file system.")
検証で確認できた違い
| 項目 | NTLM認証 | Kerberos認証 |
|---|---|---|
| 暗号化 | MD4/MD5ベース | AES-256 |
| チケット発行 | なし | あり(klistで確認可能) |
| AWS推奨 | - | ✅ 推奨 |
重要なポイント
「アクセスできる = 正しく設定されている」ではない
SPN未登録でもFSxにアクセスできてしまうため、以下のような誤解が生じやすいです:
- ❌ 「アクセスできたから設定完了」
- ❌ 「エラーが出ないから問題ない」
- ❌ 「動いているから大丈夫」
実際には:
- ⚠️ NTLM認証にフォールバックしている
- ⚠️ AWS推奨のKerberos認証が使われていない
確認方法
Kerberos認証が使われているか確認する方法:
# 接続後、Kerberosチケットを確認 klist | Select-String -Pattern "cifs/エイリアス名"
- チケットあり: ✅ Kerberos認証
- チケットなし: ⚠️ NTLM認証(SPN未登録の可能性)
SPN登録手順
1. FSxコンピューターアカウント名を確認
Get-ADComputer -Filter "Name -like '*fsx*'" | Select-Object Name, DNSHostName
2. SPNを登録
# 変数設定
$FSxComputerName = "AMZNFSXABCD1234" # 手順1で確認した名前
$AliasName = "fileserver.corp.example.com" # DNSエイリアス名
$AliasShortName = $AliasName.Split('.')[0] # 短縮名
# SPN登録
setspn -S "HOST/$AliasName" $FSxComputerName
setspn -S "HOST/$AliasShortName" $FSxComputerName
3. 確認
# SPN登録確認 setspn -L $FSxComputerName | Select-String "fileserver" # Kerberos認証確認 net use Z: /delete klist purge net use Z: \\fileserver.corp.example.com\share klist | Select-String -Pattern "cifs/fileserver"
まとめ
検証で分かったこと
SPN未登録でもアクセス可能
- しかし、NTLM認証にフォールバック
- Kerberosチケットは発行されない
SPN登録でKerberos認証が有効化
- AES-256暗号化が使用される
- AWS公式も推奨
「アクセスできる」だけでは不十分
- Kerberosチケットの発行を確認する必要がある
- 設定漏れに気づきにくい
推奨事項
DNSエイリアスを使用する場合は、以下を実施することを推奨します:
- ✅ CNAMEレコードを作成
- ✅ SPNを登録
- ✅ Kerberosチケットの発行を確認
チェックリスト
- CNAMEレコードが作成されている
- SPNが登録されている(
setspn -Lで確認) - FSxにアクセスできる
- Kerberosチケットが発行されている(
klistで確認)
最後のチェック項目が最も重要です。これを確認しないと、NTLM認証にフォールバックしていることに気づけません。
参考資料
- DNS エイリアスを使用したデータへのアクセス - Amazon FSx for Windows File Server
- DNS CNAME レコードの更新または作成 - Amazon FSx for Windows File Server
- Kerberos のサービスプリンシパル名 (SPN) の設定 - Amazon FSx for Windows File Server
篠原 佑弥
エンタープライズクラウド部 クラウドリライアビリティ課
1日10,000歩、1,000kcal消費が日課