0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[前回] ゼロトラストのディープダイブ(2)-アーキテクチャと機能要件

はじめに

ゼロトラストのアーキテクチャと機能要件を理解しました。
理論だけでは面白くないので、手を動かしながらゼロトラスト対策の関連ツールを検証します。
今回選んだのは、リモートアクセスを制御するOSSツールApache Guacamole

Apache Guacamoleはクライアントレスのリモートデスクトップゲートウェイ

クライアントのブラウザから、複数のリモートサーバー(Azure VM、Amazon EC2、オンプレミスサーバーなど)への接続を一括制御可能で、
RDP/SSH/VNC接続をサポート、認証証跡も残してくれるようです。

image.png

  • 特徴
    • VNC(RFB)、RDP、SSHなどの標準プロトコルをサポート
    • クライアントレスで、プラグインやクライアントソフトウェア不要

構成

image.png

  • クライアントは、HTML5対応ウェブブラウザ
  • Guacamole中継サーバー(リモートサーバーに配置可)
  • デスクトップ稼働中のリモートサーバー

検証シナリオと注意事項

ChromeからUbuntuサーバーへ、Apache Guacamoleを経由したSSH接続を行います。

  • クライアント
    • Chromeバージョン: 101.0.4951.41(Official Build)(64ビット)
  • Guacamole中継サーバー
    • Ubuntu 20.04 LTS
    • 便宜上、下記サーバーと同じものを使用
  • サーバー
    • Ubuntu 20.04 LTS

※ 注意: あくまでも検証目的で、全てを同じPCにインストールしています。
このような設定はゼロトラスト対策としては使えませんのでご注意ください。

検証環境

CPU: Intel(R) Core(TM) 3.30GHz(4コア8スレッド)
メモリ: 16 GB
OS: Ubuntu 20.04 LTS

Ubuntuは、Windows 10で以下のように管理者権限で導入しました。

> wsl --install -d Ubuntu-20.04

サーバーの操作手順: SSHサーバーをインストール

Ubuntu端末を開き、SSHサーバーをインストールします。
手順は、Ubuntu 20.04 - SSHのインストールと接続方法をご参照。

Guacamole中継サーバーの操作手順: Apache Guacamoleをインストール

  • Ubuntu端末を開き、下記コマンド実行
wget https://git.io/fxZq5
mv fxZq5 guac-install.sh
chmod +x guac-install.sh
sudo ./guac-install.sh
  • Apache Guacamoleは、多要素認証としてTOTPかDuoをサポートしていました(今回は割愛)
MFA: Would you like to install TOTP (choose 'N' if you want Duo)? (y/N): N
MFA: Would you like to install Duo (configuration values must be set after install in /etc/guacamole/guacamole.properties)? (y/N): N
  • MySQLのインストールに必要な、rootユーザーとguacamole_userユーザーのパスワードを指定(強力なパスワードを指定してください)
MySQL is required for installation, if you're using a remote MySQL Server select 'n'
Would you like to install MySQL? (Y/n): Y

Enter localhost's MySQL root password:
Confirm localhost's MySQL root password:

A new MySQL user will be created (guacamole_user)
Enter localhost's MySQL guacamole user password:
Confirm localhost's MySQL guacamole user password:
  • インストールが成功したら、以下が表示される
Installation Complete
- Visit: http://localhost:8080/guacamole/
- Default login (username/password): guacadmin/guacadmin
***Be sure to change the password***.

Apache Guacamoleの管理画面で、SSH接続設定を行う

  • ブラウザから、Apache Guacamoleのhttp://<サーバーのIPアドレス>:8080/guancamoleにアクセス

デフォルトユーザーはguacadminでパスワードも同じ(変更してください)

image.png

  • 右上のプルダウンメニューから設定を選択
    設定画面の接続タブで接続の追加をクリック

image.png

  • 接続の編集で、プロトコルSSHを選択
  • 同時接続制限で、最大接続数を指定
  • パラメータ
    • ネットワークで以下指定
      • ホスト名に、接続先サーバーのホスト名またはIPアドレス
      • ポートに、SSHポート番号の22
    • 認証で以下指定
      • 接続先サーバーのユーザ名を入力
      • パスワードを入力

image.png

クライアント側のブラウザからSSH接続確認

ブラウザから、http://<サーバーのIPアドレス>:8080/guacamoleにログイン。

image.png

SSH接続成功し、ブラウザにUbuntu端末が表示されました。やったー。

おわりに

ゼロトラスト対策の一例として、Apache Guacamoleを検証しました。
次回は、ゼロトラストのソリューションをさらに深掘りします。
お楽しみに。

[次回] ゼロトラストのディープダイブ(4)-SASE(Secure Access Service Edge)
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?