Show Table of Contents
第2章 Identity Management サーバーのインストールとアンインストール
Identity Management (IdM) サーバー はドメインコントローラーで、IdM ドメインを定義して管理します。IdM サーバーを設定するには、以下を実行します。
- 必要なパッケージをインストールします。
- 設定スクリプトを使用してマシンを設定します。
Red Hat では、負荷分散と冗長性のためにドメイン内で複数のドメインコントローラーを設定することを強く推奨しています。これらの追加サーバーは、マスター IdM サーバーの レプリカ になります。
本章では、最初の IdM サーバーのインストールについて説明します。最初のサーバーからレプリカをインストールする方法については、4章Identity Management のレプリカのインストールとアンインストール を参照してください。
2.1. サーバーインストールの前提条件
2.1.1. ハードウェア推奨事項
RAM のサイズ設定はハードウェアで最重要事項になります。必要な RAM サイズを判断する際には、以下の推奨事項を考慮してください。
- 10,000 ユーザーおよび 100 グループには、最低 2GB の RAM と 1GB のスワップスペースを割り当てます。
- 100,000 ユーザーおよび 50,000 グループには、最低 16GB の RAM と 4GB のスワップスペースを割り当てます。
注記
基本的なユーザーエントリーまたは証明書のあるシンプルなホストエントリーのサイズは約 5 - 10 KiB になります。
大規模なデプロイメントでは、データのほとんどがキャッシュに保存されるため、ディスクスペースを増やすよりも RAM を増やす方が効果的です。
パフォーマンスを向上させるには、基礎となる Directory Server を調整することが可能です。詳細は、『Directory Server Performance Tuning Guide』のOptimizing System Performance を参照してください。
2.1.2. システム要件
Identity Management 4.4 は Red Hat Enterprise Linux 7 でサポートされています。DNS、Kerberos、または Directory Server などのサービスをカスタム設定していない、新規インストール直後のシステムに IdM サーバーをインストールします。
IdM サーバーをインストールすると、システムファイルを上書きして IdM ドメインを設定します。IdM は元のシステムファイルのバックアップを
/var/lib/ipa/sysrestore/
に作成します。
- 連邦情報処理標準 (FIPS: Federal Information Processing Standard) のサポート
- Red Hat Enterprise Linux 7.4 以降を使用して設定した環境の場合:
- FIPS モードを有効化したシステムで、新規の IdM サーバー、レプリカまたはクライアントを設定できます。インストールスクリプトでは、管理者の介入なしに、自動的に FIPS が有効化されているシステムを検出し、IdM を設定します。オペレーティングシステムで FIPS を有効化するには、『セキュリティーガイド』の「FIPS モードの有効化」を参照してください。
重要
以下の点に注意してください。- FIPS モードを無効にしてインストールした既存の IdM サーバーで FIPS モードを有効にすることはできません。
- FIPS モードが無効になっている既存の IdM サーバーに FIPS サポートを有効にした新規レプリカをインストールすることはできません。
Red Hat Enterprise Linux 7.3 以前を使用して設定した環境の場合:- IdM では、FIPS モードはサポートされません。システム上で FIPS を無効化してから、IdM サーバー、レプリカまたはクライアントをインストールし、インストール後も有効化しないでください。
FIPS モードに関する詳しい情報は『セキュリティーガイド』の「連邦情報処理標準 (FIPS: Federal Information Processing Standard)」を参照してください。 - Name Service Cache Daemon (NSCD) の要件
- Red Hat では、Identity Management マシン上で NSCD を無効にすることを推奨しています。NSCD を無効にできない場合は、代わりに SSSD がキャッシュを行わないマッピングに対して NSCD を有効化するようにしてください。NSCD と SSSD の両サービスはキャッシングを実行するので、これら両方をシステムが同時に使用すると問題が発生します。NSCD と SSSD の競合を避ける方法については、「システムレベルの認証ガイド」を参照してください。
- IPv6 がシステムで有効になっている必要がある
- IdM サーバーをインストールして実行するには、IPv6 がネットワーク上で有効になっている必要があります。Red Hat Enterprise Linux 7 システムではデフォルトで IPv6 が有効になることに留意してください。IPv6 を無効にしている場合は、Red Hat ナレッジベースの Red Hat Enterprise Linux で IPv6 プロトコルを無効または有効にする を参照して有効にします。
2.1.3. ホスト名および DNS の設定
警告
以下の点については、特に注意してください。
- テスト済みの機能する DNS サービスが利用可能であること。
- サービスが適切に設定されていること。
この要件は統合 DNS サービスのある IdM サーバーと、DNS なしでインストールされた IdM サーバーの両方に該当します。DNS レコードは、LDAP ディレクトリーサービス、Kerberos、および Active Directory 統合の実行を含むほとんどすべての IdM ドメイン機能において必須のものです。
プライマリー DNS ドメインと Kerberos レルムはインストール後には変更できないことに注意してください。
サーバーのホストは、DNS サーバーが IdM 内で統合されているか外部にホストされているかに関わらず、DNS を適切に設定している必要があります。
Identity Management は、サービスレコードに別の DNS ドメインを使用します。DNS レベルの競合を避けるために、IdM に使用するプライマリー DNS ドメイン は他のシステムと共有できません。
IdM クライアントのホスト名は、プライマリー DNS ドメインの一部となる必要はないことに注意してください。
注記
クライアント自体が IdM 参加する一方で、Active Directory DNS ドメインからのホスト名を使用してユーザーが IdM クライアントにアクセスできるようにする設定については、『Windows 統合ガイド』 の Active Directory を SSSD のアイデンティティープロバイダーとして使用する を参照してください。
サーバーのホスト名の検証
ホスト名は
server.example.com
のように完全修飾ドメイン名である必要があります。使用中のマシンのホスト名を確認するには、hostname
ユーティリティーを使用します。
[root@server ~]# hostname server.example.com
hostname
の出力は、localhost
または localhost6
になってはいけません。
重要
完全修飾ドメイン名は有効な DNS 名である必要があります。つまり、許可されるのは数字、アルファベット、ハイフン (-) のみです。ホスト名にアンダースコアのような他の文字があると、DNS エラーが発生します。また、ホスト名はすべて小文字を使用する必要があり、大文字は使用できません。
命名プラクティスに関する他の推奨事項については、Red Hat Enterprise Linux セキュリティーガイド を参照してください。
完全修飾ドメイン名は、ループバックアドレスに解決してはいけません。マシンの公開 IP アドレスに解決する必要があり、
127.0.0.1
に解決してはいけません。
正引きおよび逆引き DNS 設定の確認
- サーバーの IP アドレスを取得します。
ip addr show
コマンドは、IPv4 と IPv6 の両方のアドレスを表示します。- IPv4 アドレスは、
inet
で始まる行に表示されます。以下の例では、設定済み IPv4 アドレスは192.0.2.1
になります。 - IPv6 アドレスは
inet6
で始まる行に表示されます。scope global
のある IPv6 のみがこの手順では関連してきます。以下の例では、返される IPv6 アドレスは2001:DB8::1111
になります。
[root@server ~]# ip addr show ... 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:1a:4a:10:4e:33 brd ff:ff:ff:ff:ff:ff inet 192.0.2.1/24 brd 192.0.2.255 scope global dynamic eth0 valid_lft 106694sec preferred_lft 106694sec inet6 2001:DB8::1111/32 scope global dynamic valid_lft 2591521sec preferred_lft 604321sec inet6 fe80::56ee:75ff:fe2b:def6/64 scope link valid_lft forever preferred_lft forever
dig
ユーティリティーにホスト名を加えて、正引き DNS 設定を確認します。dig +short server.example.com A
コマンドを実行します。返される IPv4 アドレスは、ip addr show
が返す IP アドレスと一致する必要があります。[root@server ~]# dig +short server.example.com A 192.0.2.1
dig +short server.example.com AAAA
コマンドを実行します。コマンドがアドレスを返す場合は、ip addr show
が返す IPv6 アドレスと一致する必要があります。[root@server ~]# dig +short server.example.com AAAA 2001:DB8::1111
注記
AAAA レコードの出力が返されない場合でも、設定が間違っているわけではありません。出力がないということは、DNS 内でサーバーマシン向けに IPv6 アドレスが設定されていないというだけのことです。ネットワークで IPv6 プロトコルを使用する予定がない場合は、この状況でもインストールを続行できます。
dig
ユーティリティーに IP アドレスを加えて、逆引き DNS 設定 (PTR レコード) を確認します。dig +short -x IPv4 address
コマンドを実行します。サーバーのホスト名が出力に表示される必要があります。例を示します。[root@server ~]# dig +short -x 192.0.2.1 server.example.com
- 前のステップで
dig +short -x server.example.com AAAA
コマンドが IPv6 アドレスを返した場合は、dig
を使って IPv6 アドレスもクエリします。ここでも、サーバーのホスト名が出力に表示される必要があります。例を示します。[root@server ~]# dig +short -x 2001:DB8::1111 server.example.com
注記
前のステップでdig +short -x server.example.com AAAA
コマンドが IPv6 アドレスを返さなかった場合は、AAAA レコードのクエリは何も出力しません。これは正常な動作で、設定が間違っていることを示すものではありません。
前のステップでdig +short server.example.com
が IP アドレスを返した場合でも、別のホスト名が表示されたりホスト名が表示されない場合は、逆引き DNS 設定が間違っていることになります。
DNS フォワーダーの標準準拠の確認
統合 DNS の IdM を設定する際には、IdM DNS サーバーで使用するすべての DNS フォワーダーが Extension Mechanisms for DNS (EDNS0) と DNS Security Extensions (DNSSEC) の標準に準拠していることを確認してください。これを実行するには、各フォワーダーごとに個別に以下のコマンドの出力をチェックします。
$ dig +dnssec @IP_address_of_the_DNS_forwarder . SOA
コマンドの出力には、以下の情報が含まれているはずです。
- status:
NOERROR
- flags:
ra
- EDNS flags:
do
ANSWER
セクションにはRRSIG
レコードがある必要があります。
これらのいずれかがない場合は、使用している DNS フォワーダーのドキュメントをチェックして、EDNS0 と DNSSEC がサポートされかつ有効になっていることを確認してください。BIND サーバーの最新バージョンでは、
/etc/named.conf
ファイルで dnssec-enable yes;
オプションが設定されている必要があります。
出力例は以下のようになります。
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48655 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags: do; udp: 4096 ;; ANSWER SECTION: . 31679 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2015100701 1800 900 604800 86400 . 31679 IN RRSIG SOA 8 0 86400 20151017170000 20151007160000 62530 . GNVz7SQs [...]
/etc/hosts
ファイル
重要
/etc/hosts
ファイルは手動で変更しないでください。/etc/hosts
を変更した場合は、コンテンツが以下のルールに準拠していることを確認してください。
以下は、
/etc/hosts
ファイルが正しく設定されている例です。ホストの IPv4 および IPv6 localhost エントリーが適切に表示され、最初のエントリーで IdM サーバーの IP アドレスとホスト名がその後に続いています。IdM サーバーのホスト名は localhost
エントリーに含めることができない点に注意してください。
127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 192.0.2.1 server.example.com server 2001:DB8::1111 server.example.com server
2.1.4. ポート要件
IdM はサービスとの通信に多くのポートを使用します。IdM が機能するには、これらのポートが開いていて利用可能になっている必要があります。別のサービスが使用していたり、ファイアウォールがブロックしていてはいけません。
- 必須ポートの一覧は、「必須ポート一覧」 を参照してください。
- 必須ポートに対応している
firewalld
サービスの一覧は、「firewalld サービスの一覧」 を参照してください。
必須ポート一覧
表2.1 Identity Management のポート
サービス | ポート | プロトコル |
---|---|---|
HTTP/HTTPS | 80、443 | TCP |
LDAP/LDAPS | 389、636 | TCP |
Kerberos | 88、464 | TCP および UDP |
DNS | 53 | TCP および UDP |
NTP | 123 | UDP |
注記
IdM がポート 80 および 389 を使用していることについて心配は要りません。
- ポート 80 (HTTP) は、オンライン証明書ステータスプロトコル (OCSP) の応答と証明取り消し一覧 (CRL) を提供するために使用されます。これらは両方ともデジタル署名されているので、中間者攻撃に対して安全になっています。
- ポート 389 (LDAP) は暗号化に STARTTLS と GSSAPI を使用します。
これらに加えて、IdM はポート 8080 でリッスンすることができ、インストールによってはポート 8443 および 749 でリッスンできるものもあります。しかし、これら 3 つのポートは内部使用のみです。IdM はこれらをオープンにしておきますが、外部からアクセス可能である必要はありません。ポート 8080、8443、および 749 をオープンにすることは推奨されません。代わりにファイアウォールでこれらをブロックしてください。
firewalld サービスの一覧
表2.2 firewalld
サービス
サービス名 | 詳細参照先 |
---|---|
freeipa-ldap | /usr/lib/firewalld/services/freeipa-ldap.xml |
freeipa-ldaps | /usr/lib/firewalld/services/freeipa-ldaps.xml |
dns | /usr/lib/firewalld/services/dns.xml |
必須ポートの開放
firewalld
サービスが稼働していることを確認します。firewalld
が実行中かどうかを確認するには、以下を実行します。# systemctl status firewalld.service
firewalld
を起動し、システム起動時に自動的に起動するように設定するには、以下を実行します。# systemctl start firewalld.service # systemctl enable firewalld.service
firewall-cmd
ユーティリティーを使って必須ポートを開きます。以下のいずれかのオプションを選択します。firewall-cmd --add-port
コマンドを使用して個別ポートをファイアウォールに追加します。たとえば、デフォルトゾーンのポートを開くには、以下を実行します。# firewall-cmd --permanent --add-port={80/tcp,443/tcp,list_of_ports}
firewall-cmd --add-service
コマンドを使用してfirewalld
サービスをファイアウォールに追加します。たとえば、デフォルトゾーンのポートを開くには、以下を実行します。# firewall-cmd --permanent --add-service={freeipa-ldap,list_of_services}
firewall-cmd
設定をリロードして、変更が直ちに反映されるようにします。# firewall-cmd --reload
実稼働環境のシステムでfirewalld
を再読み込みすると、DNS 接続がタイムアウトされてしまう可能性があります。『Security Guide』の「コマンドラインインターフェース (CLI) を使ったファイアウォール設定のリロード」も参照してください。必要であれば、タイムアウトのリスクを回避するため、--permanent
オプションなしでこのコマンドを再度実行して、実行中のシステムに変更を適用します。- これはオプションです。 ポートが現在使用可能であることを確認するには、
nc
、telnet
、またはnmap
のユーティリティーを使用してポートに接続するか、ポートスキャンを実行します。
Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.