如何在 Debian 上使用 Warpgate 设置堡垒服务器如何在 Debian 上使用 Warpgate 设置堡垒服务器如何在 Debian 上使用 Warpgate 设置堡垒服务器如何在 Debian 上使用 Warpgate 设置堡垒服务器
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 Debian 上使用 Warpgate 设置堡垒服务器

发表 admin at 2025年2月28日
类别
  • 未分类
标签

堡垒服务器是指专门设计和配置用于抵御计算机网络攻击的计算机/机器/服务器。堡垒服务器的功能类似于应用程序的代理或负载平衡器。它允许您访问位于 DMZ 网络中的计算机或服务器。

Warpgate 是一种现代解决方案,可用作堡垒服务器。它是用 Rust 编写的,并提供基于 Web 的管理仪表板。您可以将其安装在特定节点上,然后可以轻松添加位于私有基础设施上的目标节点或服务器。 Warpgate 目前可用作 SSH、MySQL/MariaDB 和 HTTP 的堡垒服务器。

在本教程中,您将使用 Warpgate 在 Debian 11 服务器上设置用于 SSH 和 MySQL/MariaDB 连接的 Bastion 服务器。您将在 Debian 服务器上安装并配置 Warpgate,然后将 SSH 目标服务器和 MySQL 服务器添加到 Warpgate。最后,您将通过连接到目标主机SSH服务器和MySQL服务器来确保Warpgate Bastion服务器正常工作。

先决条件

您需要满足以下要求才能完成本教程:

  • 运行 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

该命令执行后,会询问您以下配置:

  • 您想在哪里存储扭曲门数据?将其保留为默认目录“/var/lib/warpgate”。
  • Warpgate Web 管理仪表板的端点?将其保留为默认值,以在端口 8888 的内部/公共 IP 地址上运行 Warpgate。
  • 接受 SSH 连接吗?输入 yes 启用 Warpgate 作为 SSH 堡垒服务器。
  • SSH 堡垒服务器的端点?将其保留为默认值,以在端口 2222 的内部/公共 IP 地址上运行 SSH 堡垒服务器。
  • 接受 MySQL 连接吗?输入 yes 启用 Warpgate 作为 MySQL 堡垒服务器。
  • MySQL 堡垒服务器的端点?将其保留为默认端口 33306。
  • 记录用户会话?输入 yes 启用它。
  • 为默认用户 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

打开网络浏览器并访问端口 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 服务正在运行。

如果检查服务器上的开放端口列表,您将看到多个端口 2222、8888 和 33306 处于 LISTEN 状态。运行下面的 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 的状态为“状态:活动”,并且具有 OpenSSH 服务、端口为 2222、8888 和 33306 > 添加。

sudo ufw status

输出 :

登录扭曲门

随着 Warpgate 作为 systemd 服务运行并且 UFW 运行,您现在将访问 Warpgate 安装。

打开网络浏览器并访问服务器 IP 地址和端口 8888(即:https://192.168.5.20:8888/),您将看到 Warpgate 登录页面。

输入默认用户“admin”和您配置的密码。然后点击登录继续。

以“管理员”身份登录后,单击菜单“管理 Warpgate”。

您现在应该看到 Warpgate 用户仪表板。

至此,您已经在 Debian 服务器上完成了 Warpgate 作为 SSH 和 MySQL Bastion 服务器的安装。您现在已准备好将服务器和 MySQL 服务器添加到 Warpgate。

添加 SSH 目标服务器

在本部分中,您将 IP 地址192.168.5.25和主机名“node1”的 Linux 服务器添加到 Warpgate Bastion 服务器。为此,您必须将 Warpgate SSH 公钥添加到目标服务器。

在 Warpgate 仪表板上,单击SSH菜单,您将看到将用于登录目标服务器的 Warpgate SSH 公钥和私钥。

将 SSH 公钥复制到您的笔记中。

现在登录到目标服务器,创建一个新目录“~/.ssh”,然后使用以下 nano 编辑器命令创建文件“authorized_keys”。

mkdir -p ~/.ssh/
nano ~/.ssh/authorized_keys

将 Warpgate SSH 公钥添加到其中。

接下来,移至 Warpgate 仪表板并单击配置菜单,然后单击“添加目标”。

输入目标服务器的主机名,选择类型为SSH,然后点击创建目标。

更改目标服务器IP地址和用于登录服务器的用户。至于身份验证,请选择“Warpgate 的私钥”。然后,您必须在“允许角色访问”部分启用“warpgate:admin”角色。

完成后,点击“更新配置”。

这样,目标服务器“node1”就被添加到 Warpgate 中。您现在可以通过 Warpgate 堡垒服务器连接到“node1”。

运行以下 ssh 命令以通过 Warpgate 堡垒服务器连接到“node1”。在此命令中,使用的格式为'角色:服务器名称',其中包含堡垒服务器 IP 地址 192.168.5.10 和端口 2222。

ssh 'admin:[email ' -p 2222

输入 yes 确认并添加目标的 SSH 指纹。当系统提示输入密码时,输入堡垒“admin”用户的密码。

连接成功后,您应该会得到诸如“Warpgate已连接”之类的输出。您将登录到目标服务器“node1”。

输入以下命令来验证您登录的当前服务器。您将看到您已通过 Warpgate SSH 堡垒服务器登录到“node1”服务器。

id
hostname

输出 :

如果您检查 Warpgate Web 管理仪表板,您应该会看到 SSH 目标服务器的指纹。

添加 MySQL/MariaDB 目标服务器

在本部分中,您将向 Warpgate 堡垒服务器添加 MariaDB 服务器。在此之前,您将设置 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 应该在 IP 地址“192.168.5.25”而不是默认的本地主机上运行。

sudo systemctl restart mariadb

接下来,以 root 用户身份登录 MariaDB shell 以设置并创建新用户。

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 :/etc/mysql/

现在回到客户端计算机并使用以下 nano 编辑器命令打开 MariaDB 客户端配置'/etc/mysql/mariadb.conf.d/50-client.cnf'。

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 仪表板上,单击“配置”菜单,然后单击“添加目标”。

输入MariaDB服务器名称,选择类型“MySQL”,然后点击创建目标。

使用您的 MariaDB 用户详细信息更改详细主机、用户和密码。如果您有默认 TLS 证书,请务必关闭“验证证书”选项,然后在“允许访问”中启用“warpgate:admin” 角色角色”部分。

完成后点击“更新配置”。

将 MariaDB 服务器添加到 Warpgate 后,您现在可以通过 Warpgate MySQL Bastion 服务器访问 MariaDB 服务器。

在 MariaDB 客户端计算机上,输入以下命令以连接到 MariaDB 服务器。出现提示时,输入 Warpgate 管理员用户的密码。

mysql -u 'admin#mysql1' --host '192.168.5.10' --port 33306 --ssl -p

连接后,您应该会看到 MariaDB shell 提示符,例如“MySQL [(dbname)]>”。输入以下查询以确保您使用的用户在 MariaDB 服务器上可用。

SELECT host, user, plugin, authentication_string from mysql.user;
SHOW GRANTS FOR appuser@'%';

输出 :

至此,您现在已经通过 Warpgate MySQL/MariaDB Bastion 服务器连接到 MariaDB 服务器。

结论

在本教程中,您已在 Debian 11 上安装并配置了 Warpgate Bastion 服务器。您已将 Warpgate 配置为与 systemd 和 UFW 防火墙一起运行。除此之外,您已将 Warpgate 配置为 SSH 和 MySQL/MariaDB Bastion 服务器,添加了 SSH 目标服务器,还添加了 MySQL/MariaDB 目标服务器。

考虑到这一点,您现在可以设置新用户、角色,并向 Warpgate Bastion 服务器添加新连接。您可以通过单个集中式堡垒服务器集中用户连接和访问。要了解关于 Warpgate 的详细信息,请访问 Warpgate 官方文档。

©2015-2025 Norria support@norria.com