サーバー設定 · 3 min read · Sep 09, 2025
Warpgateを使用してDebianにバスチオンサーバーを設定する方法

バスチオンサーバーとは、コンピュータネットワークへの攻撃に耐えるように設計され、構成されたコンピュータ/マシン/サーバーを指します。バスチオンサーバーの機能は、アプリケーションのプロキシまたはロードバランサーに似ています。これにより、DMZネットワークにあるコンピュータやサーバーにアクセスできます。
Warpgateは、バスチオンサーバーとして使用できる現代的なソリューションです。Rustで書かれており、Webベースの管理ダッシュボードを提供します。特定のノードにインストールした後、プライベートインフラストラクチャにあるターゲットノードやサーバーを簡単に追加できます。Warpgateは現在、SSH、MySQL/MariaDB、HTTPのバスチオンサーバーとして使用できます。
このチュートリアルでは、Warpgateを使用してDebian 11サーバー上でSSHおよびMySQL/MariaDB接続のためのバスチオンサーバーを設定します。DebianサーバーにWarpgateをインストールして構成し、SSHターゲットサーバーとMySQLサーバーをWarpgateに追加します。最後に、ターゲットホストのSSHサーバーおよびMySQLサーバーに接続して、Warpgateバスチオンサーバーが機能していることを確認します。
前提条件
このチュートリアルを完了するために、以下の要件が必要です:
- Debian 11を実行しているLinuxサーバー - この例では、ホスト名が ‘warpgate-debian‘、IPアドレスが ‘192.168.5.10‘のサーバーを使用します。
- sudo/root管理者権限を持つ非rootユーザー。
Warpgateバイナリファイルのダウンロード
このセクションでは、GitHubからWarpgateバイナリファイルを手動でダウンロードし、システムの ‘bin’ ディレクトリに移動します。Warpgateをインストールする別の方法は、ソースコードからコンパイルするか、Warpgate Dockerバージョンを使用することです。
まず、以下の wget コマンドを実行してWarpgateバイナリファイルをダウンロードします。最新バージョンのWarpgateについては、公式GitHubダウンロードページを訪問してください。
wget -q https://github.com/warp-tech/warpgate/releases/download/v0.7.0/warpgate-v0.7.0-x86_64-linuxダウンロードが完了したら、Warpgateバイナリファイルを ‘/usr/local/bin/warpgate ‘ に移動します。次に、 ‘chmod +x’ コマンドを使用して実行可能にします。
mv warpgate-v0.7.0-x86_64-linux /usr/local/bin/warpgate
sudo chmod +x /usr/local/bin/warpgate次に、以下のコマンドを実行して、システム上の ‘ warpgate ‘ バイナリファイルを見つけます。
which warpgate次に、Warpgateのバージョンを確認し、’warpgate’ コマンドの利用可能なパラメータをリストします。
warpgate version
warpgate --help以下のような出力が得られるはずです。

Warpgateをバスチオンサーバーとして構成する
Warpgateバイナリファイルがダウンロードされたので、これからWarpgateのインストールを設定および構成します。これは、’ warpgate ‘ コマンドを介して対話的に行うことができます。
以下のコマンドを実行して、Warpgateをバスチオンサーバーとして構成します。
warpgate setupコマンドが実行されると、以下の構成について尋ねられます:
- Warpgateデータをどこに保存しますか?デフォルトの ‘/var/lib/warpgate’ ディレクトリのままにします。
- Warpgateウェブ管理ダッシュボードのエンドポイントは?デフォルトのままにして、内部/公開IPアドレスでポート8888でWarpgateを実行します。
- SSH接続を受け入れますか?はいと入力して、WarpgateをSSHバスチオンサーバーとして有効にします。
- SSHバスチオンサーバーのエンドポイントは?デフォルトのままにして、内部/公開IPアドレスでポート2222でSSHバスチオンサーバーを実行します。
- MySQL接続を受け入れますか?はいと入力して、WarpgateをMySQLバスチオンサーバーとして有効にします。
- MySQLバスチオンサーバーのエンドポイントは?デフォルトのポート33306のままにします。
- ユーザーセッションを記録しますか?はいと入力して有効にします。
- デフォルトユーザーadminのパスワードを設定します。Warpgateインストール用のパスワードを入力します。

