**FreeBSD のネイティブKerberos/LDAPを FreeIPA/IDM と統合する**

2026/02/18 19:29

**FreeBSD のネイティブKerberos/LDAPを FreeIPA/IDM と統合する**

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

要約:
この記事は、ネイティブのKerberosとLDAP認証を使用してFreeBSD 15をFreeIPAドメインに統合する方法を説明しています。Christian Hofstede‑Kuhn によるこのアプローチの先駆けとして言及されています。FreeBSD 15 の主な変更点は、Heimdal から MIT Kerberos への切替であり、これにより複雑な SSSD 設定を軽量な

nslcd(8)
デーモン(
net/nss-pam-ldapd
パッケージ)へ置き換えることで設定が簡素化されます。
管理者はまず pkg リポジトリを quarterly から latest に切替え、次に以下のパッケージをインストールします:
nss-pam-ldapd
pam_mkhomedir
sudo
、および
doas
。ホストは
ipa dnsrecord-add
ipa host-add
ipa-getkeytab
などのコマンドで IPA に登録され、生成された keytab は root 所有権と 0600 のパーミッションを付与して
/etc/krb5.keytab
にコピーされます。
作成される設定ファイルは次の通りです:

  • /etc/krb5.conf
    (Kerberos 設定)
  • /usr/local/etc/nslcd.conf
    (LDAP デーモン設定)
  • /etc/nsswitch.conf
    passwd
    group
    shadow
    の名前サービススイッチエントリ)
  • /etc/pam.d/sshd
    (SSH 用 PAM スタックで
    pam_krb5.so
    pam_mkhomedir.so
    を追加)
  • /usr/local/etc/sudoers
    (sudo 設定)
  • /usr/local/etc/doas.conf
    (doas 設定)

SSH は Kerberos 認証を許可するように設定されます (

GSSAPIAuthentication yes
など)。PAM は
pam_mkhomedir.so
によりホームディレクトリが自動的に作成されるように構成され、
/etc/pam.d/system
pam_krb5.so
行を有効にするとコンソールログインも機能します。
この記事は Kerberos チケットを使用した SSH ログイン、パスワード不要の sudo アクセス、およびシームレスなコンソール認証の成功例を示し、FreeBSD 15 が FreeIPA と統合されることでより簡単かつ安全に管理できることを実証しています。

本文

はじめに

この記事の最初の一文から、本文が全てクリスチャン・ホフステッド‑クーン(Larvitz)氏によって行われた作業に基づいていることを明確に示したいと考えています。彼が最近執筆された Integrating FreeBSD 15 with FreeIPA: Native Kerberos and LDAP Authentication を参照しており、すべてのクレジットは彼に帰属します。
ステップを共有するだけでなく、本ブログはFreeBSD のドキュメントを保管・管理する場所としても機能させたいと考えています。多くのブログは時間とともに消えてしまうため、私が去った後もこの知識が残るようにしたいのです。

動機

  • 個人的なバージョンを作成し、コードスニペットをすぐにコピー&ペーストできるようにする。
  • 詳細なコマンドと出力結果を提供する。
  • 便利な改善点(例:ローカルコンソールでのログイン)を追加する。

クリスチャン氏が不快にならないことを願っています。この記事については直接連絡してお知らせします。


なぜ今うまくいくのか

FreeBSD は 15.0‑RELEASE で Heimdal Kerberos 実装から MIT Kerberos に切り替わりました。この変更により、新しい方法が可能になり、以前の試みよりもはるかに簡素化されました。

以前の試み欠点
FreeBSD 13.2 を FreeIPA/IDM と接続Ports からカスタムパッケージを入手し、Mariusz Zaborski のコードが必要。多くの依存関係(D‑Bus、Python 等)を持つ sssd デーモンは複雑で、アップグレード時に脆弱。
FreeBSD 14.0‑STABLE を FreeIPA/IDM と接続上記と同様。

新しいアプローチでは MIT Kerberos と

net/nss-pam-ldapd
の軽量 nslcd(8) デーモンを使用します。技術的でない唯一の欠点は LGPL 2.1 / LGPL 3 ライセンスですが、FreeIPA/IDM を介した Linux ドメインへの接続には影響しません。


前提条件

  1. FreeIPA/IDM サーバー(旧 Connect FreeBSD 14.0‑STABLE to FreeIPA/IDM 記事の手順を参照)。
  2. pkg
    リポジトリを
    quarterly
    から
    latest
    に切り替える。
# mkdir -p /usr/local/etc/pkg/repos
# sed 's/quarterly/latest/g' /etc/pkg/FreeBSD.conf > \
   /usr/local/etc/pkg/repos/FreeBSD.conf
  1. 必要パッケージをインストール。
