用Docker构建Apache Guacamole
Apache Guacamole是什么?
Apache鳄梨酱
https://guacamole.apache.org/
以下是主要要点,虽然在我们的官方网站上也有相关说明。
-
- 無料でオープンソースのソフトウェア
-
- 対応しているのはVNC、RDP、SSHなどの標準プロトコル
- 必要なのはWEBブラウザだけ
在AWS上建立并访问AWS的EC2实例非常方便。
此外,由于它是基于WEB浏览器的,通过HTTPS通信进行WAF,非常安全。
如果进一步使用AWS WAF,除了避免XSS和SQL注入攻击之外,还可以限制只允许国内访问,从而大大减少攻击风险。
尚、1.0.0版本开始支持双因素认证,使用Google认证或Authy可以进一步增强安全性。
对于”认证”,具体是什么样子呢?
下一个选项是使用Google认证或Authy进行身份验证。
另外,由于是通过WEB访问,如果使用HTTPS进行访问,就可以实现安全性,同时还可以使用WAF增强安全性,还可以在公司或家中访问,可以灵活选择工作地点。
用母语构建
第2章 安装Guacamole本地版本
https://guacamole.apache.org/doc/gug/installing-guacamole.html
根据Apache Guacamole的手册,可以使用Native方式进行构建。 但是,由于稍微有点麻烦,我们可以使用Docker来轻松构建。
使用Docker进行构建
第三章。使用Docker安装Guacamole
链接:https://guacamole.apache.org/doc/gug/guacamole-docker.html
按照Apache Guacamole的手册,您可以在Docker中构建它,但是这样会更麻烦。为了更简便,我们将使用Docker-Compose来进行构建。
前提是Docker和Docker-Compose已经安装好,请看下面Docker-Compose的内容。
services:
guacd:
image: guacamole/guacd:1.0.0
restart: always
volumes:
- /usr/share/fonts/vlgothic/VL-Gothic-Regular.ttf:/usr/share/fonts/vlgothic/VL-Gothic-Regular.ttf:ro
- /var/log/guacamole/typescript:/var/log/guacamole/typescript
- /var/log/guacamole/recording:/var/log/guacamole/recording
networks:
- guacamole_network
guac:
image: guacamole/guacamole:1.0.0
restart: always
ports:
- "8080:8080"
volumes:
- /opt/docker/config/guacamole:/config
environment:
- "GUACD_HOSTNAME=guacd"
- "GUACD_PORT=4822"
- "MYSQL_HOSTNAME=MYSQLサーバ名"
- "MYSQL_DATABASE=guacamole"
- "MYSQL_USER=guacamole"
- "MYSQL_PASSWORD=guacamole"
- "LDAP_HOSTNAME=LDAPサーバ名"
- "LDAP_PORT=389"
- "LDAP_ENCRYPTION_METHOD=none"
- "LDAP_USER_BASE_DN=ユーザーを検索するbaseのDN"
- "LDAP_GROUP_BASE_DN=グループを検索するbaseのDN"
- "LDAP_SEARCH_BIND_DN=LDAPサーバに接続する際のユーザーのDN"
- "LDAP_SEARCH_BIND_PASSWORD=LDAPサーバに接続する際のユーザーのパスワード"
- "LDAP_USERNAME_ATTRIBUTE=uid"
- "GUACAMOLE_HOME=/config"
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "100"
networks:
- guacamole_network
networks:
guacamole_network:
driver: bridge
Apache Guacamole由三个主要服务组成。
-
- guacd ログインやユーザーからの入力を受け付けたり、実際のコンソール画面を表示します。
-
- guac guacdからの入力を内部的にSSHやRDP、VNCプロトコルに変換して実際のアクセス先のサーバに渡します。
- データベース ユーザー情報やホスト情報を保管する為のデータベースの管理をします。外部のサーバも利用できます。
将此docker-compose文件保存为docker-compose.yml,并通过dokcer-compose start命令启动即可,应该能够运行。
如果您想要使用二要素认证,请在docker-compose.yml文件的同一层级下创建config/guacamole/extensions目录。
将guacamole-auth-totp-1.0.0.tar.gz下载并解压到指定的文件夹中,并将解压后的jar文件放置在该文件夹中。
Apache鳄梨酱1.0.0
https://guacamole.apache.org/releases/1.0.0/
如果使用docker-compose restart进行重新启动,然后使用帐号和密码登录后,将显示Google认证或Authy认证的页面。
以上是使用Docker-Compose进行构建的全部过程。
祝你有一个美好的Guacamole生活!
补充一点
如果使用标准字体,可能会出现日文成为“豆腐”(乱码)的情况。
请按以下方式将支持日文的字体安装并挂载。
- /usr/share/fonts/vlgothic/VL-Gothic-Regular.ttf:/usr/share/fonts/vlgothic/VL-Gothic-Regular.ttf:ro