当前位置: 首页 > news >正文

使用 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 等,并可以对正在进行的会话实时监控,还可以进行事后审计,包括查看日志和查看命令视频记录。
image.png

2)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 安装
curl -fsSL https://get.docker.com/ | sh
# 关闭防火墙
systemctl disable --now firewalld
setenforce 0
# 启用 Docker
systemctl enable --now docker

检查 Docker 服务

systemctl status docker

image.png

开启 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.0environment:MYSQL_DATABASE: next-terminalMYSQL_USER: next-terminalMYSQL_PASSWORD: next-terminalMYSQL_ROOT_PASSWORD: next-terminalvolumes:- ./data/mysql:/var/lib/mysqlrestart:alwaysguacd:image: registry.cn-beijing.aliyuncs.com/dushixiang/guacd:latestvolumes:- ./data:/usr/local/next-terminal/datarestart:alwaysnext-terminal:image: registry.cn-beijing.aliyuncs.com/dushixiang/next-terminal:latestenvironment:DB: mysqlMYSQL_HOSTNAME: 192.168.80.8	# 你的 IP 地址MYSQL_PORT: 3306MYSQL_USERNAME: next-terminalMYSQL_PASSWORD: next-terminalMYSQL_DATABASE: next-terminalGUACD_HOSTNAME: guacdGUACD_PORT: 4822ports:- "8088:8088"volumes:- /etc/localtime:/etc/localtime- ./data:/usr/local/next-terminal/datadepends_on:- mysqlrestart: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。
image.png
image.png

9)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)最后

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 项目解决方案:视频监控接入和录像系统设计方案(下)
  • 【Python从入门到进阶】50、当当网Scrapy项目实战(三)
  • Midjourney绘图欣赏系列(七)
  • [2023年]-hadoop面试真题(一)
  • 【py】加载sdk文件夹中的dll
  • 蓝桥杯2023年-平方差(数学)
  • 谷歌开源的LLM大模型 Gemma 简介
  • Elasticsearch 通过索引阻塞实现数据保护深入解析
  • 网络安全: Kali Linux 进行 SSH 渗透与防御
  • pyqt线程正确使用
  • MyBatisPlus理解
  • 代码随想录 贪心算法-简单题目
  • Unity 整体界面淡入淡出效果
  • 服务器又被挖矿记录
  • 深入理解Servlet
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • input实现文字超出省略号功能
  • learning koa2.x
  • node 版本过低
  • SpringCloud集成分布式事务LCN (一)
  • SpriteKit 技巧之添加背景图片
  • TCP拥塞控制
  • vue-router 实现分析
  • XForms - 更强大的Form
  • Xmanager 远程桌面 CentOS 7
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • ​Benvista PhotoZoom Pro 9.0.4新功能介绍
  • ​什么是bug?bug的源头在哪里?
  • #微信小程序:微信小程序常见的配置传旨
  • (02)Hive SQL编译成MapReduce任务的过程
  • (10)ATF MMU转换表
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (2024.6.23)最新版MAVEN的安装和配置教程(超详细)
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (二)Eureka服务搭建,服务注册,服务发现
  • (分布式缓存)Redis分片集群
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (论文阅读40-45)图像描述1
  • (三)终结任务
  • (学习日记)2024.02.29:UCOSIII第二节
  • (游戏设计草稿) 《外卖员模拟器》 (3D 科幻 角色扮演 开放世界 AI VR)
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)关于多人操作数据的处理策略
  • (转载)Linux网络编程入门
  • (自用)交互协议设计——protobuf序列化
  • .NET 8 跨平台高性能边缘采集网关
  • .net core 控制台应用程序读取配置文件app.config
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .NET中的Exception处理(C#)
  • @Autowired和@Resource装配
  • @cacheable 是否缓存成功_让我们来学习学习SpringCache分布式缓存,为什么用?
  • @RequestMapping 和 @GetMapping等子注解的区别及其用法