0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

FreeIPAを構成するOSSたち #1「FreeIPAとは」

0
Posted at

目的

FreeIPAのことを調べているうちにどのような仕組みで動いているのか詳しく知りたいと思い、今回記事を書くことにしました。

FreeIPAは単一のソフトウェアではなく、オープンソースコンポーネントの集合体です。
構築手順の記事は書きましたが、「中で何がどう連携しているのか」が分かるとトラブルシューティングも設計判断も格段に楽になります。

そもそもFreeIPAとは?

ひとことで表すと、複数のLinuxサーバーで使用するユーザー情報・認証・アクセスルールを一元的に管理するためのOSSです。

FreeIPAがない場合

  • ユーザーの追加・パスワード変更・sudo権限の変更・削除のたびに、すべてのサーバーで同じ作業が発生する
  • 数台なら対応できるが、サーバー台数 × ユーザー数が増えるほど管理箇所が増えていく

freeipa-oss-1-without-freeipa.png

FreeIPAがある場合

  • ユーザー情報・パスワード変更・sudoルールをFreeIPAでまとめて管理できる
  • サーバー台数やユーザー数が増えても各サーバー個別の設定作業を減らせるため、管理箇所を増やさずに運用しやすい

freeipa-oss-1-with-freeipa.png

実際にログインできるかどうかは、次の条件で決まります

  • 対象サーバーがFreeIPAに参加している
  • ユーザーが有効である
  • HBACルールなどでログインが許可されている
  • SSHやSSSDなどが正しく設定されている

FreeIPAの全体像

freeipa-oss-1-overview.png

FreeIPAはLinux環境向けに開発されているOSSの統合ID管理システムで、WindowsのActive Directoryに相当する機能を提供しています。大きな特徴はこれらの機能を一からすべて独自に実装しているのではなく、役割の異なる複数のOSSを組み合わせて実現していることです。

Almalinux9.6にFreeIPAサーバーを構築する記事はこちら

構成コンポーネント一覧

コンポーネント 役割 同種のソフトウェア
389 Directory Server ID・認証・ポリシーなどの情報を格納するLDAPディレクトリサーバー OpenLDAP
MIT Kerberos Kerberosチケットを発行し、認証とSSOを提供 MIT Kerberos KDCの個別構築・運用
SSSD クライアント側でID情報・認証・アクセス制御を仲介し、取得した情報をキャッシュ LDAP・KerberosクライアントとNSS・PAMの個別構成
Dogtag PKI 内蔵CAとして証明書の発行・失効やCRLの管理を行う OpenSSLなどを使ったCAの個別構築・運用
certmonger 証明書を取得・追跡し、有効期限が近づくとCAへの更新要求を自動化 cronと証明書更新スクリプトによる個別運用
BIND 統合DNSとして名前解決とサービス検出用のDNSレコードを提供(DNS構成時) BINDなどのDNSサーバーの個別構築・ゾーン管理
Apache httpd + ipa framework Web UIやipaコマンドが利用するHTTPS・JSON-RPCの管理インターフェース LDAP・Kerberos・DNS・CAなどの個別管理

OSSを個別に構築する場合との違い

これらのOSSは単体でも使えますが、手動で組み合わせると次の作業がすべて自分の責任になります。

  • LDAPスキーマとKerberosプリンシパルの対応付け

  • KDCのバックエンドをLDAPにする設定

  • サービスごとの証明書発行とキーテーブル(keytab)管理

  • SRVレコードの整備とクライアントからの自動発見

  • レプリケーション設計

FreeIPAはipa-server-install一発でこれらを整合性のとれた状態で構成し、以降はipaコマンドとWeb UIで一元管理できるようにしたものです。

動作確認: コンポーネントの実体を見る

構築済みのFreeIPAサーバーで、統合されているコンポーネントを実際に確認できます。

# FreeIPAを構成するサービスの一覧と状態
# ipactl status
Directory Service: RUNNING
krb5kdc Service: RUNNING
kadmin Service: RUNNING
named Service: RUNNING
httpd Service: RUNNING
ipa-custodia Service: RUNNING
pki-tomcatd Service: RUNNING
ipa-otpd Service: RUNNING
表示名 実体
Directory Service 389 Directory Server
krb5kdc / kadmin MIT Kerberos
named BIND
httpd Apache httpd + ipa framework
pki-tomcatd Dogtag PKI

まとめ

  • FreeIPAは、複数のLinuxサーバーで使うユーザー情報、認証、アクセスルールを一元管理する

  • FreeIPAは、役割の異なる複数のOSSを組み合わせた統合ID管理システムである

  • ipa-server-installによって各コンポーネントを連携した状態で構成できる

  • 構築後はipaコマンドとWeb UIから各機能を一元管理できる

参考資料

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?