IRONSECUREDOCの使用

グアカモーレDocker(開発者のためのPDFセキュリティの仕組み)

公開済み 2025年3月5日
共有:

Guacamole Dockerとは何ですか?

ワカモレDocker は、非クライアント型のリモートデスクトップゲートウェイである Apache Guacamole の Docker 化されたデプロイメントで、ユーザーが追加のソフトウェアをインストールすることなく、デスクトップやサーバーなどのリモートシステムにウェブブラウザ経由でアクセスすることを可能にします。 2つの主要な部分で構成されています: セッション管理とアクセスのためのユーザーインターフェースとして機能するGuacamoleウェブアプリケーションリモートセッション、Guacamoleデーモン(guacd)、RDP、VNC、およびSSH接続のためのプロトコル翻訳を担当します。 オプションとして、MySQLやPostgreSQLのようなデータベースと組み合わせて、ユーザーアカウントや接続設定を保存するために使用することもできます。 Guacamole Dockerは、デプロイメントを簡素化し、プラットフォームに依存せず、ファイル転送およびクリップボード共有をサポートし、複数のリモートシステムへのセキュアで集中管理されたアクセスを提供します。

Guacamole Dockerのダウンロードとインストール方法

Dockerのインストール

Dockerはコンピュータにインストールされている必要があります。 Docker がインストールされていない場合は、お使いのオペレーティングシステムに適したインストール手順に従ってインストールしてください。

Docker Desktopをダウンロード
  • Docker Desktop for Windows にアクセスするページ.
  • インストーラーをダウンロードするには「Download for Windows」をクリックしてください。
インストーラーを実行する
  • ダウンロードしたDocker Desktop Installer.exeをダブルクリックします。
  • セットアップウィザードを続けてください。
  • 「Hyper-Vの代わりにWSL 2を使用」を選択(強くお勧めします).
WSL 2を有効にする(まだ有効にされていない場合)

PowerShellを管理者として開き、次のコマンドを入力します。

wsl --install
wsl --install
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'wsl --install
$vbLabelText   $csharpLabel

メッセージが表示されたら、コンピューターを再起動してください。

セットアップウィザードに従い、指示があればDocker Hubアカウントにログインしてください。

Dockerイメージをプルする

Apache Guacamoleは2つの主要なDockerイメージで構成されています:

Guacamole デーモン (guacd)

RDP、VNC、SSHのプロトコル変換を処理するguacamole/guacdイメージをプルします。

docker pull guacamole/guacd

壊れた画像 Pixabayから追加、ファイルから選択、またはここに画像をドラッグアンドドロップしてください。

ワカモレウェブアプリケーション

guacamole/guacamole イメージをプルし、ユーザーがリモートシステムに接続するためのウェブインターフェイスを提供します。

docker pull guacamole/guacamole

壊れた画像 Pixabayから追加、ファイルから選択、またはここに画像をドラッグアンドドロップしてください。

認証用のデータベースをセットアップする

Apache Guacamole はユーザーを認証するためのメカニズムが必要です。 このセクションでは、MySQL SQLスクリプトによるデータベース認証について説明していますが、Guacamole認証のためにPostgreSQLデータベースとMariaDBもサポートされています。他のデータベース以外の方法も使用可能です。

docker pull mysql:8

壊れた画像 Pixabayから追加、ファイルから選択、またはここに画像をドラッグアンドドロップしてください。

MySQL認証用のテーブルを作成するデータベース初期化スクリプトを作成します。

docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --mysql > initdb.sql

Guacamoleスキーマに含まれるSQLスクリプトをリネームして移動し、それをMySQL Dockerコンテナで実行できます。

docker cp initdb.sql example-mysql:/guac_db.sql

MySQLユーティリティDockerコンテナ内でbashシェルを開きます。

docker exec -it example-mysql bash

シェルプロンプトは、bash-4.4# またはそれに類するものに変更されるはずです。 コンテナのbashシェルプロンプト内で、rootユーザーとしてMySQLデータベースにログインします。

mysql -u root -p
mysql -u root -p
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'mysql -u root -p
$vbLabelText   $csharpLabel

プロンプトは再びMySQLに変更されるべきです。

壊れた画像 Pixabayから追加、ファイルから選択、またはここに画像をドラッグアンドドロップしてください。

MySQLプロンプトで、ルートパスワードを変更し、新しいMySQLデータベースを作成し、その新しく作成したデータベースのために新しいユーザーを作成します。 以下のコマンドを実行する際は、password のインスタンスをそれぞれ MySQL ルートユーザーとデータベースの新しいユーザーのための安全なパスワード文字列に置き換えてください。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE guacamole_db;
CREATE USER 'guacamole_user'@'%' IDENTIFIED BY 'password';
GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'%';
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE guacamole_db;
CREATE USER 'guacamole_user'@'%' IDENTIFIED BY 'password';
GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'%';
FLUSH PRIVILEGES;
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'ALTER USER 'root"@"clocalhost' IDENTIFIED BY 'password'; CREATE DATABASE guacamole_db; CREATE USER 'guacamole_user"@"c%' IDENTIFIED BY 'password'; GRANT @SELECT,INSERT,UPDATE,DELETE @ON guacamole_db.* @TO 'guacamole_user"@"c%'; FLUSH PRIVILEGES;
$vbLabelText   $csharpLabel

Guacamole Docker(PDFセキュリティのための開発者向けの動作方法):図5 - Guacamoleスキーマ

次のコマンドを使用すると、テーブル内のすべてのテーブルを表示できます:

SHOW TABLES;
SHOW TABLES;
Dim TABLES As SHOW
$vbLabelText   $csharpLabel

Guacamole Docker(開発者向けのPDFセキュリティの仕組み):図6 - SQLテーブル

Dockerコマンドを使用してGuacamole Dockerを開始

以下のDockerコマンドを使用してguacdを開始します(ワカモレ・デーモン).

docker run -d --name guacd guacamole/guacd

Guacamole Docker(PDFセキュリティのための開発者向けの動作方法):図7 - Guacamoleデーモンの開始

ガカモーレ(Webアプリケーション)を開始する

GuacamoleにguacdコンテナとMySQLデータベースを手動でリンクする:

docker run --name guacamole-client --link guacd:guacd --link guacamoledb:mysql -e MYSQL_DATABASE=guacdb -e MYSQL_USER=guacamole_user -e MYSQL_PASSWORD=password -d -p 85:8085 guacamole/guacamole

Guacamole Docker(開発者向けPDFセキュリティの仕組み):図8 - Guacamoleウェブアプリケーションを開始する

以下のように、Docker をホスティングしている実行中のシステムまたはマシン上の各 Docker コンテナのステータスを確認しましょう。

docker ps -a

前の手順で作成した各コンテナが表示されるはずです。

Guacamoleクライアントコンテナが作成されると、Guacamoleコンテナ作成時に指定されたポート番号を使ってウェブブラウザからアクセスできます。 以下は、Guacamoleクライアントのログインページのスクリーンショットです。

Guacamole Docker(開発者向けPDFセキュリティへの活用方法):図9 - ログイン

LinuxサーバーをGuacamole Connectionに追加

SSHサポートの検証

GuacamoleはデフォルトでSSHをサポートしています。 必要な拡張機能を確実に(guacamole-auth-jdbc または類似のもの)およびその依存関係がインストールされている。 SSHは通常、Guacamoleで標準サポートされています。

SSH接続を追加

  • GuacamoleのWebインターフェースに管理者としてサインインします。
  • 設定 > 接続に移動
  • 新しい接続をクリックします。

    Guacamole Docker(PDFセキュリティにおける開発者向けの動作方法):図10 - SSH接続

基本接続設定

  • 名前: 接続に名前を付けてください。例えば、「My SSH Server」など。
  • プロトコル: SSHを選択します。

SSH接続詳細

  • ホスト名: 接続したいサーバーのIPアドレスまたはホスト名を入力してください。
  • ポート: デフォルトは22です。SSHサーバーが別のポートを使用している場合は、別のポートを使用してください。
  • ユーザー名: SSHログインユーザー名を入力してください。
  • パスワード: キーベース認証を使用していない場合は、パスワードを入力することもできます。

    Guacamole Docker(PDFセキュリティのための開発者向け仕組み):図11 - 接続の詳細

    次に、管理インターフェイスからログアウトし、新しい接続にアクセスできるユーザーとしてログインしてください。 リストから接続を選択します。

    Guacamole Docker(開発者向けPDFセキュリティにおける動作原理):図12 - ユーザー接続

    ブラウザでSSHセッションを開きます。

    Guacamole Docker(PDFセキュリティにおける開発者向けの仕組み):図13 - SSHセッション

IronSecureDocとは何ですか?

IronSecureDocは、高度な暗号化、複雑なPDF操作、およびデジタル署名を活用したドキュメント管理およびセキュリティユーティリティツールです。 それは企業と開発者にスムーズなアクセスの利便性を提供し、直接的または間接的な依存関係なしにPDFドキュメントを容易に処理できるようにします。 これは、開発者がPDFファイルや文書をプログラムで自動的に作成、アップロード、操作、セキュリティ保護できる機能を備えている場合、「アグレッシブなPDF API」と呼ばれることがあります。

Guacamole Docker(開発者向けPDFセキュリティの仕組み):図14 - IronSecureDoc:PDFセキュリティおよびコンプライアンスサーバー

さらに、IronPDFはあらゆる種類のデータ入力からPDFを作成し、テキスト、画像、メタデータなどのパラメータを通じてコンテンツを追加または編集できるPDF APIです。 それはいくつかのPDFを結合し、合成ファイルを作成する機能、ドキュメントを分割する機能、そして注釈のためのコメント、ハイライト、またはウォーターマークを追加する機能を組み込んでいます。

IronSecureDoc Dockerイメージをプルする Guacamole SSH

次のコマンドを実行してDockerイメージを取得します。

docker pull ironsoftwareofficial/ironsecuredoc:latest

ironsecuredoc: 最新 提供された場合は、指定されたバージョンまたはタグに置き換えてください。

Guacamole Docker(PDFセキュリティのための開発者向けの仕組み):図15 - IronSecureDoc

IronSecureDoc Docker コンテナを実行する

ダウンロードしたイメージを使用してコンテナを開始します。

docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest

Guacamole Docker(PDFセキュリティのためのデベロッパー向けの仕組み):図16 - Dockerコンテナ

IronSecureDocにアクセスする

IronSecureDocがウェブインターフェースを持つ場合、指定されたポートを使用してブラウザでサーバーのIPアドレスを開いてください。例えば、http://:8080です。アプリケーションに必要な初期設定を完了してください。

以下はIronSecureDocのWebインターフェースです。

Guacamole Docker(開発者向け PDF セキュリティの仕組み): 図17 - IronSecureDoc Webインターフェース

curl -X 'POST' \
  'http://localhost:8080/encrypt?user_password=demo' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@test.pdf;type=application/pdf'

Guacamole Docker(PDFセキュリティのための開発者向けの動作原理):図18 - API POST

ただし、コードを投稿した場合IronSecureDoc API、ユーザーのパスワードを使ってリクエストを暗号化するために、パスワードを要求することも考えるかもしれません。 ドキュメントの出力ファイルは自動的に送信およびダウンロードされ、安全に保存されます。

結論

Apache Guacamoleは、ユーザーがリモートアクセスを行い、IronSecureDocを含むコンテナ化されたアプリケーションを安全でユーザーフレンドリーなSSHインターフェースを通じて簡単に管理するためのDocker統合を容易にします。 Dockerの柔軟性とGuacamoleの利便性により、システム管理者はユーザーに直接サーバーを公開することなく、強力なツールへの制限されたアクセスをプロビジョニング、管理、提供できます。

これは、スケーラビリティ、セキュリティ、および使いやすさを確保することで、コンテナ化された環境を使用する際に組織にとって理想的な利点となります。 アプリケーションの展開、テスト、あるいは本番環境で、操作を簡素化しながらエンドユーザーへのアクセスをより利用しやすくする信頼性の高いプラットフォームを提供します。

信頼性とコンプライアンス: 最大限のセキュリティで完全な監査を行うことができます。 IronSecureDoc REST APIを使用することで、PDF形式の安全な印刷とエラーハンドリングを簡単にウェブ、モバイル、および企業システムの開発者が開発するアプリケーションに統合することができます。 IronSecureDocのライセンスに関する情報は、こちらをご覧ください。ライセンスページ. Iron Software の製品に関する詳細な設定情報については、ライブラリスイートを参照してください。ページ.

リーガン・パン

リーガン・パン

ソフトウェアエンジニア

 LinkedIn

レーガンはリーディング大学で電子工学の学士号を取得しました。Iron Softwareに入社する前の仕事では、一つのタスクに集中して取り組んでいました。Iron Softwareでは、営業、技術サポート、製品開発、マーケティングのいずれにおいても広範な業務に携わることが最も楽しいと感じています。彼は、Iron Softwareライブラリを開発者がどのように使用しているかを理解し、その知識を使ってドキュメントを継続的に改善し、製品を開発することを楽しんでいます。
次へ >
Graylog Docker (開発者向けPDFセキュリティの仕組み)