大家好,我是 Java陈序员
。
我们在开发工作中,会经常与服务器打交道,而服务器的资源又是十分宝贵,特别是服务器里面的数据资源。
但是,偶尔会经常因为疏忽而导致服务器数据资源丢失,给自己和公司带来巨大的损失!
今天给大家介绍一款轻量的堡垒机系统,让你可以更好的管控、审计服务器!
关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。
项目介绍
Next Terminal
—— 一个简单好用安全的开源交互审计系统,支持 RDP
、SSH
、VNC
、Telnet
、Kubernetes
协议。
功能特色:
- 授权凭证管理
- 资产管理(支持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/#/
大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。