セキュリティグループ

AWS で Windows サーバを構築してハマったこと

はじめに

ディーネットのよろず請負の深見です。

ちょっとご無沙汰をしておりました。

今回は久々に AWS 環境で検証を行ったので、その折にセキュリティグループの設定でハマったことについてのお話になります。

検証をした構成について

今回は思い付きで Windows 関連ではお馴染みの Active Diretory (AD) サーバの構築および AD サーバの追加などを試してみようと早速始めてみました。

最近は、ファイルサーバの案件がしばしばあったりしますが、その際に AD が絡んでくることがあるのですが、あまり触る機会がなかったので、基本に戻って軽く構築をしてみました。

以下の構成で勧めました。

System Overview_1

2 サーバ共に AD サーバ兼ファイルサーバ (FS) として構築します。

OS:Windows Server 2022
ルートドメイン名:denet-test01.local (月並みなネーミングですが・・・)
DNSサーバは AD01 にプライマリーサーバになってもらいます。
ファイアウォールについては、各 Windows サーバでは無効にして、VPC のセキュリティグループで後述の設定内容で設定をしています。
(ネットワーク ACL は設定をするとややこしくないので、何も設定はしていません)

以降では、AD サーバ構築の詳細は今回は省略し、その構築の際にハマったことについて注意点としてお話します。

2 台目の Windows Server をメンバサーバとして追加しようとしたとき・・・

System Overview_2

1 台目の Windows サーバ (AD01) を構築し、AD の設定およびファイルサーバの設定は無事に終え、次に 2 台目の AD 兼 FS としての構築を終えて、さあ、2 台目の AD サーバを 1 台目の AD サーバのメンバサーバとして追加しようとした際に1つめの問題が発生しました。

通常、メンバサーバとして追加する場合、AD02 側で操作をして問題がなければ最後にドメイン管理者 (Administrator など) の認証でアクセス許可が完了して組み込み完了するのですが、ここでエラーとなりドメイン管理者の認証に進めない状況となりました。

エラーの詳細内容を確認したところ、DNS サーバへの問い合わせをし、AD01 への問い合わせをするのですが、その後はどうやら応答なしでエラーとなっている模様。

そこで気になったのは、ファイアウォールことセキュリティグループの設定でした。

今回、AD でドメイン メンバーが利用するポートに絞ってみようと以下を参考にして設定をしたはずでした。

ポートを使用するサービス プロトコル クライアント側ポート番号 DC 側ポート番号
PING ICMP
DNS TCP/UDP 一時ポート 53
Kerberos TCP/UDP 一時ポート 88
NTP UDP 123 123
RPC TCP 一時ポート 135
RPC TCP 一時ポート 一時ポート
NetBIOS-ns UDP 137 137
NetBIOS-dgm UDP 138 138
NetBIOS-ssn TCP 一時ポート 139
LDAP TCP/UDP 一時ポート 389
SMB TCP 一時ポート 445
KPasswd TCP 一時ポート 464
LDAP GC TCP 一時ポート 3268
LDAP SSL TCP 一時ポート 636
LDAP GC SSL TCP 一時ポート 3269
AD DS Web Services TCP 一時ポート 9389

一方、AD02 のセキュリティグループを確認したところ、LDAP (389:UDP) の設定が漏れていたことが判明しました。

具体的にはセキュリティグループは以下の内容で解消、落ち着きました。

[Public Subnet-1 (AD01) へのセキュリティグループ]

セキュリティグループルール ID IP バージョン タイプ プロトコル ポート範囲 ソース 説明
(省略) IPv4 すべての ICMP - IPv4 ICMP すべて 10.0.27.47/32 ping
(省略) IPv4 DNS (TCP) TCP 53 10.0.27.47/32 DNS (TCP)
(省略) IPv4 DNS (UDP) UDP 53 10.0.27.47/32 DNS (UDP)
(省略) IPv4 カスタム TCP TCP 88 10.0.27.47/32 Kerberos (TCP)
(省略) IPv4 カスタム UDP UDP 88 10.0.27.47/32 Kerberos (UDP)
(省略) IPv4 カスタム TCP TCP 135 10.0.27.47/32 RPC
(省略) IPv4 カスタム UDP UDP 137 10.0.27.47/32 NetBIOS-ns
(省略) IPv4 カスタム UDP UDP 138 10.0.27.47/32 NetBIOS-dgm
(省略) IPv4 カスタム TCP TCP 139 10.0.27.47/32 NetBIOS-ssn
(省略) IPv4 LDAP TCP 389 10.0.27.47/32 LDAP
(省略) IPv4 カスタム UDP UDP 389 10.0.27.47/32 LDAP (UDP)
(省略) IPv4 SMB TCP 445 10.0.27.47/32 AD / SMB
(省略) IPv4 カスタム TCP TCP 646 10.0.27.47/32 Kpasswd (TCP)
(省略) IPv4 カスタム UDP UDP 646 10.0.27.47/32 Kpasswd (UDP)
(省略) IPv4 カスタム TCP TCP 3268 10.0.27.47/32 LDAP GC
(省略) IPv4 RDP TCP 3389 XXX.XXX.XXX.XXX/32 Remote Desktop Port