# pkg install -y nss-pam-ldapd pam_mkhomedir sudo doas
  1. DNS が FreeIPA サーバーを解決できない場合は、
    /etc/hosts
    に追加。
cat <<__EOF >> /etc/hosts
172.27.33.200  rhidm.lab.org   rhidm
172.27.33.215  fbsd15.lab.org  fbsd15
__EOF

FreeIPA サーバーの設定

IPA ホスト上で以下を実行。

# kinit admin
Password for admin@LAB.ORG:
# ipa dnsrecord-add lab.org fbsd15 --a-rec=172.27.33.215 --a-create-reverse
# ipa host-add fbsd15.lab.org
# ipa-getkeytab -s rhidm.lab.org -p host/fbsd15.lab.org@LAB.ORG \
                -k /root/fbsd15.keytab
# cp /root/fbsd15.keytab /usr/share/ipa/html/
# chmod 644 /usr/share/ipa/html/fbsd15.keytab

FreeBSD ホストの設定

  1. キートブをコピー
fetch -o /etc/krb5.keytab http://rhidm.lab.org/ipa/config/fbsd15.keytab
chmod 640 /etc/krb5.keytab
klist -k   # 内容確認
  1. sshd
    がキートブを読み取れるようにする
pw groupmod nslcd -m sshd
  1. Kerberos 設定ファイル (
    /etc/krb5.conf
    ) を作成
[libdefaults]
  default_realm    = LAB.ORG
  dns_lookup_kdc   = false
  dns_lookup_realm = false

[realms]
  LAB.ORG = {
    kdc          = rhidm.lab.org
    admin_server = rhidm.lab.org
  }

[domain_realm]
  .lab.org = LAB.ORG
  lab.org  = LAB.ORG
  1. nslcd
    の設定 (
    /usr/local/etc/nslcd.conf
    )
# RUN AS nslcd USER
uid nslcd
gid nslcd

# LDAP CONNECTION DETAILS
uri  ldap://rhidm.lab.org
base dc=lab,dc=org

# USE SYSTEM KEYTAB FOR AUTH
sasl_mech  GSSAPI
sasl_realm LAB.ORG

# FORCE /bin/sh SHELL
map passwd loginShell "/bin/sh"
  1. nslcd
    を有効化・起動
service nslcd enable
service nslcd start
  1. /etc/nsswitch.conf
    の更新
sed -i '.OLD' -E \
  -e 's/^group:.*/group: files ldap/g'   \
  -e 's/^passwd:.*/passwd: files ldap/g' \
  /etc/nsswitch.conf

結果として最小限のファイルは次のようになります。

group: files ldap
passwd: files ldap
hosts: files dns
networks: files
shells: files
services: compat
protocols: files
rpc: files
  1. ローカルユーザー検索をテスト
id vermaden   # UID/GID とグループが表示されるはず
  1. SSH で Kerberos を使用する設定

/etc/ssh/sshd_config
に追記。

# KRB5/GSSAPI AUTH
GSSAPIAuthentication      yes
GSSAPICleanupCredentials  yes
GSSAPIStrictAcceptorCheck no

再起動。

service sshd restart
  1. ホームディレクトリを自動生成

/etc/pam.d/sshd
の既存セッション行の直前に追加。

sed -i '.OLD' '/^session.*/i\
session optional pam_mkhomedir.so mode=0700' /etc/pam.d/sshd
  1. sudo 権限を付与
pw groupmod wheel -m vermaden

cat <<__EOF >> /usr/local/etc/sudoers
%wheel ALL=(ALL:ALL) NOPASSWD: ALL
__EOF
  1. doas
    の設定(任意)
permit nopass keepenv root   as root
permit nopass keepenv :wheel as root

コンソール Kerberos ログインの有効化

/etc/pam.d/system
内の
pam_krb5.so
行をコメント解除。

sed -i '.OLD' '/pam_krb5.so/s/^#//g' /etc/pam.d/system

これで仮想コンソールから Kerberos 資格情報でログインできるようになります。


まとめ

  • FreeBSD 15 が MIT Kerberos と
    nslcd
    を通じて FreeIPA に認証されます。
  • SSH は GSSAPI/Kerberos を利用して接続します。
  • 初回ログイン時にホームディレクトリが自動生成されます。
  • wheel グループにはパスワード不要で sudo 権限があります。
  • コンソールからも Kerberos でログインできます。

環境に合わせて手順を調整し、クリーンで保守性の高い FreeBSD‑FreeIPA 統合をお楽しみください!

同じ日のほかのニュース

一覧に戻る →

2026/02/19 3:37

**「宇宙的にユニークなID」**

