Docker로 구축 Apache Guacamole

Apache Guacamole이란?



Apache Guacamole
ぇtps://구아지도. 아파치. rg/

본가의 사이트에도 설명이 있습니다만 이하가 주요한 포인트입니다.
  • 무료로 오픈 소스 소프트웨어
  • VNC, RDP, SSH와 같은 표준 프로토콜
  • 필요한 것은 웹 브라우저 만

  • AWS에 구축하여 AWS의 EC2 인스턴스에 액세스하고 편리합니다.
    또한 WEB 브라우저 기반이므로 HTTPS 통신에서 WAF를 통과하면 꽤 안전합니다.

    또한 AWS WAF를 사용하면 XSS 및 SQL 주입 외에도
    국내만의 액세스를 허가라고 하는 것도 할 수 있어 어택이 훨씬 줄어듭니다.

    또한, 1.0.0부터 2 요소 인증에 대응하고 있으며,
    Google 인증과 Authy를 사용하여 더욱 보안이 강화됩니다.

    무슨 느낌 (인증)



    우선은 계정 + 패스워드에 의한 인증.


    다음은 Google 인증과 Authy를 사용한 인증입니다.



    또, WEB 액세스이기 때문에 HTTPS 경유로 하면 시큐어가 되고,
    WAF도 사용할 수 있어 더욱 견고해져, 회사나 집에서 액세스하는 것도 가능하고
    장소를 선택하는 일을 할 수 있습니다.

    Native로 구축



    Chapter 2. Installing Guacamole natively
    ぇtps://구아지도. 아파치. 오 rg/도 c/구 g/인 s 흠 g-구아지도. HTML

    여기 Apache Guacamole 설명서에 따라 Native로 구축 할 수 있습니다.
    다만, 조금 번거롭기 때문에, Docker로 바삭하게 구축해 버립시다.

    Docker로 구축



    Chapter 3. Installing Guacamole with Docker
    ぇtps://구아지도. 아파치. 오 rg/도 c/구 g/구아지도 ぇ도 c케 r. 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 Guacamole 1.0.0
    ぇtps://구아지도. 아파치. rg/레아아세 s/1.0.0/
    docker-compose restart로 다시 시작하면 계정 + 암호로
    로그인하면 Google 인증 또는 Auth 인증 화면이 표시됩니다.

    이상으로 Docker-Compose에 의한 구축은 이상입니다.
    좋은 Guacamole Life를! !

    추신



    표준 글꼴의 경우 일본어가 두부가 될 수 있습니다.
    아래와 같이 일본어에 대응한 폰트를 넣어 마운트해 둡니다.
    - /usr/share/fonts/vlgothic/VL-Gothic-Regular.ttf:/usr/share/fonts/vlgothic/VL-Gothic-Regular.ttf:ro
    

    좋은 웹페이지 즐겨찾기