51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

使用 Docker 部署 Next Terminal 轻量级堡垒机

1)Next Terminal 介绍 {#)next-terminal-介绍}

官网: https://next-terminal.typesafe.cn/
GitHub: https://github.com/dushixiang/next-terminal

想必经常玩服务器的都了解过 堡垒机 ,类似于跳板机,但与跳板机的侧重点不同。堡垒机的主要功能是控制和监控对内部网络的远程访问。它提供严格的访问控制、会话审计和监控等功能。而跳板机更侧重于提供一个安全的中转平台,用于跳转到内部网络的其他服务器或设备。 今天我给大家分享一款好用安全的开源交互审计系统 - Next Terminal
Next-terminal 号称下一代堡垒机,它支持多协议如 RDP、SSH、VNC 等,并可以对正在进行的会话实时监控,还可以进行事后审计,包括查看日志和查看命令视频记录。
image.png

2)Next Terminal 特性 {#)next-terminal-特性}

  1. 免费开源: Next Terminal 在 GitHub 上已收获 4000+ Star。

  2. 多协议支持: 您可以在一套系统中访问 RDP、SSH、VNC、TELNET 等协议资产,无需插件,一个浏览器即可。

  3. 实时监控: 您可以随时查看到目前正在活跃的会话,并进行监控和阻断。针对字符协议,您甚至可以限制禁止某些命令的执行和记录。

  4. 事后审计: Next Terminal 观察并记录所有环境中的每个在线资源、连接、交互会话和其他安全事件。这些事件被记录在结构化的审计日志中,便于查看正在发生的事情和责任人。

官网在线体验地址:
https://next.typesafe.cn/
账号:test
密码:test
image.png

3)检查 Docker 环境 {#)检查-docker-环境}

安装 Docker 软件 {#安装-docker-软件}

# 高版本 Docker 安装
curl -fsSL https://get.docker.com/ | sh
# 关闭防火墙
systemctl disable --now firewalld
setenforce 0
# 启用 Docker
systemctl enable --now docker

检查 Docker 服务 {#检查-docker-服务}

systemctl status docker

image.png

开启 IPv4 forwarding {#开启-ipv4-forwarding}

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
systemctl restart network
sysctl net.ipv4.ip_forward

4)安装 Docker-Compose {#)安装-docker-compose}

下载 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 增加执行权限 {#docker-compose-增加执行权限}

chmod +x /usr/local/bin/docker-compose

检查 Docker-Compose 版本 {#检查-docker-compose-版本}

docker-compose -v

5)下载 Next Terminal 镜像 {#)下载-next-terminal-镜像}

docker pull mysql:8.0
docker pull dushixiang/guacd:latest
docker pull dushixiang/next-terminal:latest

6)使用 Docker-Cli 部署 {#)使用-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 部署 {#)使用-docker-compose-部署}

创建数据目录 {#创建数据目录}

mkdir -p /docker/next-terminal/data

授权数据目录 {#授权数据目录}

chmod -R 777 /docker/next-terminal/

编辑 docker-compose.yaml 文件 {#编辑-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 容器 {#运行-next-terminal-容器}

# 基于 docker-compose.yaml 启动并运行服务
docker compose -f docker-compose.yaml up -d

验证 Next Terminal 容器状态 {#验证-next-terminal-容器状态}

docker ps -a

8)访问 Next Terminal {#)访问-next-terminal}

基于浏览器访问 Next Terminal,打开方式依然为 本地IP :端口号( 此处端口为 8088 )

首次打开需要输入账号密码,Next Terminal 的初始账号和密码分别为:admin/admin。
image.png
image.png

9)Next Terminal 基本操作 {#)next-terminal-基本操作}

9.1)修改密码 {#)修改密码}

在左侧菜单栏找到 个人中心 修改密码

image.png

9.2)新建资产 {#)新建资产}

可以在 资产管理 新建资产,即新建一台管理终端。
我这里选择新建一台本地的 Linux 虚拟机。
image.png

新建后如果想进行编辑也还可以进行编辑,信息填写正确后可以 点击接入,进会进入新的页面。在这里可以通过 SSH 操作刚刚填写的服务器,界面看起来还挺不错的。

image.png
image.png
image.png

9.3)会话审计 {#)会话审计}

可以查看 在线会话,并可以进行监控和断开的操作。

可以监控用户正在对服务器执行的命令,实时同步的。
image.png

断开会话后,也可以在历史会话中查看,并可以进行回放操作。

123.gif

9.4)日志审计 {#)日志审计}

image.png

9.5)系统设置 {#)系统设置}

image.png

如果有小伙伴正好在寻找一个功能丰富的交互式审计系统,Next Terminal 将是一个不错的选择。 关于项目的更多细节,可以自行到项目地址进行查看

10)最后 {#)最后}

如果你喜欢这篇文章,请记得点赞,收藏,并关注 【开源极客行】 ,我将持续分享更多实用的自搭建应用指南。一起,让我们掌握自己的数据,创建自己的数字世界!
如果你在搭建过程中遇到任何问题,或者有任何建议,也欢迎在下方留言,一起探讨和学习。

赞(4)
未经允许不得转载:工具盒子 » 使用 Docker 部署 Next Terminal 轻量级堡垒机