このプロジェクトでは、オプションの TLS リバース プロキシ (自己署名または Let's Encrypt)、Active Directory 統合、多要素認証、クイック接続と履歴記録ストレージ UI の強化、ダーク テーマのカスタム UI を備えた Guacamole ジャンプ ホストを簡単にセットアップできます。テンプレート、自動データベース バックアップ、電子メール アラート、およびブルート フォース攻撃に対する防御のためのフェイル 2バンを含む内部強化オプション。 Amazon の Guacamole Bastion Cluster と同様のエンタープライズ展開用のオプションもあります。
以下のリンクをターミナルに貼り付け、プロンプトに従います ( root として実行しないでください。スクリプトにより sudo のプロンプトが表示されます)。
wget https://raw.githubusercontent.com/itiligent/Guacamole-Install/main/1-setup.sh && chmod +x 1-setup.sh && ./1-setup.sh
対応OS:
Debian: 12.x または 11.x
Ubuntu LTS バリアント: 24.04、23.04、22.04
ラズビアンバスターまたはブルズアイ
25 ユーザーごとに 1 CPU コア + 2GB RAM (さらに、選択した OS の最小 RAM とディスク容量)。
開いている TCP ポート: 22、80、および 443 (80、8080、および 443 を使用する他のサービスはありません)
TLS リバース プロキシ オプションのいずれかを選択する場合は、内部プロキシ サイトの PRIVATE DNS レコードを作成する必要があり、Let's Encrypt オプションを選択する場合は追加の PUBLIC DNS レコードを作成する必要があります。
Sudo と wget パッケージがインストールされている
1-setup.sh
実行するユーザーには sudo 権限が必要です
メインの1-setup.sh
スクリプトは、次の手順でインストールをガイドします。
システムのホスト名とローカル DNS 名をセットアップします (ローカル DNS は TLS プロキシに対して一貫している必要があります)。
ローカル MySQL インストールを選択するか、既存のローカルまたはリモート MySQL インスタンスを使用します。
認証拡張機能を選択します: DUO、TOTP、LDAP/Active Directory、またはなし。
オプションのコンソール機能を選択します: クイック接続および履歴記録ストレージ UI 統合。
Guacamole フロント エンド: Nginx リバース プロキシ (HTTP または HTTPS) を選択するか、ポート 8080 でネイティブの Guacamole インターフェイスを使用します。
新しいサーバーおよびクライアントのブラウザ証明書は$HOME/guac-setup/tls-certs/[date-time]/
に保存されます。
必要に応じて、画面上の指示に従ってクライアント証明書をインポートし、https ブラウザーの警告を回避します。
自己署名 TLS を使用して Nginx をインストールすることを選択した場合:
利用可能な多くのスクリプト オプションをカスタマイズするには:
最初のプロンプトで1-setup.sh
を終了します。
構成可能なすべてのスクリプト オプションは、 1-setup.sh
の先頭にあるサイレント セットアップ オプションの下に表示されます。
サイレント セットアップ オプションの特定の組み合わせにより、大規模な展開や高度にカスタマイズされた Docker ビルドをサポートする完全に無人インストールが可能になります。
変更を加えた後、編集したスクリプトをローカルで再実行します (自動インストール Web リンクを再実行しないでください。以下を参照してください)。
その他のカスタム インストールに関する注意事項:
注意:自動インストーラーを再実行すると、一連のスクリプトが再ダウンロードされ、これによりすべてのスクリプト編集が上書きされます。したがって、編集後に 1-setup.sh をローカルで実行する必要があります。他の子スクリプトを編集する場合は、1-setup.sh スクリプト内の対応するダウンロード リンクもコメントアウトする必要があります。
アップグレード スクリプトは、将来の更新に一貫性を持たせるために、特定のインストール設定に基づいて自動的にカスタマイズされます。 (インストール後に自動インストール リンクから再ダウンロードすると、上記のすべてのカスタム設定が上書きされます。)
Nginx リバース プロキシは、デフォルトで少なくとも TLS 1.2 に設定されています。古いシステムの場合は、インストール後の/etc/nginx/nginx.conf
ファイルのコメントされたセクションを参照してください。
毎日の MySQL バックアップ ジョブは、スクリプト所有者の crontab の下で自動的に設定されます。
クイック接続オプションはセキュリティに追加の影響を与えるため、環境内の潜在的なリスクに注意してください。
インストール後の手動強化オプション:
add-fail2ban.sh
: ブルート フォース パスワード攻撃を防ぐために、Guacamole のロックダウン ポリシーを追加します。
add-tls-guac-daemon.sh
: guac サーバーと guac アプリケーション間の内部トラフィックを TLS でラップします。
add-auth-ldap.sh
: 簡素化された Active Directory 統合用のテンプレート スクリプト。
add-smtp-relay-o365.sh
: MSO65 (BYO アプリ パスワード) と電子メール アラートを統合するためのテンプレート スクリプト。
こちらのテーマとブランド設定の手順に従ってください。デフォルトのテーマに戻すには、 /etc/guacamole/extensions
から branding.jar ファイルを削除し、ブラウザのキャッシュをクリアして再起動します。
自己署名証明書を更新するか、リバース プロキシのローカル DNS 名/IP アドレスを変更するには、次の手順を実行します。
4a-install-tls-self-signed-nginx.sh
を再実行して、新しい Nginx 証明書を作成します (付随するブラウザー クライアント証明書も更新されます)。証明書を変更した後は、必ずブラウザのキャッシュをクリアしてください。
ここを参照してください。
ここを参照
Guacamole をアップグレードするには、実行前に、 upgrade-guacamole.sh
を編集して Guacamole および MySQL コネクタ/J の最新バージョンを反映させます。このスクリプトは、TOTP、DUO、LDAP、Quick Connect、および History Recorded Storage 拡張機能 (存在する場合) を自動的に更新します。
別の DATABASE レイヤーの場合:ここでinstall-mysql-backend-only.sh
を使用して、Guacamole MySQL データベースのスタンドアロン インスタンスをインストールします。
別の APPLICATION レイヤーの場合: 1-setup.sh
を実行し、新しいインストールを別のデータベース インスタンスに指定します。 「MySQL をローカルにインストールする」オプションやその他のローカル リバース プロキシ インストール オプションには「ノー」と言ってください。
別のフロント エンド レイヤーの場合:付属の Nginx インストーラー スクリプトを使用して別の Nginx フロント エンド レイヤーを構築し、好みの TLS ロード バランシング手法を適用します。あるいは、AWS/Azure/GCP ロード バランサーまたは HA プロキシは、オープンソース Nginx と比較して優れたセッション永続性とアフィニティを提供する場合があります。
自動実行リンクにより、これらのファイルが$HOME/guac-setup
にダウンロードされます。
1-setup.sh
: 親セットアップ スクリプト。
2-install-guacamole.sh
: Guacamole ソースのビルドとインストーラー スクリプト。
3-install-nginx.sh
: Nginx インストール スクリプト。
4a-install-tls-self-signed-nginx.sh
: 自己署名 TLS 証明書スクリプトをインストール/更新します。
4b-install-tls-letsencrypt-nginx.sh
: Let's Encrypt for Nginx インストーラー スクリプト。
add-auth-duo.sh
: Duo MFA 拡張機能のインストール スクリプト。
add-auth-ldap.sh
: Active Directory 拡張機能インストーラー テンプレート スクリプト。
add-auth-totp.sh
: TOTP MFA 拡張機能インストーラー スクリプト。
add-xtra-quickconnect.sh
: Quick Connect コンソール拡張機能インストーラー スクリプト。
add-xtra-histrecstore.sh
: 履歴記録ストレージ拡張機能インストーラー スクリプト。
add-smtp-relay-o365.sh
: O365 SMTP 認証リレー設定 (BYO アプリ パスワード) のスクリプト。
add-tls-guac-daemon.sh
: guacd サーバーと Guacamole Web アプリ間の内部トラフィックを TLS でラップします。
add-fail2ban.sh
: Fail2ban (および Guacamole 保護ポリシー) インストーラー スクリプト。
backup-guacamole.sh
: MySQL バックアップ セットアップ スクリプト。
upgrade-guacamole.sh
: Guacamole アプリケーション、拡張機能、および MySQL コネクタのアップグレード スクリプト。
branding.jar
: Guacamole の UI テーマをカスタマイズするためのベース テンプレート。