
2026/08/02 18:06
Show HN: Bor – Linux デスクトップ向けオープンソースのポリシー管理ツール
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Bor v0.8.0 リリースにおける最も重要な更新は、Thunderbird、Microsoft Edge for Business、Firewalld のゾーンという 3 つの新しいポリシータイプの導入を含む主要なプラットフォームの拡張です。これらの追加により、管理者は単一の統一されたインターフェース内で XML を特定のディレクトリに記述することで、Flatpak とともに RPM/DEB および改ざん監視機能をサポートするメールクライアント、設定プレビュー付きのコールド用ブラウザ、ファイアウォールルールを管理できるようになります。新機能に加え、このバージョンでは PatternFly 6 に基づく包括的なユーザーエクスペリエンスの見直しを提供しており、アクセシビリティ基準を厳守しながらフルページ編集ツールを備えたモダンなデザインを実現しています。セキュリティは、エージェントのアイデンティティを証明書に結合して堅牢な認証を行う mTLS バインディングなど、重要な措置によって根本的に強化されました。また、従来の機密情報の暗号化をより安全な HKDF スキームへ移行し、すべての既知の依存関係の脆弱性を解消するとともに、監査ログにおけるスプレッドシート式計算公式の注入攻撃やレポジトリインポート時の SSRF、CSRF 攻撃など深刻なリスクをパッチ適用しました。開発者向けの更新として、React 19.2 へのアップグレードに伴い、最新のフロントエンドコードを実行するには Node.js 22.22 以降が必要です。全体として、このリリースはコアスタックのモダナイゼーション、動作ごとの細粒度 RBAC の実装によるユーザー管理の改善、新しいポリシー向けのプロトコルバッファスキーマの拡張を通じて、Bor をより安全でアクセシブルかつ多機能なエンタープライズ管理ツールへと変貌させました。
本文
Bor バージョン 0.8.0 リリースノート
Bor バージョン 0.8.0 がリリースされました。本リリースでは以下の主要な機能強化とセキュリティ強化が導入されています。
- 3 つの新たなポリシータイプの導入(Thunderbird、Microsoft Edge for Business、Firewalld ゾーン)
- フルスケールの Web ユーザーインターフェース(UI) リファクタリング
- より細粒度な RBAC(ロールベースのアクセス制御) の実装
- 専用の セキュリティ強化措置 の実施
詳細な変更内容は GitHub のリリースページ を参照してください。
新ポリシータイプの導入
Thunderbird ポリシータイプ
- Mozilla Thunderbird は、Firefox ESR と同一の仕組みを用いて登録されたデスクトップ環境において管理可能になりました。
- エージェントは、結合されたすべてのポリシーから生成される
ファイル(Thunderbird 標準形式)を記述します。managed_policies.json - 最後にバインドされたポリシーを削除すると、システムは元々のファイル構成に戻ります。
- Flatpak インストールも RPM/DEB インストールと同等に検出・管理され、管理ファイルは改ざん監視機能(tamper watcher)で保護されています。
- 外部からの編集が検出され、即座に復元されます。
- Web UI では、Thunderbird ポリシーカタログ全体を備えた完全なポリシーエディタを搭載しています。
Microsoft Edge for Business ポリシータイプ
- Linux で Edge を運用するファロット(組織単位)向けに対応しました。
- エージェントは、Edge の
ディレクトリ内にmanaged-policy
を記述します。bor_managed.json- 最後のバインドされたポリシーが削除されると、そのディレクトリから自動クリーンアップされます。
- Web UI では、Edge ポリシーカタログに基づくツリーベースのエディタを提供します。
- JSON 検証および設定プレビュー機能を実装しています。
Firewalld ゾーンポリシータイプ
- 新しい Firewalld ポリシータイプにより、登録されたノード上の firewalld ゾーンを管理可能になりました。
- 対象:サービス、ポート、転送ポート、詳細ルール、変装(Masquerade)、インターフェース、ソース、ゾーンのターゲットなど。
- エージェントはゾーン XML を
に記述し、/etc/firewalld/zones/
で検証後、firewalld を再起動します。firewall-cmd --check-config - 他の管理ファイルと同様に、ゾーンファイルも改ざん保護により守られています。
機能強化とセキュリティ
Polkit:可変条件
- Polkit ルールは
を用いて可変的な条件をサポートし、アクション変数に基づくルールマッチングが可能になりました。action.lookup()- 例:リムーバブルドライブのマウントのみを許可するなど。
- 1 つのルールの複数のアクション ID が正しく結合(
)される問題が修正されました。||
アクション別 RBAC
- ユーザーおよびロール管理は、単一の包括的な権限ではなく、アクション別の権限によって保護されます。
- これにより、管理業務のより細粒度な委任が可能になりました。
プロトコル駆動型ポリシーカタログ
- Web UI に表示される Firefox、Thunderbird、Chrome、Edge のポリシーカタログは、protobuf アノテーションから生成されています。
- サーバー、エージェント、フロントエンドで共有される「単一の真実」のデータソースとなっています。
Web UI リファクタリング
PatternFly 6 インターフェースを対象としたフルスケールの近代化作業が実施されました(複数の UX スプリントにわたって)。
ダッシュボード新外観
- サイドバーナビゲーション: グループ化された構造に変更。
- タイトル表示: 左揃えの単一ページタイトルへ変更。
- 統計タイル: プリフィルタリングされたリストへ drill-down できる機能を実装(例:
クリックでオフラインノードにフィルタリング)。[Offline]
ハイライトポイント
- URL ルーティング
- 各ページが実際の URL を持ち、ブラウザの戻る/進むボタンやディープリンクが機能します。
- 有効期限切れたセッションはログイン画面へリダイレクトされ、グローバルエラーバウンダリーによりホワイトスクリーンクラッシュを防ぎます。
- フルページのポリシーエディタ
- ネストされたモーダルではなく、ルーティングされた独立ページ(
)として実装。/policies/:id/edit - 各ポリシータイプ用のツリーベースエディタへの余地が確保されています。
- ネストされたモーダルではなく、ルーティングされた独立ページ(
- ポリシーセーフティレール
- 未保存の変更検知、破壊的変更タイプへの確認ダイアログ強化。
- Chrome/Edge 値向けの JSON 検証、リリース済みポリシー用の只読設定ビュー、ツリーエディタ内の設定プレビューなどが強化されています。
- スケーラブルリスト
- Nodes と Compliance リストでサーバーサイドのページネーション、フィルタリング、ソートに対応。
- すべてのリストページで検索、ソート、空状態(empty states)のハンドリングが改善され、数千ノードを持つ環境でも高速動作を維持します。
- 破壊的アクション保護
- リソース削除全件への「タイプ確認」ダイアログ実装。
- 最後の Super Admin の削除・無効化・降格を防止するサーバーサイドガード機能を実装。
- アクセシビリティ(WCAG 2.2 AA)対応
- ポリシーエディタ内のアクセシブルなツリーロール、aria-live ステータスメッセージ導入。
- PatternFly 6 デザイントークンによるフォーカスリングとダークモード/ハイクラスコントラスト対応。
- CI にアクセシビリティリンティングゲートを統合。
その他利便性向上の変更点
- リストビューからの操作: ポリシーのリリース/アンリリースが可能に。
- MFA バックアップコード: コピーまたはダウンロード機能追加。
- ログインフォーム: パスワード表示トグルと Caps Lock ヒントを追加。
- サイドバー: Fleet / Policy / System にグループ化。
プラットフォーム更新とセキュリティ強化
フロントエンド・サーバー更新
- フロントエンド
- React 19.2 および react-router 8.3 にアップグレード。
- TypeScript の型チェックが CI で強制実施。
- サーバーおよびエージェント
- 依存パッケージがバージョンアップ(例:gRPC 1.82.1、golang.org/x/crypto 0.52.0 など)。
セキュリティ強化措置
本リリースには専用の強化作業が含まれています。
- エージェントアイデンティティ: mTLS クライアント証明書に厳格にバインドされ、MFA/RBAC 強制パスがサーバー側で強化されました。
- TOTP 秘密鍵移行: レガシー SHA-256 暗号化された TOTP 秘密鍵は、最初の読み取り時に HKDF 由来の暗号化に変換されます(透明性の高い移行)。
- SSRF 防御: Ubuntu PPA および Fedora COPR リポジトリインポートヘルパーがリダイレクトベースの SSRF をブロック。許可リストされたリダイレクトターゲットのみを追従。
- 監査ログ保護: CSV エクスポート機能は、スプレッドシート式計算公式による注入攻撃から保護されます。
- パスワード管理: オート生成された初期管理者パスワードはサーバーログ(journald や集中管理ログ)に表示されず、root 専用ファイルに記述されます。
- TLS 証明書自動更新: サーバー TLS 証明書の SAN(Subject Alternative Name)が構成ホストネームと一致しなくなった場合、自動的に再生成されます。
- Dependabot アラート対応: 全ての開いている Dependabot アラートが解消され、react-router RSC CSRF 告警(GHSA-qwww-vcr4-c8h2)も修正済みです。
アップグレードに関する注意事項
アップグレードを行う際は、以下の点にご注意ください。
- エージェント更新の必須化
- 新しい Thunderbird、Edge、Firewalld ポリシータイプを強制するため、エージェントは v0.8.0 にアップグレードする必要があります。
- 古いエージェントは理解できないポリシータイプを無視します。
- プロトコルスキームの追加
- プロトコル駆動型ポリシースキームに
とthunderbird.proto
が追加され、polkit および edge メッセージも拡張されています。firewalld.proto - 外部ツール(proto/policy に基づくもの)は再生成が必要です。
- プロトコル駆動型ポリシースキームに
- 開発環境要件の変化
- フロントエンド開発には Node.js 22.22 以上が必須になりました。
ダウンロード
Debian/Ubuntu、RHEL/Fedora/SUSE、Alpine Linux、Arch Linux 向けのパッケージを入手できます。 対応アーキテクチャ:x86_64、aarch64、ppc64le。
詳しくは ダウンロードページ を参照してください。