头图

大家好,我是 Java陈序员

我们在开发工作中,会经常与服务器打交道,而服务器的资源又是十分宝贵,特别是服务器里面的数据资源。

但是,偶尔会经常因为疏忽而导致服务器数据资源丢失,给自己和公司带来巨大的损失!

今天给大家介绍一款轻量的堡垒机系统,让你可以更好的管控、审计服务器!

关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。

项目介绍

Next Terminal —— 一个简单好用安全的开源交互审计系统,支持 RDPSSHVNCTelnetKubernetes 协议。

功能特色:

  • 授权凭证管理
  • 资产管理(支持RDP、SSH、VNC、TELNET协议)
  • 指令管理
  • 批量执行命令
  • 在线会话管理(监控、强制断开)
  • 离线会话管理(查看录屏)
  • 双因素认证
  • 资产标签
  • 资产授权
  • 多用户&用户分组
  • 计划任务
  • ssh server
  • 登录策略
  • 系统监控

项目地址:

https://github.com/dushixiang/next-terminal

在线体验:

https://next.typesafe.cn/

在线文档:

https://next-terminal.typesafe.cn/docs/

项目截图

控制面板:以报表的形式统计展示在线用户、运行中的资产、会话统计等。

资源管理:主要是资产(服务器)管理,支持在线接入服务器、动态指令等。

会话审计:监控记录会话信息,可强制断开在线会话。

日志审计:记录用户登录、文件上传下载、命令执行记录。

系统运维:监控系统任务调度、磁盘、CPU、内存等信息。

安全策略:设置系统访问的安全策略,支持按IP、时间、优先级等维度管控。

用户管理:系统用户、角色、菜单等权限管理,支持用户组管理。

授权策略:包含命令过滤(如禁用输入 rm)、授权策略。

系统设置:系统的个性化设置。

项目安装

Docker 命令安装

1、安装 guacd

docker run --restart=always --name guacd -d \
  -v /root/next-terminal/data:/usr/local/next-terminal/data \
  dushixiang/guacd:latest

2、安装 next-terminal

docker run --restart=always --name next-terminal -d \
  --link guacd \
  -p 8088:8088 \
  -v /root/next-terminal/data:/usr/local/next-terminal/data \
  -v /etc/localtime:/etc/localtime \
  -e DB=sqlite \
  -e GUACD_HOSTNAME=guacd \
  -e GUACD_PORT=4822 \
  dushixiang/next-terminal:latest \

Docker-Compose 安装

Next Terminal 支持 sqlite、mysql 存储数据,这里以 mysql 为例,其他版本的安装可参考官方文档。

1、在任意位置创建文件夹 next-terminal ,然后在此文件夹下创建 docker-compose.yml 并写入如下内容:

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

2、前台启动命令

docker-compose up

3、后台启动命令

docker-compose up -d

反向代理

推荐使用 Nginx 等 web 服务器反向代理 next-terminal 使用,一是可有效避免伪造 IP 绕过系统限制,二是开启 https 后可无缝同步系统粘贴板。

Nginx反向代理配置

location / {
    proxy_pass http://127.0.0.1:8088/;
    proxy_set_header Host      $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $http_connection;
}

最后

推荐的开源项目已经收录到 GitHub 项目,欢迎 Star:

https://github.com/chenyl8848/great-open-source-project

或者访问网站,进行在线浏览:

https://chencoding.top:8090/#/
大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!

Java陈序员
61 声望8 粉丝