FreeIPA のインストレーションとSambaの統合

目次

概要

FreeIPAは、Linuxベースのネットワークにおける統合認証・認可サービスを提供するオープンソースのディレクトリサービスです。IPAは「Identity, Policy, Audit」の略で、主に以下のような機能を備えています:

  • LDAPディレクトリ(389 Directory Server)
  • Kerberosベースのシングルサインオン(SSO)
  • 認証局(Dogtag Certificate System)
  • DNS統合
  • SSSDによるクライアント認証
  • SELinux、sudo、SSHとの統合

本章では、FreeIPAのインストール方法や構成、AD(Active Directory)との統合方法、Kerberosのクロスレルム信頼(cross-realm trust)の設定について詳しく解説します。


1. FreeIPA のアーキテクチャと構成要素

FreeIPA は以下の主要コンポーネントで構成されています:

コンポーネント説明
389 Directory ServerLDAP サービスを提供。ユーザー、グループ、ポリシーを管理。
MIT Kerberosチケットベースの認証サービス。
Dogtag Certificate SystemPKI 機能、X.509証明書の発行・管理。
NTPタイムスタンプの正確性確保。Kerberos認証に必須。
BIND(DNS)IPAが自前のDNSを提供可能。
SSSDクライアント側の認証・キャッシュ制御。
certmonger証明書の更新管理。

2. FreeIPA のインストール準備

必須要件

  • OS:RHEL, CentOS, AlmaLinux, RockyLinux(バージョン8以降)
  • ホスト名:FQDNで設定
  • 固定IP
  • 正しいDNS設定(IPAの内部DNSを使うか外部DNSで名前解決できること)

事前設定例

hostnamectl set-hostname ipa.example.local
echo "192.168.1.10 ipa.example.local ipa" >> /etc/hosts

3. FreeIPA サーバーのインストールと初期化

必要パッケージのインストール

dnf install ipa-server

IPA サーバーの設定と初期化

ipa-server-install --setup-dns --no-forwarders

主な対話設定項目:

  • ドメイン名(例:example.local
  • リアルム名(例:EXAMPLE.LOCAL
  • 管理者パスワードの設定
  • DNS設定(内部DNSを使うかどうか)

Web UIへのアクセス

インストール後、https://ipa.example.local/ でWeb UIにアクセス可能になります。


4. FreeIPA クライアントの設定

クライアントのインストール

dnf install ipa-client

IPAクライアントのセットアップ

ipa-client-install

設定項目として:

  • IPAサーバーのFQDN
  • リアルム名
  • DNSでIPAを自動検出するか

5. Active Directory との統合

AD とのクロスレルム信頼の前提

  • 双方に DNS 解決可能であること
  • NTP 時刻同期
  • Kerberos リアルム名が異なる必要あり(例:EXAMPLE.LOCAL ⇔ AD.EXAMPLE.COM)

AD との信頼設定の流れ

  1. FreeIPA 側の準備:
dnf install ipa-server-trust-ad
ipa-adtrust-install
  1. AD信頼の確立:
ipa trust-add --type=ad ad.example.com --admin Administrator --password
  1. ADユーザーの認証確認:
id aduser@ad.example.com

6. FreeIPA と Samba の統合

FreeIPA は直接的にファイルサーバーとしてSambaを提供しませんが、Kerberos 認証や LDAP バックエンドとしての統合が可能です。

Samba で FreeIPA をバックエンドに使用

  • Sambaの smb.conf にて security = ads を設定
  • Kerberos TGT を取得し、Sambaサービスへアクセスを許可
kinit aduser
smbclient //ipa-server/share -k

7. sudo、SSH、SELinux の統合

sudo の統合

IPA Web UIまたはCLIからSudoルールを定義し、sssd を通じてクライアントに反映。

ipa sudorule-add sysadmin-rule
ipa sudorule-add-user sysadmin-rule --users=sysadmin
ipa sudorule-add-command sysadmin-rule --command=/usr/bin/systemctl

SSHキー管理

IPAユーザーにSSH公開鍵を登録可能。クライアントは sssd 経由で鍵を取得。

SELinuxとの統合

ユーザーごとのSELinuxコンテキストを設定し、ログイン時に適用可能(詳細は semanage login


8. 関連コマンドとファイル

ツール/ファイル説明
ipa-server-installIPAサーバーをセットアップ
ipa-client-installIPAクライアント設定
ipa trust-*ADとの信頼関係の管理
/etc/sssd/sssd.conf認証設定
certmonger証明書管理デーモン
/etc/named.confDNS設定
kinit, klist, kdestroyKerberos関連

章末問題(四択)

問1. FreeIPA に含まれない主要コンポーネントはどれか?

A. MIT Kerberos
B. BIND DNS
C. OpenLDAP
D. Dogtag Certificate System

解説

正解:C

FreeIPAは389 DSを使用し、OpenLDAPではない

問2. FreeIPAとADの統合に必要な設定はどれか?

A. 同じKerberosリアルムを使う
B. クロスレルム信頼を設定する
C. FreeIPAにSambaを必ずインストールする
D. OpenVPNを経由して連携する

解説

正解:B

Kerberosのクロスレルム信頼が前提

問3. FreeIPA で sudo ルールを配布する方法はどれか?

A. cronで /etc/sudoers をコピー
B. LDAPで sudo ルールを配信
C. IPA WebUIまたはCLIでsudoルールを作成
D. FreeIPAとは無関係

解説

正解:C

IPAのWebまたはCLIでsudoルール設定可能

問4. IPAクライアントに SSH 公開鍵を自動配布する仕組みはどれか?

A. rsyncで /home 配下を共有
B. IPA に SSH 公開鍵を登録し、SSSD 経由で配布
C. rootユーザーで scp
D. DNSに公開鍵を登録する

解説

正解:B

SSSDがIPAからSSH鍵を取得して反映


よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次