Proyek ini memungkinkan Anda dengan mudah menyiapkan jump-host Guacamole dengan proksi terbalik TLS opsional (ditandatangani sendiri atau Let's Encrypt), integrasi Direktori Aktif, autentikasi multifaktor, peningkatan UI Koneksi Cepat & Penyimpanan Perekaman Riwayat, UI kustom bertema gelap templat, pencadangan basis data otomatis, peringatan email, dan opsi pengerasan internal termasuk fail2ban untuk pertahanan terhadap serangan brute force. Ada juga opsi untuk penerapan perusahaan yang mirip dengan Guacamole Bastion Cluster Amazon.
Rekatkan tautan di bawah ini ke terminal & ikuti petunjuknya ( JANGAN dijalankan sebagai root, skrip akan meminta sudo ):
wget https://raw.githubusercontent.com/itiligent/Guacamole-Install/main/1-setup.sh && chmod +x 1-setup.sh && ./1-setup.sh
OS yang Kompatibel:
Debian: 12.x atau 11.x
Varian Ubuntu LTS: 24.04, 23.04, 22.04
Raspbian Buster atau Bullseye
1 inti CPU + 2GB RAM untuk setiap 25 pengguna (ditambah RAM minimum & ruang disk untuk OS pilihan Anda).
Buka port TCP: 22, 80, dan 443 (tidak ada layanan lain yang menggunakan 80, 8080 & 443)
Jika memilih salah satu opsi proksi terbalik TLS, Anda harus membuat data DNS PRIBADI untuk situs proksi internal, dan data DNS UMUM tambahan jika memilih opsi Mari Enkripsi.
Paket Sudo & wget diinstal
Pengguna yang menjalankan 1-setup.sh
harus memiliki izin sudo
Skrip utama 1-setup.sh
memandu instalasi dengan langkah-langkah berikut:
Siapkan nama host sistem & nama DNS lokal (DNS lokal harus konsisten untuk proksi TLS).
Pilih instalasi MySQL lokal atau gunakan instans MySQL lokal atau jarak jauh yang sudah ada sebelumnya.
Pilih ekstensi autentikasi: DUO, TOTP, LDAP/Active Directory, atau tidak sama sekali.
Pilih fitur konsol opsional: Koneksi Cepat & integrasi UI Penyimpanan Tercatat Riwayat.
Pilih front end Guacamole: Nginx reverse proxy (HTTP atau HTTPS) atau gunakan antarmuka Guacamole asli pada port 8080.
Sertifikat browser server & klien baru disimpan ke $HOME/guac-setup/tls-certs/[date-time]/
.
Secara opsional, ikuti petunjuk di layar untuk mengimpor sertifikat klien untuk menghindari peringatan browser https.
Jika Anda memilih untuk menginstal Nginx dengan TLS yang ditandatangani sendiri:
Untuk menyesuaikan banyak opsi skrip yang tersedia:
Keluar dari 1-setup.sh
pada prompt pertama.
Semua opsi skrip yang dapat dikonfigurasi ditampilkan di bawah Opsi pengaturan senyap di awal 1-setup.sh
.
Kombinasi tertentu dari opsi Penyiapan senyap akan memungkinkan penginstalan sepenuhnya tanpa pengawasan yang mendukung penerapan massal atau pembuatan buruh pelabuhan yang sangat disesuaikan.
Jalankan kembali skrip yang telah Anda edit secara lokal setelah melakukan perubahan (jangan jalankan kembali tautan web pemasangan otomatis - lihat di bawah.
Catatan pemasangan khusus lainnya:
Perhatian: Menjalankan kembali penginstal otomatis akan mengunduh ulang rangkaian skrip dan ini akan menimpa semua pengeditan skrip Anda. Oleh karena itu Anda harus menjalankan 1-setup.sh SECARA LOKAL setelah mengedit. Jika ada skrip anak lain yang diedit, tautan unduhan terkait di skrip 1-setup.sh juga harus dikomentari.
Skrip pemutakhiran secara otomatis disesuaikan dengan pengaturan instalasi khusus Anda untuk pembaruan yang konsisten di masa mendatang. (Mengunduh ulang dari tautan pemasangan otomatis setelah pemasangan akan menimpa semua pengaturan khusus seperti di atas.)
Proksi terbalik Nginx dikonfigurasikan ke default setidaknya TLS 1.2. Untuk sistem kuno, lihat bagian komentar pada file /etc/nginx/nginx.conf
setelah instalasi.
Pekerjaan pencadangan MySQL harian secara otomatis dikonfigurasikan di bawah crontab pemilik skrip.
Opsi Quick Connect membawa beberapa implikasi keamanan tambahan, waspadai potensi risiko di lingkungan Anda.
Opsi pengerasan manual pasca pemasangan:
add-fail2ban.sh
: Menambahkan kebijakan lockdown untuk Guacamole untuk mencegah serangan kata sandi brute force.
add-tls-guac-daemon.sh
: Membungkus lalu lintas internal antara server guac & aplikasi guac di TLS.
add-auth-ldap.sh
: Skrip templat untuk integrasi Direktori Aktif yang disederhanakan.
add-smtp-relay-o365.sh
: Skrip templat untuk integrasi peringatan email dengan MSO65 (kata sandi aplikasi BYO).
Ikuti petunjuk tema dan branding di sini. Untuk kembali ke tema default, cukup hapus file branding.jar dari /etc/guacamole/extensions
, kosongkan cache browser Anda dan mulai ulang.
Untuk memperbarui sertifikat yang ditandatangani sendiri atau mengubah nama/alamat IP lokal proksi terbalik:
Jalankan kembali 4a-install-tls-self-signed-nginx.sh
untuk membuat sertifikat Nginx baru (sertifikat klien browser yang menyertainya juga akan diperbarui). Selalu bersihkan cache browser Anda setelah mengubah sertifikat.
Lihat di sini.
Lihat di sini
Untuk memutakhirkan Guacamole, edit upgrade-guacamole.sh
untuk mencerminkan versi terbaru Guacamole & konektor MySQL/J sebelum dijalankan. Skrip ini akan secara otomatis memperbarui ekstensi TOTP, DUO, LDAP, Quick Connect, dan History Recorded Storage jika ada.
Untuk lapisan DATABASE terpisah: Gunakan install-mysql-backend-only.sh
di sini untuk menginstal instance database MySQL Guacamole yang berdiri sendiri.
Untuk lapisan APLIKASI terpisah: Jalankan 1-setup.sh
dan arahkan instalasi baru ke instance database terpisah Anda. Katakan saja tidak pada opsi "Instal MySQL secara lokal" dan opsi pemasangan proksi terbalik lokal lainnya.
Untuk lapisan FRONT END terpisah: Gunakan skrip penginstal Nginx yang disertakan untuk membuat lapisan front end Nginx terpisah, lalu terapkan teknik penyeimbangan beban TLS pilihan Anda. Alternatifnya, penyeimbang beban AWS/Azure/GCP atau Proksi HA dapat memberikan persistensi & afinitas sesi yang unggul dibandingkan dengan Open Source Nginx.
Tautan autorun mengunduh file-file ini ke $HOME/guac-setup
:
1-setup.sh
: Skrip pengaturan induk.
2-install-guacamole.sh
: Skrip pembuatan & pemasang sumber Guacamole.
3-install-nginx.sh
: Skrip instalasi Nginx.
4a-install-tls-self-signed-nginx.sh
: Instal/segarkan skrip sertifikat TLS yang ditandatangani sendiri.
4b-install-tls-letsencrypt-nginx.sh
: Mari Enkripsi untuk skrip pemasang Nginx.
add-auth-duo.sh
: Skrip pemasangan ekstensi Duo MFA.
add-auth-ldap.sh
: Skrip templat penginstal ekstensi Direktori Aktif.
add-auth-totp.sh
: Skrip penginstal ekstensi TOTP MFA.
add-xtra-quickconnect.sh
: skrip pemasang ekstensi konsol Quick Connect.
add-xtra-histrecstore.sh
: Skrip penginstal ekstensi Penyimpanan Tercatat Riwayat.
add-smtp-relay-o365.sh
: Skrip untuk pengaturan relai autentikasi SMTP O365 (kata sandi aplikasi BYO).
add-tls-guac-daemon.sh
: Memadukan lalu lintas internal antara server guacd & aplikasi web Guacamole di TLS.
add-fail2ban.sh
: skrip pemasang Fail2ban (& kebijakan perlindungan Guacamole).
backup-guacamole.sh
: skrip pengaturan cadangan MySQL.
upgrade-guacamole.sh
: Aplikasi Guacamole, ekstensi, dan skrip pemutakhiran konektor MySQL.
branding.jar
: Templat dasar untuk menyesuaikan tema UI Guacamole.