## Japanese Translation: > **概要:** > 本文では、真にグローバルなユニーク識別子は衝突を避けるために極めて長くなるべきだと主張しつつ、実際には短いランダムIDや追加の複雑性を伴う決定論的分散アルゴリズムが有効であることを示しています。 > 宇宙の熱死(約 10¹²⁰ 回の演算)に先立つ計算上の物理制限から、絶対安全性を確保するには約 10²⁴0 の可能性―すなわち約 798 ビットの ID 空間が必要です。実務では、122‑bit UUID‑v4 が現実的データサイズに対して天文学的に低い衝突リスクを提供します。 > 中央カウンタや「Dewey」階層方式などの決定論的手法はオブジェクト数に対し対数スケールで拡張されますが、Binary、2‑adic、Token などの代替木構造アプローチは最悪の場合線形増加します。典型的な使用では多くの場合対数スケールで振る舞います。シミュレーションにより、数百万ノードの場合、最大 ID 長は異なる定数を持つ log n で伸びることが示されています。 > この結果から、長いランダム ID(理論上の安全性を確保するためには ≥798 ビット、実務では 122‑bit UUID)が採用されればグローバルな調整を回避し衝突リスクを無視できることが示唆されています。決定論的手法は追加インフラストラクチャを必要とし、ストレージや通信オーバーヘッドを増大させる可能性があります。また、署名・誤り訂正・バージョン管理などの補完策がシステム間でデータ整合性を維持するために必要になる場合もあります。

2026/02/19 6:18

女性用サイズ

## Japanese Translation: ## 要約 この記事は、米国の女性服のサイズシステムが壊れている―欠陥があり、一貫性がなく排他的である―と主張し、多様な体型を反映したカスタマイズ可能なサイズチャートへの移行を訴えている。 「バニティサイズ」が測定値を膨らませる一方、ラベルは変わらずに残っていることから、普遍的な基準が存在しないと指摘する。歴史データでは、標準サイズ8のウエストに合う女性は10 %未満であるにもかかわらず、多くの商品はそのテンプレートを前提として作られている。ブランドごとのチャートは大きく異なり、バスト・ウエスト・ヒップの範囲が混乱しやすい。また、オンライン注文ではサイズ不一致時に返品手数料が発生するケースもある。 このシステムの起源は1940年代に遡り、若い白人女性を基準としていた点でASTMも偏見を認めている。研究では2021‑23年の国立健康統計センター(NCHS)データと、2025年7月時点のマス・マーケット、ファストファッション、高級品を含む主要ブランドのサイズチャート(「レギュラー」と「プラス」サイズのみ)を用いた。著者自身が58件以上の身体測定値を収集しカスタムパターンを縫製した経験も示され、サイズミスマッチが明らかになっている。 この記事は業界に対して、ティーンエイジャーがトゥインからアダルト服へ移行する際に「年齢アウト」させる代わりに柔軟で包摂的なサイズ設定を採用し、返品率の低減・顧客満足度向上、データ駆動型サイズ提供へのシフトを促すべきだと訴えている。

2026/02/19 1:46

テイルスケール・ピアリレーは、現在一般利用可能となりました。

## Japanese Translation: **概要:** Tailscale は Peer Relays を一般公開し、すべてのプラン(無料 tier も含む)で高スループットと低レイテンシを実現できる本番用リレー経路を顧客に提供します。新しいリレーは静的エンドポイント (`--relay-server-static-endpoints`) をサポートし、AWS Network Load Balancer などの制限付きクラウドロードバランサーの背後で実行できるようにすることで、自動検出が失敗した場合にも機能します。 パフォーマンス向上はロック競合の削減と複数インターフェース間での UDP トラフィックの賢い分散によって実現され、クライアントは最適な経路を選択できるようになります。Peer Relays は従来のサブネットルーターに取って代わり、Tailscale SSH と MagicDNS を使用したフルメッシュ展開をプライベートサブネット内でも可能にします。 観測性はさらに強化されます。`tailscaled_peer_relay_forwarded_packets_total` や `tailscaled_peer_relay_forwarded_bytes_total` などのメトリクスが Prometheus 用に公開され、`tailscale ping` コマンドではリレー遅延、信頼性、および到達可能性が表示されます。この機能はすべての Tailscale プランで利用でき、CLI と ACL グラントを介して有効化でき、既存のリレー設定と共存するよう設計されているため、段階的に導入できます。 Peer Relays はエンドツーエンド暗号化、最小権限アクセス、およびシンプルな運用という Tailscale のコア保証を維持しつつ、テイルネット全体でインテリジェントかつレジリエントなパス選択を追加します。

**FreeBSD のネイティブKerberos/LDAPを FreeIPA/IDM と統合する** | そっか~ニュース