[Public Subnet-2 (AD02) へのセキュリティグループ]

セキュリティグループルール ID IP バージョン タイプ プロトコル ポート範囲 ソース 説明
(省略) IPv4 すべての ICMP - IPv4 ICMP すべて 10.0.5.40/32 ping
(省略) IPv4 DNS (TCP) TCP 53 10.0.5.40/32 DNS (TCP)
(省略) IPv4 DNS (UDP) UDP 53 10.0.5.40/32 DNS (UDP)
(省略) IPv4 カスタム TCP TCP 88 10.0.5.40/32 Kerberos (TCP)
(省略) IPv4 カスタム UDP UDP 88 10.0.5.40/32 Kerberos (UDP)
(省略) IPv4 カスタム TCP TCP 135 10.0.5.40/32 RPC
(省略) IPv4 カスタム UDP UDP 137 10.0.5.40/32 NetBIOS-ns
(省略) IPv4 カスタム UDP UDP 138 10.0.5.40/32 NetBIOS-dgm
(省略) IPv4 カスタム TCP TCP 139 10.0.5.40/32 NetBIOS-ssn
(省略) IPv4 LDAP TCP 389 10.0.5.40/32 LDAP
(省略) IPv4 カスタム UDP UDP 389 10.0.5.40/32 LDAP (UDP)
(省略) IPv4 SMB TCP 445 10.0.5.40/32 AD / SMB
(省略) IPv4 カスタム TCP TCP 646 10.0.5.40/32 Kpasswd (TCP)
(省略) IPv4 カスタム UDP UDP 646 10.0.5.40/32 Kpasswd (UDP)
(省略) IPv4 カスタム TCP TCP 3268 10.0.5.40/32 LDAP GC
(省略) IPv4 RDP TCP 3389 10.0.5.40/32 Remote Desktop Port

検証での構築なので、Any で双方での許可するとしても良かったのですが、ここはきっちりと設定をしようとして、最初にハマってしまいました。
Winodws のドメイン環境で使用されるポートについては以下をご参照ください。

【参考】ドメイン環境で使用されるポートについて

さあ、2 台目のドメインコントローラーのインストールだ!(そして、またハマる・・・)

System Overview_3

AD02 をメンバサーバとして追加が完了したので、最後に AD02 をドメインコントローラー (DC) に昇格させて完了なので、ですがここでも問題が発生しました。

Ad02 には、AD 関連は未導入でしたので、「Active Directory ドメインサービス」をインストールして、その後に「このサーバーをドメインコントローラーに昇格する」を実行して、各種設定を進めて、インストール前の 前提条件のチェック で、またもやエラーとなり、インストールは待て!の状態に・・・。

確認をしてみると、どうやら AD01 が見つけられずにエラーとなっているようでした。
そういえば、セキュリティグループの設定で1つ保留にしていた設定がありました。

ポートを使用するサービス プロトコル クライアント側ポート番号 DC 側ポート番号
RPC TCP 一時ポート 一時ポート

この 「一時ポート」 って、一体なんぞやと調べるとマイクロソフトのネットワークらしい独自の設定でした。
動的ポートとして、49152 ~ 65535 の間の任意の空きポートを使用して、RPC 通信をするために必要となるようです。
よって、セキュリティグループで ポート範囲で「49152 ~ 65535」を許可するように設定する必要があります。
あらためて、この設定をそれぞれのセキュリティグループに追加しました。

改めて、

[Public Subnet-1 (AD01) へのセキュリティグループ]