セットアッププロセスが完了すると、以下のような出力が得られます。また、プロセス中に作成されたWarpgate構成ファイル ‘/etc/warpgate.yaml’ とデータディレクトリ ‘/var/lib/warpgate’ も表示されます。

次に、以下のコマンドを実行して ‘/etc/warpgate.yaml’ ファイルの内容と ‘/var/lib/warpgate’ の利用可能なファイルおよびディレクトリのリストを表示します。
cat /etc/warpgate.yaml
ls /var/lib/warpgate以下は、ターミナルに表示される出力です。

次に、以下のコマンドを実行してWarpgateを実行します。’ Warpgate is now running ‘ という出力が表示され、SSH、MySQL、HTTP接続用のTCPポートが開かれます。
warpgate --config /etc/warpgate.yaml run
Webブラウザを開き、ポート8888を付けたWarpgateのIPアドレス(例: https://192.168.5.10:8888/)にアクセスします。成功すると、Warpgateのログインページが表示されます。

ターミナルに戻り、Ctrl+c を押してWarpgateプロセスを終了します。
WarpgateをSystemdサービスとして実行する
このセクションでは、WarpgateをSystemdで実行するように設定および構成します。これにより、Warpgateをバックグラウンドで実行でき、systemctlコマンドユーティリティを介して管理が容易になります。
以下のnanoエディタコマンドを使用して新しいsystemdユニットファイル ‘/etc/systemd/system/warpgate.service’ を作成します。
sudo nano /etc/systemd/system/warpgate.serviceファイルに以下のsystemdユニット構成を追加します。
[Unit]
Description=Warpgate
After=network.target
StartLimitIntervalSec=0
[Service]
Type=notify
Restart=always
RestartSec=5
ExecStart=/usr/local/bin/warpgate --config /etc/warpgate.yaml run
[Install]
WantedBy=multi-user.targetファイルを保存し、終了します。
以下のコマンドを実行してsystemdマネージャーをリロードし、変更を適用します。
sudo systemctl daemon-reload次に、以下のsystemctlコマンドユーティリティを使用してWarpgateサービスを開始および有効にします。
sudo systemctl start warpgate
sudo systemctl enable warpgate
その後、Warpgateサービスのステータスを確認して、サービスが実行中であることを確認します。
sudo systemctl status warpgate以下の出力は、Warpgateサービスが実行中であることを確認します。

サーバー上のオープンポートのリストを確認すると、LISTEN状態のポート2222、8888、33306が複数表示されます。以下のssコマンドを実行します。
ss -tulpn出力:

UFWの設定
このセクションでは、DebianサーバーにUFWをインストール、実行、および有効にします。また、Warpgateで使用されるポートも開きます。
以下のaptコマンドを実行してUFWをインストールします。
sudo apt install ufwプロンプトが表示されたら、yを入力してENTERを押します。

UFWがインストールされたら、以下のコマンドを実行して OpenSSH サービスとWarpgateポート 2222、 8888、および 33306 を開きます。
sudo ufw allow OpenSSH
sudo ufw allow 8888/tcp
sudo ufw allow 2222/tcp
sudo ufw allow 33306/tcp次に、以下のコマンドを使用してUFWを開始および有効にします。プロンプトが表示されたらyを入力してENTERを押して続行します。
sudo ufw enable以下のコマンドが実行された後、UFWは実行中および有効になっているはずです。つまり、UFWはシステム起動時に自動的に実行されます。

次に、以下のコマンドを入力してUFWのステータスを確認します。UFWが ‘Status: Active’ で、 OpenSSH サービス、ポート 2222, 8888, および 33306 が追加されているのが表示されるはずです。
sudo ufw status出力:

Warpgateへのログイン
Warpgateがsystemdサービスとして実行され、UFWが実行中であるため、これからWarpgateインストールにアクセスします。
Webブラウザを開き、サーバーIPアドレスの後にポート8888を付けて(例: https://192.168.5.20:8888 /)アクセスすると、Warpgateのログインページが表示されます。
デフォルトユーザー ‘admin‘ と設定したパスワードを入力します。次に、Login をクリックして続行します。

‘ admin ‘ としてログインしたら、メニュー ‘Manage Warpgate‘ をクリックします。

これでWarpgateユーザーダッシュボードが表示されるはずです。

この時点で、Debianサーバー上にSSHおよびMySQLバスチオンサーバーとしてWarpgateのインストールが完了しました。これからサーバーとMySQLサーバーをWarpgateに追加する準備が整いました。
SSHターゲットサーバーの追加
このセクションでは、IPアドレス 192.168.5.25 とホスト名 ‘node1‘ を持つLinuxサーバーをWarpgateバスチオンサーバーに追加します。そのためには、Warpgate SSH公開鍵をターゲットサーバーに追加する必要があります。
Warpgateダッシュボードで、SSH メニューをクリックすると、ターゲットサーバーにログインするために使用されるWarpgate SSH公開鍵と秘密鍵が表示されます。
SSH公開鍵をメモにコピーします。

次に、ターゲットサーバーにログインし、新しいディレクトリ ‘~/.ssh ‘ を作成し、以下のnanoエディタコマンドを使用してファイル ‘authorized_keys ‘ を作成します。
mkdir -p ~/.ssh/
nano ~/.ssh/authorized_keysWarpgate SSH公開鍵を追加します。

次に、Warpgateダッシュボードに移動し、Config メニューをクリックして、’ Add a target ‘ をクリックします。

ターゲットサーバーのホスト名を入力し、タイプを SSH に選択して、Create target をクリックします。

ターゲットサーバーのIPアドレスとサーバーにログインするために使用されるユーザーを変更します。認証については、’ Warpgate’s private keys ‘ を選択します。次に、’ Allow access for roles ‘ セクションで ‘warpgate:admin’ ロールを有効にする必要があります。
完了したら、’ Update configurations ‘ をクリックします。

これでターゲットサーバー ‘node1 ‘ がWarpgateに追加されました。これからWarpgateバスチオンサーバーを介して ‘node1 ‘ に接続できます。
以下のsshコマンドを実行して、Warpgateバスチオンサーバーを介して ‘node1 ‘ に接続します。このコマンドでは、形式が ‘role: server-name’ で、バスチオンサーバーのIPアドレス 192.168.5.10 とポート 2222 を使用します。
ssh 'admin:[email protected]' -p 2222確認のためにyesを入力し、ターゲットのSSHフィンガープリントを追加します。パスワードを求められたら、バスチオンの ‘admin‘ ユーザーのパスワードを入力します。
接続が成功すると、’ Warpgate connected ‘ という出力が得られ、ターゲットサーバー ‘node1 ‘ にログインします。
以下のコマンドを入力して、現在ログインしているサーバーを確認します。Warpgate SSHバスチオンサーバーを介して ‘node1 ‘ サーバーにログインしていることがわかります。
id
hostname出力:

Warpgateウェブ管理ダッシュボードを確認すると、SSHターゲットサーバーのフィンガープリントが表示されるはずです。

MySQL/MariaDBターゲットサーバーの追加
このセクションでは、MariaDBサーバーをWarpgateバスチオンサーバーに追加します。その前に、MariaDBサーバーをプライベート/内部IPアドレスで実行するように設定し、リモート接続用の新しいMariaDBユーザーを作成します。
MariaDBサーバーにログインし、以下のnanoエディタコマンドを使用して構成ファイル ‘/etc/mysql/mariadb.conf.d/50-server.cnf’ を開きます。
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf‘ bind-address ‘ パラメータのコメントを外し、値を内部IPアドレスに変更します。この例では、MariaDBサーバーはプライベートIPアドレス ‘192.168.5.25‘ で実行されます。
bind-address = 192.168.5.25ファイルを保存し、エディタを終了します。
以下のコマンドを入力してMariaDBサービスを再起動し、変更を適用します。再起動後、MariaDBはデフォルトのlocalhostではなく、IPアドレス ‘192.168.5.25’ で実行されるはずです。
sudo systemctl restart mariadb次に、rootユーザーとしてMariaDBシェルにログインして、新しいユーザーを設定および作成します。
sudo mariadb -u root -p以下のクエリを入力して、新しいMariaDBユーザー ‘appuser’ を作成し、そのユーザーがMariaDBサーバー上のすべてのデータベースにアクセスできるようにします。また、以下のクエリでパスワードを変更してください。
CREATE USER 'appuser'@'%' IDENTIFIED BY 'p4@@w0rd';
GRANT ALL PRIVILEGES ON *.* TO 'appuser'@'%' IDENTIFIED BY 'p4@@w0rd';
FLUSH PRIVILEGES;
EXIT;次に、MariaDBサーバーに接続するために使用されるマシンにMariaDBクライアントパッケージを設定します。

以下のコマンドを使用して ‘mariadb-client’ パッケージをインストールします。プロンプトが表示されたらyを入力してENTERを押します。
sudo apt install mariadb-client
次に、Warpgateサーバーに移動し、作業ディレクトリを ‘/var/lib/warpgate ‘ に変更し、Warpgate TLS証明書をMariaDBクライアントマシンにコピーします。
cd /var/lib/warpgate/
sudo scp tls.certificate.pem tls.key.pem [email protected]:/etc/mysql/
次に、クライアントマシンに戻り、MariaDBクライアント構成 ‘/etc/mysql/mariadb.conf.d/50-client.cnf’ を以下のnanoエディタコマンドを使用して開きます。
sudo nano /etc/mysql/mariadb.conf.d/50-client.cnf以下の構成を ‘ [client] ‘ セクションに追加して、安全なクライアント接続を有効にします。
[client]
....
ssl-cert=/etc/mysql/tls.certificate.pem
ssl-key=/etc/mysql/tls.key.pemファイルを保存し、終了します。
次に、Warpgateダッシュボードで Config メニューをクリックし、’ Add a target ‘ をクリックします。

MariaDBサーバー名を入力し、タイプを ‘ MySQL ‘ に選択して、Create target をクリックします。

詳細ホスト、ユーザー、およびパスワードをMariaDBユーザーの詳細に変更します。デフォルトのTLS証明書がある場合は、’ Verify certificate ‘ オプションをオフにし、’ Allow access for roles ‘ セクションで ‘ warpgate:admin ‘ ロールを有効にします。
完了したら、’ Update configuration ‘ をクリックします。

MariaDBサーバーがWarpgateに追加されたので、Warpgate MySQLバスチオンサーバーを介してMariaDBサーバーにアクセスできます。
MariaDBクライアントマシンから、以下のコマンドを入力してMariaDBサーバーに接続します。プロンプトが表示されたら、Warpgate管理ユーザーのパスワードを入力します。
mysql -u 'admin#mysql1' --host '192.168.5.10' --port 33306 --ssl -p接続されると、’ MySQL [(dbname)]> ‘ のようなMariaDBシェルプロンプトが表示されます。以下のクエリを入力して、使用しているユーザーがMariaDBサーバーで利用可能であることを確認します。
SELECT host, user, plugin, authentication_string from mysql.user;
SHOW GRANTS FOR appuser@'%';出力:

これで、Warpgate MySQL/MariaDBバスチオンサーバーを介してMariaDBサーバーに接続しました。
結論
このチュートリアルでは、Debian 11にWarpgateバスチオンサーバーをインストールおよび構成しました。WarpgateをsystemdおよびUFWファイアウォールで実行するように構成しました。それに加えて、WarpgateをSSHおよびMySQL/MariaDBバスチオンサーバーとして構成し、SSHターゲットサーバーを追加し、MySQL/MariaDBターゲットサーバーも追加しました。
これを念頭に置いて、新しいユーザー、ロールを設定し、Warpgateバスチオンサーバーに新しい接続を追加できます。そして、単一の集中型バスチオンサーバーを介してユーザー接続とアクセスを集中化できます。Warpgateの詳細については、Warpgate公式ドキュメントを訪問してください。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。