AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1165956
Accepted
Corentin
Corentin
Asked: 2024-10-01 01:51:27 +0800 CST2024-10-01 01:51:27 +0800 CST 2024-10-01 01:51:27 +0800 CST

guacd 代理的安全性(Apache Guacamole)

  • 772

自 Apache Guacamole 文档以来,在 Docker 安装 guacd 时,它表示利用其端口到​​主机(使用“docker run --name some-guacd -d -p 4822:4822 guacamole/guacd”)将是一个潜在的安全问题。我的问题是:如果守护进程没有 Docker 就安装在同一个服务器上,情况不是一样吗?

我的目标是获得一个 Apache Guacamole 服务,它可以处理不在 docker 上的机器的 RDP(只是与主机在同一个网络上 [通过 docker 或本地])

rdp
  • 1 1 个回答
  • 106 Views

1 个回答

  • Voted
  1. Best Answer
    Zhivko Zhelev
    2024-10-01T07:34:51+08:002024-10-01T07:34:51+08:00

    其实并不一样,假设您在路由器(DHCP)后面,并且您的 IP 是 192.168.0.100,我将为您提供两种实现:

    1. Docker - 您有两个容器(guacd 和用于 guacamole UI 的 tomcat),在这种情况下,只有 tomcat 容器公开一个端口(例如 8080),前端向后端(guacd)发出请求,它们通过 docker 代理守护进程相互通信。在同一个 docker 网络中。
    2. 主机 - 几乎相同的方法,但这里 guacd 监听 127.0.0.1(localhost),只能在主机内部访问,只有 tomcat 监听 192.168.0.100,因此可以从同一网络中的其他主机访问它。

    这两种实现的主要区别在于,在第一种情况下,docker 代理守护进程被放置在服务和主机之间。

    以下是一个简单的例子:

    准备脚本

    #!/bin/sh
    # check if docker is running
    if ! (sudo docker ps >/dev/null 2>&1)
    then
            echo "docker daemon not running, will exit"
            exit
    fi
    echo "Preparing folder init and creating ./init/initdb.sql"
    mkdir ./init >/dev/null 2>&1
    mkdir ./guac_home >/dev/null 2>&1
    chmod -R +x ./init
    sudo docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --postgresql > ./init/initdb.sql
    echo "done"
    

    docker-compose.yml

    networks:
      guacnetwork:
        driver: bridge
    
    services:
      guacd:
        container_name: guacd
        image: guacamole/guacd
        networks:
          guacnetwork:
        restart: unless-stopped
        volumes:
        - ./drive:/drive:rw
        - ./record:/record:rw
    
      postgres:
        container_name: postgres_guacamole
        environment:
          PGDATA: /var/lib/postgresql/data/guacamole
          POSTGRES_DB: guacamole_db
          POSTGRES_PASSWORD: 'PASSWORD'
          POSTGRES_USER: guacamole_user
        image: postgres
        networks:
          guacnetwork:
        restart: unless-stopped
        volumes:
        - ./init:/docker-entrypoint-initdb.d:z
        - ./data:/var/lib/postgresql/data:Z
    
      guacamole:
        container_name: guacamole
        depends_on:
        - guacd
        - postgres
        environment:
          GUACD_HOSTNAME: guacd
          POSTGRES_DATABASE: guacamole_db
          POSTGRES_HOSTNAME: postgres
          POSTGRES_PASSWORD: 'PASSWORD'
          POSTGRES_USER: guacamole_user
          REMOTE_IP_VALVE_ENABLED: true
          GUACAMOLE_HOME: /guacamole_home
        image: guacamole/guacamole
        links:
        - guacd
        networks:
          guacnetwork:
        ports:
        - 8080:8080/tcp
        restart: unless-stopped
        volumes:
        - ./guac_home:/guacamole_home:rw
    
    • 1

相关问题

  • 从超链接调用远程桌面连接

  • 当 RDP 到终端服务器时打印机设置更改

  • Vista Home Basic 上的 RDP 客户端 [关闭]

  • 自动登录 - Windows XP SP2 和 Windows 2003 终端服务器

  • 终端服务和 rdp-tcp 会话

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve