Bromure Web 4.0.0 — 土台を入れ替え、ブラウザを増やし、インストールを速く
Bromure Web 4.0.0 は、すべてのセッションが立つ「床」を作り直しました。Alpine に代わって Ubuntu 24.04 という本物の glibc ゲストが入り、そのおかげで公式の Google Chrome がサンドボックス内で Chromium と並んで動くようになり、プロファイルごとに選べます。インストール時に Mac 上でイメージを構築することもなくなりました。Bromure は署名済みのビルド済みイメージをダウンロードし、起動前に検証します。さらに Chrome を使うプロファイルは Chrome Enterprise Core に登録でき、セッション終了とともに消えるブラウザを Google Workspace 管理者が管理できます。Apple Silicon 向け、フリーかつオープンソース。
Bromure のセッションは、すべて使い捨ての仮想マシンの中で動きます。これは初日から 変わっておらず、4.0.0 で変わった点でもありません。変わったのはその下にあるすべて です。床をはがし、新しく打ち直しました。そしてその上では、初めて私たち自身が コンパイルしていないブラウザが動いています。
Alpine を出し、Ubuntu を入れる
ブラウザ VM はずっと Alpine Linux でした。小さく、速く、musl の上に築かれたもの
です。素晴らしい——世界の大半が glibc 向けに配布しているソフトウェアを動かしたく
なるまでは。プロプライエタリな Linux バイナリはどれも、そこで生き延びるために
支えを必要としました。こちらに互換レイヤー、あちらに LD_PRELOAD、DNS を正しく
保つための手書きのリゾルバスタブ。
4.0.0 はそれらをすべて Ubuntu 24.04 LTS に置き換えました。本物の glibc ゲスト
で、systemd が全体を指揮し、Bromure の各エージェントにひとつずつサービスが割り
当てられます。ベンダーの .deb パッケージは、作者が意図したとおりに、何の支えも
なくインストールできるようになりました。互換レイヤーは消え、それに伴うバグの一群
も消えました。
この移行を機に、イメージのダイエットも行いました。ゲストディスクを約 320 MB
削減し、ベースディスクは 8 GB から 5 GB へ、新規インストール直後の使用量は
約 3.3 GB です。厄介なネットワークの引っかかりも一緒に消えました。仮想 NIC が
広告していたルーティング不能な IPv6 アドレスでセッションが止まることはもう
ありません——あの謎の ERR_NETWORK_CHANGED の正体です。
インストールは、もう「構築」ではない
これまで Bromure のインストールは、Mac 自身がベースイメージを構築することを意味 していました。インストーラをネットワーク起動し、パッケージを取得し、焼き上げ、 待つ。動作はしましたが、進捗バーを眺める時間が 10 分ほど必要でした。
いまの Bromure はビルド済みイメージをダウンロードします。圧縮して約 1 ギガ バイト、これまでのごく一部の時間で使い始められます。そのダウンロードは何ひとつ 無条件には信用しません。すべての成果物は sha256 で検証され、それらを列挙する カタログは、アプリの更新に使うのと同じ ed25519 鍵で署名されています。署名の範囲 はディスク、カーネル、initramfs、そしてすべてのポストインストールコマンドに 及びます。これらのコマンドはあなたのイメージ内で root として実行されるため、 CDN が侵害されても書き換えられてはならないからです。ダウンロードに到達できない 場合は、従来のローカルビルドがフォールバックとして残っています。
このイメージは毎週、最新のパッケージと最新の Chrome を取り込んで再構築・再公開 されます。そこで 4.0.0 では、ささやかな衛生管理も加えました。インストール済み イメージが 30 日を過ぎると、Bromure が最新版の取得を提案します——実態どおり 「セキュリティ更新」として。多くても月に一度、そして「今後は確認しない」 チェックボックスも用意しています。
ブラウザは 2 つ、サンドボックスは 1 つ
これが glibc の見返りです。各プロファイルの一般設定にブラウザの選択肢が追加
され、Chromium と公式の Google Chrome から選べます。後者は Google 自身の
arm64 .deb からインストールされ、同じ使い捨て VM の中で、同じ隔離のもと、同じ
プロファイルポリシーを適用して動きます。銀行は素の Chrome で、それ以外は
Chromium で? プロファイル 2 つ、クリック 2 回です。
ブランド版 Chrome で Bromure 自身の拡張機能を読み込ませるのは骨の折れる作業でした
——Chrome 151 は --load-extension を完全に無視します。そこで拡張機能はイメージ
の作成時に CRX として署名・パッケージ化され、ポリシーで強制インストールされます。
両ブラウザで同一の拡張機能 ID に解決される仕組みです。結果として、どちらを選んで
も二流になるものはありません。リンク送信、ファイルピッカー、認証情報ブリッジ、
フィッシング対策、WebRTC ブロック、セッショントレースはすべて同じように動きます。
ひとつ知っておくべき制約があります。プロファイルに保存済みの閲覧データがあると、 そのプロファイルのブラウザは固定されます。Chromium と Chrome は互いのプロファイル ディレクトリを読めないためです。一般設定でプロファイルデータを削除すれば、 選択は再び自由になります。
管理されたブラウジング — Chrome Enterprise Core への登録
Chrome は、Chromium には決してできなかったことを可能にします。プロファイルの エンタープライズタブに、管理コンソール(デバイス → Chrome → 管理対象 ブラウザ)で発行した登録トークンを貼り付けると、そのプロファイルのセッションは Chrome Enterprise Core(CBCM)に登録されます。Workspace 管理者がデスクトップ 版 Chrome で既に使っているものと同じクラウド管理です。
ポリシー、拡張機能の許可リスト、レポートが、セッション終了ごとに破棄され次回の 開始時にまっさらに作り直されるブラウザに適用されます。登録はうるさくならず安定 しています。各プロファイルは管理コンソールに管理対象ブラウザ 1 台として現れ、 ウィンドウを開くたびに新しいレコードが増えることはありません。
4.0.0 のその他の変更
- 初回セットアップの翻訳を修正。 セットアップ画面の 1 行が翻訳キーを失って いて、どの言語でも英語のまま表示されていました。文言を書き直し、キーを付け 直して、8 言語すべてで復元しました。
- どんな環境でも起動。 カーネルのコマンドラインがどのネットワーク インターフェース命名方式を要求しても、イメージは正しく起動します。
- ウェブカメラ対応も引き継ぎ。 ループバック映像モジュールは DKMS で Ubuntu の カーネル向けに再ビルドされ、これを欠いた配布用ビルドは公開自体が拒否されます。
Bromure Web はフリーかつオープンソースです。4.0.0 は ダウンロードページから、詳しくは Bromure Web のページ →をご覧ください。