====== Настройка двухэтапной аутентификации в Guacamole ======
===== Создаем базу данных и пользователя для работы с базой =====
Данный этап можно пропустить если вы пользовались [[apache_guacamole:apache_guacamole_web_gateway_settings|инструкцией]]
mysql -u root -p
create database guacamole_test;
create user guacamole_test@localhost identified by 'password123456';
grant SELECT,UPDATE,INSERT,DELETE on guacamole_test.* to guacamole_test@localhost;
flush privileges;
quit
Где:
* **guacamole_test** - Имя базы и имя пользователя (измените для себя)
* **password123456** - пароль (измените для себя)
===== Ставим дополнения =====
Данный этап можно пропустить если вы пользовались [[apache_guacamole:apache_guacamole_web_gateway_settings|инструкцией]]
Скачиваем необходимые пакеты
wget https://downloads.apache.org/guacamole/1.5.3/binary/guacamole-auth-jdbc-1.5.3.tar.gz -P /tmp
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.30.tar.gz -P /tmp
Переходим в каталог куда скачали пакеты
cd /tmp
Делаем распаковку
tar -xf guacamole-auth-jdbc-1.5.3.tar.gz
tar -xf mysql-connector-java-8.0.30.tar.gz
Копируем в каталог с расширениями и библиотеками guacamole
sudo mv guacamole-auth-jdbc-1.5.3/mysql/guacamole-auth-jdbc-mysql-1.5.3.jar /etc/guacamole/extensions/
sudo cp mysql-connector-java-8.0.30/mysql-connector-java-8.0.30.jar /etc/guacamole/lib/
Прогружаем данные в базу
cd guacamole-auth-jdbc-1.5.3/mysql/schema
cat *.sql | sudo mysql -u root -p guacamole_test
Коннектим базу данных с guacamole
sudo nano /etc/guacamole/guacamole.properties
mysql-hostname: localhost
mysql-database: guacamole_test
mysql-username: guacamole_test
mysql-password: password123456
Перезагружаем сервисы
sudo systemctl restart tomcat guacd
===== Настройка одноразовых паролей =====
Скачиваем и распаковываем дополнения
wget https://downloads.apache.org/guacamole/1.5.3/binary/guacamole-auth-totp-1.5.3.tar.gz -P /tmp
cd /tmp
tar -zxf guacamole-auth-totp-1.5.3.tar.gz
Копируем файлы в каталог с расширениями
sudo cp guacamole-auth-totp-1.5.3/guacamole-auth-totp-1.5.3.jar /etc/guacamole/extensions/
Добавляем в конец файла guacamole.properties строки
nano /etc/guacamole/guacamole.properties
#Settings OTP
#Объект, выдающий учетные записи пользователей, по умолчанию Apache Guacamole
totp-issuer: Apache Guacamole
#Количество цифр сгенерированного HTTP-кода
totp-digits: 7
#Продолжительность действия кода в секундах
totp-period: 30
#Алгоритм хэширования “sha1”,“sha256”,“sha512”
totp-mode: sha1
Перезагружаем сервисы
sudo systemctl restart tomcat* guacd
===== Проверяем работоспособность =====
Открываем в браузере ваш сервер
http://ваш_ip/
Входим под учеткой админа
* Логин по умолчанию - **guacadmin**
* Пароль по умолчанию - **guacadmin**
Вы должны увидеть такое окно
{{:apache_guacamole:pasted:20231103-115047.png?nolink}}
Если получилось, то считываем QR код любой 2FA программой
Пример:
* Google Authenticator
* Яндекс.Ключ
Хорошая статья на эту тему [[https://www.kaspersky.ru/blog/best-authenticator-apps-2022/32158/ | тут]]