使用 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.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。
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)最后

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/445304.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

20240310-1-Java后端开发知识体系

Java 基础 知识体系 Questions 1. HashMap 1.8与1.7的区别 1.71.8底层结构数组链表数组链表/红黑树插入方式头插法尾插法计算hash值4次位运算5次异或运算1次位运算1次异或运算扩容、插入先扩容再插入先插入再扩容扩容后位置计算重新hash原位置或原位置旧容量 (1) 扩容因子…

排查线上JVM CPU飙升使用率高和线程死锁问题

一、排查CPU飙升使用率高问题 在开始前新建一个 SpringBoot 项目构建CPU使用率高的场景&#xff1a; RestController public class JvmThread1Controller {ThreadPoolExecutor executor new ThreadPoolExecutor(10,15,2,TimeUnit.SECONDS,new LinkedBlockingDeque<>(5…

【网络原理】使用Java基于TCP搭建简单客户端与服务器通信

目录 &#x1f384;API介绍&#x1f338;ServerSocket API&#x1f338;Socket API &#x1f340;TCP中的长短连接&#x1f333;建立TCP回显客户端与服务器&#x1f338;TCP搭建服务器&#x1f338;TCP搭建客户端 ⭕总结 TCP服务器与客户端的搭建需要借助以下API &#x1f384;…

springcloud-alibaba Sentinel入门

Releases alibaba/Sentinel GitHubSentinel下载官方 在cmd 里面运行 启动命令 java -jar sentinel-dashboard-1.8.6.jar 启动成功前提 java环境 &#xff0c;已经注册到服务注册中心&#xff0c;8080端口没有被占用 启动后访问地址为 qhttp://localhost:8080http://lo…

Clion开发STM32之printf的缓冲区验证方式

前言 clion开发stm32时&#xff0c;涉及到printf函数的重写&#xff0c;一般我们重写__io_putchar函数经发现printf函数在没有加换行符时&#xff0c;数据不会立刻通过串口发送数据&#xff0c;而是等到1024字节之后发送数据 测试 主程序 现象 debug调试 不加换行的情况 总…

Windows系统安装Tomcat并结合内网穿透实现公网访问本地网页

文章目录 前言1.本地Tomcat网页搭建1.1 Tomcat安装1.2 配置环境变量1.3 环境配置1.4 Tomcat运行测试1.5 Cpolar安装和注册 2.本地网页发布2.1.Cpolar云端设置2.2 Cpolar本地设置 3.公网访问测试4.结语 前言 Tomcat作为一个拥有强大功能的轻量级服务器&#xff0c;由于其可以实…

万界星空科技MES系统中的车间管理的作用

在了解mes生产管理系统的作用包括哪些方面之前&#xff0c;我们先来了解一下作为生产管理信息化的关键部分&#xff0c;车间管理系统包含哪几个部分&#xff1a;一、mes系统中的车间管理通常包含以下部分&#xff1a; 1、设备管理&#xff1a;用于监控车间内的设备状态&#xf…

网络安全: Kali Linux 进行 MSFvenom 程序利用

目录 一、实验 1.环境 2. Kali Linux 进行 MSFvenom 程序利用 3. 创建计划任务自动运行 MSFvenom 程序 二、问题 1.在线加密解密 2.MSF 运行失败 3.MobaXterm 连接Ubuntu 失败 一、实验 1.环境 &#xff08;1&#xff09;主机 表1 主机 系统版本IP备注Kali Linux20…

大数乘法算法

例题&#xff1a;6-10 阶乘计算升级版&#xff08;pta--基础编程题目集&#xff09; 此方法的原理就是把数字的每一位拆分出来&#xff0c;存到数组中&#xff0c;在求阶乘时&#xff0c;每一次乘法都分解为数组的每一位乘这个数&#xff0c;例如&#xff1a; 4的阶乘&#x…

Unity--自动版面(Grid Layout Group)

