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 ServerLDAP
MIT Keroberos認証サービス
Dogtag Certificate SystemPKI(公開鍵基盤)
NTP時刻同期
DNSIPアドレス/ドメインの紐づけ
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ドメインの信頼関係追加