使用 Docker 部署 Next Terminal 轻量级堡垒机
1)Next Terminal 介绍#
官网:https://next-terminal.typesafe.cn/
GitHub:https://github.com/dushixiang/next-terminal
想必经常玩服务器的都了解过 堡垒机,类似于跳板机,但与跳板机的侧重点不同。堡垒机的主要功能是控制和监控对内部网络的远程访问。它提供严格的访问控制、会话审计和监控等功能。而跳板机更侧重于提供一个安全的中转平台,用于跳转到内部网络的其他服务器或设备。
今天我给大家分享一款好用安全的开源交互审计系统 - Next Terminal
Next-terminal 号称下一代堡垒机,它支持多协议如 RDP、SSH、VNC 等,并可以对正在进行的会话实时监控,还可以进行事后审计,包括查看日志和查看命令视频记录。
2)Next Terminal 特性#
-
免费开源: Next Terminal 在 GitHub 上已收获 4000+ Star。
-
多协议支持: 您可以在一套系统中访问 RDP、SSH、VNC、TELNET 等协议资产,无需插件,一个浏览器即可。
-
实时监控: 您可以随时查看到目前正在活跃的会话,并进行监控和阻断。针对字符协议,您甚至可以限制禁止某些命令的执行和记录。
-
事后审计: Next Terminal 观察并记录所有环境中的每个在线资源、连接、交互会话和其他安全事件。这些事件被记录在结构化的审计日志中,便于查看正在发生的事情和责任人。
官网在线体验地址:
https://next.typesafe.cn/
账号:test
密码:test
3)检查 Docker 环境#
安装 Docker 软件#
# 高版本 Docker 安装
curl -fsSL https://get.docker.com/ | sh
# 关闭防火墙
systemctl disable --now firewalld
setenforce 0
# 启用 Docker
systemctl enable --now docker
检查 Docker 服务#
systemctl status docker
开启 IPv4 forwarding#
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
systemctl restart network
sysctl net.ipv4.ip_forward
4)安装 Docker-Compose#
下载 Docker-Compose 软件包#
curl -L https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
Docker-Compose 增加执行权限#
chmod +x /usr/local/bin/docker-compose
检查 Docker-Compose 版本#
docker-compose -v
5)下载 Next Terminal 镜像#
docker pull mysql:8.0
docker pull dushixiang/guacd:latest
docker pull dushixiang/next-terminal:latest
6)使用 Docker-Cli 部署#
# 创建数据存储目录
mkdir -p /docker/next-terminal/data
# 1) 搭建 Guacd - 开源的远程桌面网关
docker run -d \
--name guacd \
-v /docker/next-terminal/data:/usr/local/next-terminal/data \
--restart always \
dushixiang/guacd:latest
# 2) 搭建 next-terminal
docker run -d \
--name next-terminal \
-e DB=sqlite \
-e GUACD_HOSTNAME=guacd \
-e GUACD_PORT=4822 \
-p 8088:8088 \
-v /etc/localtime:/etc/localtime \
-v /docker/next-terminal/data:/usr/local/next-terminal/data \
--link guacd \
--restart always \
dushixiang/next-terminal:latest
7)使用 Docker-compose 部署#
创建数据目录#
mkdir -p /docker/next-terminal/data
授权数据目录#
chmod -R 777 /docker/next-terminal/
编辑 docker-compose.yaml 文件#
[root@blog next-terminal] cd /docker/next-terminal
[root@blog next-terminal] vim docker-compose.yaml
version: '3.3'
services:
mysql:
image: mysql:8.0
environment:
MYSQL_DATABASE: next-terminal
MYSQL_USER: next-terminal
MYSQL_PASSWORD: next-terminal
MYSQL_ROOT_PASSWORD: next-terminal
volumes:
- ./data/mysql:/var/lib/mysql
restart:
always
guacd:
image: registry.cn-beijing.aliyuncs.com/dushixiang/guacd:latest
volumes:
- ./data:/usr/local/next-terminal/data
restart:
always
next-terminal:
image: registry.cn-beijing.aliyuncs.com/dushixiang/next-terminal:latest
environment:
DB: mysql
MYSQL_HOSTNAME: 192.168.80.8 # 你的 IP 地址
MYSQL_PORT: 3306
MYSQL_USERNAME: next-terminal
MYSQL_PASSWORD: next-terminal
MYSQL_DATABASE: next-terminal
GUACD_HOSTNAME: guacd
GUACD_PORT: 4822
ports:
- "8088:8088"
volumes:
- /etc/localtime:/etc/localtime
- ./data:/usr/local/next-terminal/data
depends_on:
- mysql
restart:
always
运行 Next Terminal 容器#
# 基于 docker-compose.yaml 启动并运行服务
docker compose -f docker-compose.yaml up -d
验证 Next Terminal 容器状态#
docker ps -a
8)访问 Next Terminal#
基于浏览器访问 Next Terminal,打开方式依然为 本地IP:端口号( 此处端口为 8088 )
首次打开需要输入账号密码,Next Terminal 的初始账号和密码分别为:admin/admin。
9)Next Terminal 基本操作#
9.1)修改密码#
在左侧菜单栏找到 个人中心 修改密码
9.2)新建资产#
可以在 资产管理 新建资产,即新建一台管理终端。
我这里选择新建一台本地的 Linux 虚拟机。
新建后如果想进行编辑也还可以进行编辑,信息填写正确后可以 点击接入,进会进入新的页面。在这里可以通过 SSH 操作刚刚填写的服务器,界面看起来还挺不错的。
9.3)会话审计#
可以查看 在线会话,并可以进行监控和断开的操作。
断开会话后,也可以在历史会话中查看,并可以进行回放操作。
9.4)日志审计#
9.5)系统设置#
如果有小伙伴正好在寻找一个功能丰富的交互式审计系统,Next Terminal 将是一个不错的选择。
关于项目的更多细节,可以自行到项目地址进行查看
作者:木子欢儿
出处:https://www.cnblogs.com/HGNET/p/18550635
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
部分文章来源于网络,如疏漏未标注原文地址或侵权,请联系进行删除。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器