Unity--自动版面&#xff08;Grid Layout Group&#xff09; Grid Layout Group 网格布局组组件将其子布局元素放置在网格中。 Padding&#xff1a;&#xff08;填充&#xff09; 布局组边缘内的填充。与其他布局组不同&#xff0c;“网格布局组”将忽略其所包含布局元素的最…

(黑马出品_03)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

&#xff08;黑马出品_03&#xff09;SpringCloudRabbitMQDockerRedis搜索分布式 微服务技术Docker 今日目标1.初识Docker1.1.什么是Docker1.1.1.应用部署的环境问题1.1.2.Docker解决依赖兼容问题1.1.3.Docker解决操作系统环境差异1.1.4.小结 1.2…

阿里云服务器租用价格表,2024年月付和年付租用优惠价格表

2024阿里云服务器优惠活动政策整理&#xff0c;阿里云99计划ECS云服务器2核2G3M带宽99元一年、2核4G5M优惠价格199元一年&#xff0c;轻量应用服务器2核2G3M服务器61元一年、2核4G4M带宽165元1年&#xff0c;云服务器4核16G10M带宽26元1个月、149元半年&#xff0c;云服务器8核…

【Attribute】Inspector视图可视不可编辑字段特性

简介 在Unity开发中&#xff0c;有时候我们存在这种需求&#xff0c;需要在Inspector视图中可以查看字段信息但是无法对字段进行赋值&#xff0c;那么我们也可以像Unity内置的[SerializeField]、[Tooltip]等特性那样自定义一个特性&#xff0c;用于满足这个需求。 代码示例(C#…

umi4 项目使用 keepalive 缓存页面(umi-plugin-keep-alive、react-activation)

umi4使用keepalive 配置文件config\config.ts export default defineConfig({plugins: [umi-plugin-keep-alive], });安装add umi-plugin-keep-alive yarn add umi-plugin-keep-alive页面 A import { KeepAlive, history, useAliveController } from umijs/max; const Page…

【环境配置】Linux MySQL8 忘记密码解决措施

本片博客介绍 Linux 操作系统 Ubuntu 下&#xff0c;MySQL8 忘记密码怎么重新设置&#xff0c;笔者亲测有效&#xff0c;分享给大家。 查看 MySQL 版本 $ mysql --version停止 MySQL 服务器&#xff0c;并查看状态是否变更为 Server shutdown complete # 等价命令sudo syste…

基于SpringBoo的火车订票管理系统(程序+文档+数据库)

** &#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;** 一、研究背景…

部署到 Adreno™ GPU

介绍​ Adreno™ 是由高通开发并用于许多 SoC 的图形处理单元&#xff08;GPU&#xff09;半导体 IP 核系列。 Adreno™ GPU 可以加速复杂几何图形的渲染&#xff0c;在提供高性能图形和丰富的用户体验的同时拥有很低的功耗。 TVM 使用 TVM 的原生 OpenCL 后端 和 OpenCLML …

Canal安装使用

一 Canal介绍 canal是阿里巴巴旗下的一款开源项目&#xff0c;纯Java开发。基于数据库增量日志解析&#xff0c;提供增量数据订阅&消费&#xff0c;目前主要支持了MySQL&#xff08;也支持mariaDB&#xff09;。 背景 早期&#xff0c;阿里巴巴B2B公司因为存在杭州和美国…

人工智能课题、模型源码

人工智能研究生毕业&#xff5e;深度学习、计算机视觉、时间序列预测&#xff08;LSTM、GRU、informer系列&#xff09;、python、人工智能项目代做和指导&#xff0c;各种opencv图像处理、图像分类模型&#xff08;vgg、resnet、mobilenet、efficientnet等&#xff09;、人脸检…

什么是Python网络爬虫

Python网络爬虫是一种自动化获取网页内容的程序。它可以通过发送HTTP请求&#xff0c;获取网页的HTML代码&#xff0c;并从中提取所需的数据。下面是一个简单的概述&#xff0c;帮助您理解Python网络爬虫的基本原理。 导入所需的库&#xff1a; 在Python中&#xff0c;我们可以…