セキュリティグループルール ID IP バージョン タイプ プロトコル ポート範囲 ソース 説明
(省略) IPv4 すべての ICMP - IPv4 ICMP すべて 10.0.27.47/32 ping
(省略) IPv4 DNS (TCP) TCP 53 10.0.27.47/32 DNS (TCP)
(省略) IPv4 DNS (UDP) UDP 53 10.0.27.47/32 DNS (UDP)
(省略) IPv4 カスタム TCP TCP 88 10.0.27.47/32 Kerberos (TCP)
(省略) IPv4 カスタム UDP UDP 88 10.0.27.47/32 Kerberos (UDP)
(省略) IPv4 カスタム TCP TCP 135 10.0.27.47/32 RPC
(省略) IPv4 カスタム UDP UDP 137 10.0.27.47/32 NetBIOS-ns
(省略) IPv4 カスタム UDP UDP 138 10.0.27.47/32 NetBIOS-dgm
(省略) IPv4 カスタム TCP TCP 139 10.0.27.47/32 NetBIOS-ssn
(省略) IPv4 LDAP TCP 389 10.0.27.47/32 LDAP
(省略) IPv4 カスタム UDP UDP 389 10.0.27.47/32 LDAP (UDP)
(省略) IPv4 SMB TCP 445 10.0.27.47/32 AD / SMB
(省略) IPv4 カスタム TCP TCP 646 10.0.27.47/32 Kpasswd (TCP)
(省略) IPv4 カスタム UDP UDP 646 10.0.27.47/32 Kpasswd (UDP)
(省略) IPv4 カスタム TCP TCP 3268 10.0.27.47/32 LDAP GC
(省略) IPv4 RDP TCP 3389 XXX.XXX.XXX.XXX/32 Remote Desktop Port
(省略) IPv4 カスタム TCP TCP 49152 - 65535 10.0.27.47/32 RPC (temporary port)

[Public Subnet-2 (AD02) へのセキュリティグループ]

セキュリティグループルール ID IP バージョン タイプ プロトコル ポート範囲 ソース 説明
(省略) IPv4 すべての ICMP - IPv4 ICMP すべて 10.0.5.40/32 ping
(省略) IPv4 DNS (TCP) TCP 53 10.0.5.40/32 DNS (TCP)
(省略) IPv4 DNS (UDP) UDP 53 10.0.5.40/32 DNS (UDP)
(省略) IPv4 カスタム TCP TCP 88 10.0.5.40/32 Kerberos (TCP)
(省略) IPv4 カスタム UDP UDP 88 10.0.5.40/32 Kerberos (UDP)
(省略) IPv4 カスタム TCP TCP 135 10.0.5.40/32 RPC
(省略) IPv4 カスタム UDP UDP 137 10.0.5.40/32 NetBIOS-ns
(省略) IPv4 カスタム UDP UDP 138 10.0.5.40/32 NetBIOS-dgm
(省略) IPv4 カスタム TCP TCP 139 10.0.5.40/32 NetBIOS-ssn
(省略) IPv4 LDAP TCP 389 10.0.5.40/32 LDAP
(省略) IPv4 カスタム UDP UDP 389 10.0.5.40/32 LDAP (UDP)
(省略) IPv4 SMB TCP 445 10.0.5.40/32 AD / SMB
(省略) IPv4 カスタム TCP TCP 646 10.0.5.40/32 Kpasswd (TCP)
(省略) IPv4 カスタム UDP UDP 646 10.0.5.40/32 Kpasswd (UDP)
(省略) IPv4 カスタム TCP TCP 3268 10.0.5.40/32 LDAP GC
(省略) IPv4 RDP TCP 3389 10.0.5.40/32 Remote Desktop Port
(省略) IPv4 カスタム TCP TCP 49152 - 65535 10.0.5.40/32 RPC (temporary port)

各セキュリティグループへ最後の設定追加を行った後は、無事に 前提条件のチェック をクリアして、インストールが完了しました。
これで、予定の検証環境構築は完了しました。 めでたい!

なお、「一時ポート(動的ポート)」については、以下をご参照ください。
【参考】Windows のサービス概要およびネットワーク ポート要件

おわりに

今回は、久々に Windows サーバでよくある AD 環境を構築しようとしてハマったことを紹介しました。

まあ、マイクロソフトのネットワーク環境に詳しい方にはご存知のお話でしたが、久しぶりの環境構築のためうっかりとして困りましたので、皆さんへの参考としてまとめてみました。

さて、初の予告として、次回はバックアップに関するお話を2~3回くらいに分けてお話しできればと考えています。

また、VMware 関連や K8s 関連、Docker 関連、Windows 関連(、AWS 関連もちょっと)と諸々のおもしろそうな内容のご紹介もできればと考えています。

それでは、この辺で失礼します。

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA