
Bastillionは、すべてのシステムにおけるSSHアクセスを管理するためのクリーンでブラウザベースの方法を提供します—フレンドリーなダッシュボードを備えた踏み台ホストのようなものです。
モダンなWebベースのSSHコンソールおよびSSH鍵管理ツール。
Bastillionは、すべてのシステムにわたるSSHアクセスを、ブラウザベースのクリーンな方法で管理できるようにします。まるで使いやすいダッシュボードを備えた踏み台ホスト(bastion host)のようなものです。できることは2つあります:
WebベースのSSHターミナル — ホストが登録されれば、認可されたユーザーはブラウザから直接、そのホストへの1つ以上のライブターミナルセッションを開くことができ、コマンドを開いているすべてのセッションに一斉にブロードキャストすることもできます(tmuxの同期ペインのようなものですが、ローカルペインではなくリモートホストの群れが対象です)。
SSH鍵管理 — Bastillionは自身のSSH鍵ペアを保持し、登録したホスト群に公開鍵をプッシュ/ローテーションします。これにより、個々のユーザーがそれらのシステムに対して長期間有効な鍵を保持したり管理したりする必要がなくなります。

既存のWebおよびアプリケーションのサンプルホストへの2つのライブSSHセッション。
Bastillionは、ユーザーとユーザーがアクセスする必要のあるシステムの間に位置し、単なるパスワード保管庫ではなく、信頼できる第三者として機能します。ここでは、ライフサイクル全体を最初から最後まで説明します。
初回起動時、何よりも先に、Bastillionは自身用のEd25519鍵ペアを生成します。これが、あなたのホストにプッシュされる唯一の鍵です。これはコンソール出力に表示され、常に設定の下で確認できます。
管理者は管理 → システムの下でホストを追加します(ユーザー、ホスト、ポート、およびそのホストのauthorized_keysファイルへのパス)。Bastillionは、あなたが提供するパスワードまたはパスフレーズで一度だけ認証し、自身の公開鍵をそのホストのauthorized_keysにプッシュします。以降はその鍵を使って接続します — パスワードが保存されることは一切ありません。鍵が配置された瞬間にステータスが成功に変わります。

システムは名前付きのプロファイルにグループ化されます — 「本番」「ステージング」「データベース層」のようなものです。その後、ユーザーは管理 → ユーザーの下でプロファイルにリンクされます。これが誰が何にアクセスできるかを制御する唯一の手段です。プロファイルの割り当てを取り消せば、そのアクセスは即座に失われ、鍵のローテーションは不要です。

割り当てられたユーザーは Secure Shell → Terminals を開き、1つ以上のシステムを選択すると、ブラウザ上でライブの、サイズ変更可能な、xtermベースのターミナルが並んで表示されます。一度入力すれば、アクティブとマークされたすべてのターミナルに送信されます — 同じキーストローク、同じコマンド、同じ出力形式が、選択したホストの数だけ広がります。

すべてのホストが同じアプリケーション鍵を信頼するため(ユーザーごとに1つの鍵ではありません)、Manage SSH Keys で一度無効化すれば、すべての場所で即座にアクセスが失効します — 対象システムを手作業で触る必要も、どのサーバーにどの古い鍵があるかを探し回る必要もありません。

すべての接続は、対象システムが提示するホスト鍵を、Bastillionがそのシステムについて記録した鍵と照合します。ホストが初めて見られたとき、その鍵が記録され信頼されます。その後その鍵が変更された場合、接続は拒否され、そのシステムは Manage → Host Keys にchanged — blocked として表示され、承認済みのフィンガープリントと提示されたフィンガープリントが並べて表示されるため、再構築されたホストと傍受された接続を見分けることができます。新しい鍵を信頼することは、意図的で記録される行為です。
これはラップトップよりも踏み台(bastion)にとって重要です。Bastillionは対象システムに秘密鍵を渡し、認証フォールバック時にはあなたが提供したパスワードまたはパスフレーズを渡します — つまり、管理対象システムのアドレスに応答できるものは何であれ、そのシステムの認証情報を収集できてしまいます。このチェックが存在するまで、その鍵を何かと比較するものはありませんでした。
hostKeyVerification=strict を設定すると、新しく検出された各ホストへの最初の接続前に管理者の承認を必須にできます。off にすると以前の動作に戻ります — Configuration を参照してください。
これらのターミナルで入力されたすべての内容と返されたすべてのバイトが自動的に記録されます。管理者は Audit Sessions を開き、ユーザーまたはシステムでフィルタリングして、任意のセッションを再生できます — 複数のホストにまたがるセッションは並べて表示され、テキストフィルターで重要な行へ直接ジャンプできます。出力は読み込みに合わせてページにストリーミングされるため、数百メガバイトのログを吐き出したセッションでも苦もなく再生できます。
誰が何を、どこで、いつ実行したかを監査人に示す必要があるなら — これがその証拠であり、標準で取得されます。実質的にすべてのコンプライアンスフレームワークには、どこかに特権アクセスの監査証跡要件があります(PCI DSS、HIPAA、SOC 2、ISO 27001 — どれでも構いません)。これは商用のPAM製品なしでその要件を満たします。セッションはデフォルトで90日間保持され(deleteAuditLogAfter)、記録は ENABLE_INTERNAL_AUDIT=false で無効化できます — Auditing を参照してください。

hostKeyVerification=accept-new) — 詳細は 動作の仕組み を参照authorized_keys に自身の公開鍵が登録されていることに依存する代わりに、接続ごとに短命な証明書を発行できます。これにより Bastillion のユーザー名が接続先ホスト自身の認証ログにも記録されます。デフォルトでは無効。各ホストが CA を信頼するよう設定する必要があります — 詳細は 設定 を参照java -jar) として動作し、HTTPS を標準でサポート — 詳細は ダウンロードと実行 を参照tools/migrate を参照Bastillion は最大 8 台の登録システムまでライセンスなしで動作します — 購入前に実際に試すのに十分な数です。ライセンスを購入するとこの上限が引き上げられます。
.lic ファイルが自動的にダウンロードされます。.lic ファイルを開き、その内容 (1 行) をコピーします。LICENSE_KEY 環境変数で設定します:
export LICENSE_KEY=<paste license file contents here>
または、BastillionConfig.properties の licenseKey に貼り付けてください。両方が設定されている場合は環境変数が優先されます。ライセンスは年間契約で、自動更新はありません。カード情報は保存されません。有効期限の警告が表示されたら、同じ料金ページから再度購入してください。
無料: https://github.com/Loophole-LLC/Bastillion/releases
apt-get install openjdk-21-jdk