5.1. FreeIPAのインストール/メンテナンス
5.1.1 FreeIPA
FreeIPAはLinuxの統合認証基盤のこと。
オープンソースで開発されており、KerberosやDNS, SELinuxなどを用いて統合された認証環境を提供する。
なお、IPAはIdentity, Policy, Auditの略である。
また、クライアントのコンポーネントとしてSSSDを使用している。
FreeIPAで管理できる対象(エンティティ)には以下の通り。
- ユーザ/グループ
- SMB共有
- SSH認証鍵
FreeIPAのコンポーネント
FreeIPAは以下のコンポーネントで構成されてる。
またFreeIPAのコンポーネントには汎用のLinuxシステムが統合されている。
| コンポーネント | 説明 | 
|---|---|
| 389 Directory Server | LDAP | 
| MIT Keroberos | 認証サービス | 
| Dogtag Certificate System | PKI(公開鍵基盤) | 
| NTP | 時刻同期 | 
| DNS | IPアドレス/ドメインの紐づけ | 
| SSSD | 識別/認証サービス管理 | 
| Certmonger | 証明書期限の監視/更新 | 
5.1.2. FreeIPAのインストール
FreeIPAは、インストール自体はスクリプト化されており容易にできる。
求められるスペックは以下の通り。
- ユーザ数 10,000、グループ数 100 … 最低 2GB の RAM と 1GB のスワップスペース
- ユーザ数 100,000、グループ数 50,000 … 最低 16GB の RAM と 4GB のスワップスペース
FreeIPAサーバ/ドメインのインストール
- ipa-server-install… IPAサーバのインストール
- ipa-client-install… IPAクライアントのインストール
- ipa-replica-install… IPAサーバのレプリカインストール
- ipa-replica-prepare… IPAサーバのレプリカ用イメージファイル作成
- ipa-replica-manage… IPAレプリカサーバの設定確認など
5.1.3. ADのレプリケーションとKerberosのCrossRealm認証
Kerberosではrealmという管理対象ノード群の枠組みがある。
realmは複数作成することができるが、複数のrealm間で相互に信頼関係を構築する方法をCrossrealmと呼ぶ。
CrossRealm認証によりADとの信頼関係を構築することで、ADドメインに参加しているユーザがLinuxマシンへSSOができるようになったり、Linuxドメインのサービスやリソースへアクセスできるようになる(Windowsクライアントの管理はできない)。
IPAとADとのCrossRealm認証はipa-adtrust-installによるSamba(CIFS)の構築とipa trust-addコマンドによる信頼関係の構築を行う必要がある。
sudo、autofs、SSHおよびSELinuxの統合
FreeIPAのクライアントではSSSDがデフォルトで構成される。
SSSDによって、sudoの統合、ホストベースのアクセス制御(HBAC)のポリシー、SELinuxユーザマッピングなどができるようになる。
これらの設定は、FreeIPAの4.0以降のバージョンでは基本的にインストール時に設定される。
- sudo … LDAPにファイルを登録することにより統一的に管理することができる
- SSH … LDAPに公開鍵をインストールすることで、ホストローカルな設定ファイルをドメイン対応させることができる
- SELinuxユーザマッピング … SELinuxでは、ホストベースのアクセス制御(HBAC)をドメインに提供する。リモートユーザや新しいホストの追加時に一貫した制御ポリシーを適用・管理できる
5.1.4. ipaコマンド
ipaコマンドはFreeIPAでユーザ・グループの管理やドメインの操作などを行うことができるコマンド。
ipa <コマンド> [パラメータ]| コマンド | 説明 | 
|---|---|
| user-add | ユーザの追加 | 
| user-del | ユーザの削除 | 
| group-add | グループの追加 | 
| group-del | グループの削除 | 
| user-find | ユーザの検索 | 
| group-add-member | グループへのユーザ追加 | 
| user-show | ユーザ情報表示 | 
| group-show | グループ情報表示 | 
| trust-add | ドメインの信頼関係追加 |