Этот проект позволяет вам легко настроить переходный хост гуакамоле с дополнительным обратным прокси-сервером TLS (самозаверяющим или Let's Encrypt), интеграцией Active Directory, многофакторной аутентификацией, улучшениями пользовательского интерфейса быстрого подключения и хранилища записей истории, пользовательским интерфейсом в темной тематике. шаблон, автоматическое резервное копирование базы данных, оповещения по электронной почте и возможности внутреннего усиления защиты, включая Fail2ban для защиты от атак методом перебора. Существуют также варианты корпоративного развертывания, аналогичные кластеру бастионов Гуакамоле от Amazon.
Вставьте ссылку ниже в терминал и следуйте инструкциям ( НЕ запускайте от имени пользователя root, скрипт предложит sudo ):
wget https://raw.githubusercontent.com/itiligent/Guacamole-Install/main/1-setup.sh && chmod +x 1-setup.sh && ./1-setup.sh
Совместимая ОС:
Дебиан: 12.x или 11.x
Варианты Ubuntu LTS: 24.04, 23.04, 22.04.
Raspbian Buster или Буллсай
1 ядро ЦП + 2 ГБ ОЗУ на каждые 25 пользователей (плюс минимальная ОЗУ и дисковое пространство для выбранной вами ОС).
Открытые TCP-порты: 22, 80 и 443 (никакие другие службы не используют 80, 8080 и 443)
При выборе любого из вариантов обратного прокси-сервера TLS необходимо создать ЧАСТНУЮ запись DNS для внутреннего прокси-сайта и дополнительную ПУБЛИЧНУЮ запись DNS при выборе параметра Let's Encrypt.
Установлены пакеты Sudo и wget
Пользователь, запускающий 1-setup.sh
должен иметь разрешения sudo.
Основной сценарий 1-setup.sh
выполняет установку, состоящую из следующих шагов:
Настройте имя хоста системы и локальное DNS-имя (локальный DNS должен быть согласованным для прокси-сервера TLS).
Выберите либо локальную установку MySQL, либо используйте уже существующий локальный или удаленный экземпляр MySQL.
Выберите расширение аутентификации: DUO, TOTP, LDAP/Active Directory или нет.
Выберите дополнительные функции консоли: интеграция пользовательского интерфейса быстрого подключения и хранилища записанных записей.
Выберите внешний интерфейс гуакамоле: обратный прокси-сервер Nginx (HTTP или HTTPS) или используйте собственный интерфейс гуакамоле на порту 8080.
Новые сертификаты браузера сервера и клиента сохраняются в $HOME/guac-setup/tls-certs/[date-time]/
.
При необходимости следуйте инструкциям на экране по импорту сертификата клиента, чтобы избежать предупреждений браузера https.
Если вы решите установить Nginx с самоподписанным TLS:
Чтобы настроить множество доступных параметров сценария:
Выйдите из 1-setup.sh
при первом же приглашении.
Все настраиваемые параметры сценария показаны в разделе «Параметры автоматической настройки» в начале 1-setup.sh
.
Определенные комбинации параметров автоматической установки позволят выполнить полностью автоматическую установку, поддерживающую массовое развертывание или настраиваемые сборки Docker.
После внесения изменений повторно запустите отредактированный скрипт локально (не запускайте повторно веб-ссылку автоматической установки — см. ниже).
Другие примечания по выборочной установке:
Внимание: повторный запуск автоустановщика приведет к повторной загрузке набора сценариев, что приведет к перезаписи всех изменений, внесенных вами в сценарии. Поэтому после редактирования вам необходимо запустить 1-setup.sh ЛОКАЛЬНО. Если редактируются какие-либо другие дочерние сценарии, соответствующие им ссылки для скачивания в сценарии 1-setup.sh также необходимо закомментировать.
Сценарии обновления автоматически настраиваются с учетом ваших конкретных параметров установки для обеспечения единообразия будущих обновлений. (Повторная загрузка по ссылке автоматической установки после установки приведет к перезаписи всех пользовательских настроек, как указано выше.)
Обратный прокси-сервер Nginx по умолчанию настроен как минимум на TLS 1.2. Для старых систем см. разделы с комментариями в файле /etc/nginx/nginx.conf
после установки.
Ежедневное задание резервного копирования MySQL автоматически настраивается в crontab владельца сценария.
Опция «Быстрое подключение» имеет некоторые дополнительные последствия для безопасности: помните о потенциальных рисках в вашей среде.
Варианты ручного усиления после установки:
add-fail2ban.sh
: добавляет политику блокировки для гуакамоле для защиты от атак методом перебора паролей.
add-tls-guac-daemon.sh
: оборачивает внутренний трафик между сервером guac и приложением guac в TLS.
add-auth-ldap.sh
: сценарий шаблона для упрощенной интеграции с Active Directory.
add-smtp-relay-o365.sh
: сценарий шаблона для интеграции оповещений по электронной почте с MSO65 (пароль приложения BYO).
Следуйте инструкциям по теме и брендингу здесь. Чтобы вернуться к теме по умолчанию, просто удалите файл Branding.jar из /etc/guacamole/extensions
, очистите кеш браузера и перезапустите.
Чтобы обновить самозаверяющие сертификаты или изменить локальное DNS-имя/IP-адрес обратного прокси-сервера:
Повторно запустите 4a-install-tls-self-signed-nginx.sh
, чтобы создать новый сертификат Nginx (сопровождающие сертификаты клиента браузера также будут обновлены). Всегда очищайте кеш браузера после смены сертификатов.
Смотрите здесь.
Смотрите здесь
Чтобы обновить гуакамоле, перед запуском отредактируйте файл upgrade-guacamole.sh
, указав последние версии гуакамоле и MySQL Connector/J. Этот сценарий автоматически обновит расширения TOTP, DUO, LDAP, Quick Connect и History Recorded Storage, если они имеются.
Для отдельного уровня БАЗЫ ДАННЫХ: используйте здесь install-mysql-backend-only.sh
, чтобы установить автономный экземпляр базы данных Guacamole MySQL.
Для отдельного уровня ПРИЛОЖЕНИЯ: запустите 1-setup.sh
и укажите новые установки на отдельный экземпляр базы данных. Просто скажите нет опции «Установить MySQL локально» и любым другим вариантам установки локального обратного прокси.
Для отдельного ВНЕШНЕГО уровня: используйте прилагаемые сценарии установщика Nginx, чтобы создать отдельный внешний уровень Nginx, а затем примените предпочитаемый вами метод балансировки нагрузки TLS. Альтернативно, балансировщики нагрузки AWS/Azure/GCP или прокси-сервер HA могут обеспечить превосходную устойчивость и сходство сеансов по сравнению с Nginx с открытым исходным кодом.
Ссылка автозапуска загружает эти файлы в $HOME/guac-setup
:
1-setup.sh
: родительский сценарий установки.
2-install-guacamole.sh
: сценарий сборки и установки исходного кода гуакамоле.
3-install-nginx.sh
: скрипт установки Nginx.
4a-install-tls-self-signed-nginx.sh
: сценарий установки/обновления самозаверяющих сертификатов TLS.
4b-install-tls-letsencrypt-nginx.sh
: скрипт установщика Let's Encrypt для Nginx.
add-auth-duo.sh
: сценарий установки расширения Duo MFA.
add-auth-ldap.sh
: сценарий шаблона установщика расширения Active Directory.
add-auth-totp.sh
: сценарий установки расширения TOTP MFA.
add-xtra-quickconnect.sh
: сценарий установщика расширения консоли быстрого подключения.
add-xtra-histrecstore.sh
: Скрипт установщика расширения History Recorded Storage.
add-smtp-relay-o365.sh
: сценарий для настройки реле аутентификации SMTP O365 (пароль приложения BYO).
add-tls-guac-daemon.sh
: перенос внутреннего трафика между сервером guacd и веб-приложением Guacamole в TLS.
add-fail2ban.sh
: сценарий установки Fail2ban (и политики защиты гуакамоле).
backup-guacamole.sh
: сценарий настройки резервного копирования MySQL.
upgrade-guacamole.sh
: сценарий обновления приложения, расширения и соединителя MySQL для гуакамоле.
branding.jar
: базовый шаблон для настройки темы пользовательского интерфейса Гуакамоле.