部署一款开源的交互审计系统—Next Terminal

博客地址

部署一款开源的交互审计系统—Next Terminal-雪饼 (xue6ing.cn)https://xue6ing.cn/archives/bu-shu-yi-kuan-kai-yuan-de-jiao-hu-shen-ji-xi-tong--next-terminal

Next Terminal是什么?

Next Terminal是一个开源的交互审计系统,具有以下主要功能和优势:

  1. 免费开源:Next Terminal在GitHub上已收获近4000 Star(dushixiang/next-terminal: Next Terminal)。

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

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

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

注意:这仅仅是为了远程控制开发的,是为了审计操作行为,如果只是有远程操作需求建议选择专业的远控软件来做。

快速安装

安装Docker-Compose

Centos7安装Docker和Docker-Compose

创建工作目录

mkdir next-terminal && cd next-terminal

编写docker-compose.yml文件

使用 SQLite 存储数据

vim docker-compose.yml
version: '3.3'
services:
  guacd:
    image: dushixiang/guacd:latest
    volumes:
      - ./data:/usr/local/next-terminal/data
    restart:
          always
  next-terminal:
    image: dushixiang/next-terminal:latest
    environment:
      DB: sqlite
      GUACD_HOSTNAME: guacd
      GUACD_PORT: 4822
    ports:
      - "8088:8088" # 左边 8088可以更换为服务器未占用的端口
    volumes:
      - /etc/localtime:/etc/localtime
      - ./data:/usr/local/next-terminal/data
    restart:
      always

:wq保存退出

启动 Docker Compose 配置文件

docker-compose up -d

浏览器输入ip:8088访问

默认账号/密码 admin/admin

 

afc07aa60e85314bc6a9b84026c431f7.png

占用不到30M的内存,非常轻量!

c8a8943f868a403cbe2d0dfa30426d30.png

 

Next Terminal官方也是支持MySQL数据库的。

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: dushixiang/guacd:latest
    volumes:
      - ./data:/usr/local/next-terminal/data
    restart:
          always
  next-terminal:
    image: dushixiang/next-terminal:latest
    environment:
      DB: mysql
      MYSQL_HOSTNAME: mysql 
      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

或使用外部的MySQL

version: '3.3'
services:
  guacd:
    image: dushixiang/guacd:latest
    volumes:
      - ./data:/usr/local/next-terminal/data
    restart:
          always
  next-terminal:
    image: dushixiang/next-terminal:latest
    environment:
      DB: mysql
      # 请修改下面的 MySql 配置,需自行创建数据库和用户
      MYSQL_HOSTNAME: mysql # 外部数据库地址
      MYSQL_PORT: 3306 # 外部数据库端口
      MYSQL_USERNAME: next-terminal # 外部数据库账号
      MYSQL_PASSWORD: next-terminal # 外部数据库密码
      MYSQL_DATABASE: next-terminal # 外部数据库名
      # 请修改上面的 MySql 配置,需自行创建数据库和用户
      GUACD_HOSTNAME: guacd
      GUACD_PORT: 4822
    ports:
      - "8088:8088"
    volumes:
      - /etc/localtime:/etc/localtime
      - ./data:/usr/local/next-terminal/data
    restart:
      always

如果你使用的是内部的 MySQL 相对于 SQLite 会多占用将近400M的内存的,怎么取舍还是看自己的情况吧

bb9769fa68144a35855f5b343b6312f2.png

 

 

Nginx反代部分代码

server {
    listen 80;
    server_name your.domain.server.com;

    # SSL 配置已省略
    # ...

	# proxy to 8088
    location / {
        proxy_pass http://{ip}:8088;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
    # 其他配置 
    # ...
}

不完全使用说明

强烈建议!!初始账号密码是 admin/admin 登录成功之后在左侧菜单栏找到个人中心修改密码并绑定二步认证

添加资产

左侧菜单栏资源管理 二级菜单栏资产管理 ,点击新建 ,按需求填写信息,点击确定即可。

SSH协议

应注意协议是否与主站地址后面的端口号相符,例如SSH默认就是22

 

f240ef5e167652f6dd9b6649960abdbf.png

你也可以选择使用密钥授权凭证 的登录方式

 

3bab11e6a167686ed056d45a0cdd85ba.png

连接服务器

新建完成之后接入 即可连接服务器

 

d4efc9d5779f05e6863ea38a8e61b326.png

 

e5c39c8c80bb4f70885eea51ae7df1c4.png

可以看到连接之后网页右上角有三个按钮分别是

  • 代码标 :可以快速的执行一些指令,添加指令的方式:左侧菜单栏资源管理 二级菜单栏动态指令

 

39d900439b4766a458e25a3c3181fd77.png

 

95330dace80e5dd7eeb206a3cf911781.png

 

8f52900bdc08782f1153b94bdc65bce1.png

  • 文件夹标 :可以快速的上传文件至服务器

  • 视图标 :可以快速的查询一些状态信息

RDP协议

 

0134f76a1f850bf6aa9ba0b183335847.jpeg

监控用户行为

左侧菜单栏会话审计 二级菜单栏在线会话 ,可以监控用户正在对服务器执行的命令,实时同步的。

 

21583ba0ae687ec26eb009e3f35c1318.png

 

6fcc95a9b8b79c21bc3182eb93885502.png

断开用户访问服务器

 

adbfe94e33971567aba79094626e00b1.png

2acbc78c2274ab9a2dedebeb0c5451f3.png

回放用户历史行为

左侧菜单栏会话审计 二级菜单栏历史会话

更多功能还是快自己去探索吧!

 

 

  • 20
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学之思开源考试系统一款基于Web的在线考试系统,通过使用Docker进行部署可以提供更加灵活和高效的管理与运维。 Docker是一个轻量级的容器化平台,它可以将应用程序及其依赖性打包在一个虚拟容器中,使其可以在不同的环境中快速部署和运行。对于学之思开源考试系统来说,使用Docker进行部署具有以下几个优势: 1. 简化部署流程:使用Docker可以将学之思考试系统及其所有依赖项打包为一个镜像,只需在目标环境中安装Docker并加载该镜像即可完成部署。避免了繁琐的依赖项安装和配置过程,节省了时间和精力。 2. 灵活性与可移植性:Docker容器可以在不同的操作系统和硬件平台上运行,无需重新编译或修改代码。这意味着无论在本地开发环境还是生产服务器上都可以轻松部署学之思考试系统。 3. 高效的资源利用:Docker可以根据应用程序的需求对资源进行动态调整,有效地利用服务器的资源,提高系统的性能和稳定性。 4. 安全性:Docker使用沙箱机制隔离应用程序,每个容器都有自己的文件系统和网络空间。这种隔离性可以增加系统的安全性,防止应用程序之间的相互干扰或恶意操作。 总的来说,使用Docker部署学之思开源考试系统可以简化部署流程、提高灵活性和可移植性、高效利用资源并提升系统的安全性。这使得学之思考试系统更加易于管理和维护,为用户提供一个稳定、安全且高效的在线考试平台。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值