堡垒机主要用于保障网络和数据的安全。在特定的网络环境下,它运用各种技术手段对网络内的服务器、网络设备、安全设备、数据库等设备的操作行为进行监控和管理,以便于集中报警、及时处理及审计定责。
用最简单的一句话来描述就是:它管理着什么人能登录哪些服务器?还记录着这些登录之后做了哪些事。
再简单一点就是:访问控制、溯源。
堡垒机主要分为以下几种类型:
Jumpserver 是全球首款完全开源的堡垒机,交互界面美观、用户体验好。采纳分布式架构,支持多机房跨区域部署,中心节点提供 API,各机房部署登录节点,可横向扩展、无并发访问限制(手把手从0开始教你搭建Jumpserver,为服务器安全保驾护航!)。
今天,民工哥给大家介绍一款比 Jumpserver 更轻量、更牛逼的堡垒机:Next Terminal!
地址我放在文后了,需要的自取哈!
Next Terminal是一个简单、好用且安全的开源交互审计系统,也被称为轻量级堡垒机系统。它支持多种协议,包括RDP、SSH、VNC、Telnet以及Kubernetes协议,使得用户可以在一套系统中方便地访问和管理各种资产,无需安装额外的插件。
Next Terminal基于Apache Guacamole开发,并使用了guacd服务。同时,它采用了Golang和React进行开发,具有小巧、易安装、易使用以及资源占用小的特点。
Next Terminal 功能丰富:包括授权凭证管理、资产管理、指令管理、批量执行命令、在线会话管理(如监控和强制断开)、离线会话管理(如查看录屏)、双因素认证、资产标签、资产授权、多用户与用户分组、计划任务、SSH Server登录策略以及系统监控等。
Next Terminal 的安装和配置相对简单,可以通过 Docker 等方式进行部署。安装完成后,用户可以通过 Web 界面进行登录和管理操作,非常方便。
Next Terminal 也支持MySQL数据库,这里使用 sqlite 存储数据。
在服务器上创建安装目录:next-terminal ,然后在此目录下创建 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"
volumes:
- /etc/localtime:/etc/localtime
- ./data:/usr/local/next-terminal/data
restart:
always
#前台启动
docker-compose up
#后台启动
docker-compose up -d
使用默认账户密码 admin/admin 登录系统。
控制面板页面展示了在线会话、资产数量、授权凭证、在线会话等数据信息。
支持使用名称、IP、标签、协议作为筛选条件进行查询。
授权凭证是统一管理账号密码的功能。
接入网关是用于访问隐藏在某一个SSH主机后面的设备,Next Terminal所在服务器无法直接访问目标资产,只有这台SSH主机可以访问,其原理是SSH隧道功能。
推荐使用 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;
}
总之,Next Terminal 是一个功能强大、易于使用的开源交互审计系统。适用于各种规模的组织和企业,通过 Next Terminal 用户可以实现对服务器、网络设备、安全设备等资源的集中管理,包括密码管理、账号管理以及操作行为审计等。