关于The-Bastion
The-Bastion是一款针对SSH的安全取证与审计工具,广大研究人员可以利用该工具对SSH访问进行身份验证、授权、数据追溯和安全审计。
The-Bastion支持以安全的方式连接到目标设备,其中包括服务器、虚拟机、云实例、网络设备等。简而言之,The-Bastion能够为整个基础设施提供身份验证、授权、可追溯性和可审计性机制。
功能介绍
1、具有团体角色委派的个人和团体访问方案,以确保团队自主性而无需牺牲安全性;
2、入口和出口连接之间的 SSH 协议中断;
3、几乎不依赖外部资源,实现自力更生;
4、交互式会话记录(在标准ttyrec 文件中);
5、非交互式会话记录(通过ttyrec的stdout 和 stderr);
6、通过 syslog提供广泛的日志记录支持 ,方便使用 SIEM;
7、支持 MOSH 在入口连接侧;
8、支持scp 直通,从远程服务器上传和/或下载文件;
9、支持netconf SSH 子系统直通;
10、支持 Yubico PIV 密钥 证明检查 并在入口连接端实施;
11、支持在可能属于两个不同公司的The-Bastion之间建立信任,拆分身份验证和授权阶段,同时仍执行本地策略;
12、对于不支持公钥认证的传统设备,支持在出口端进行 SSH 密码自动登录,同时仍然在入口端强制进行正确的公钥认证;
13、对于不支持 SSH 的老式设备,支持在出口端进行 telnet 密码自动登录,同时仍然在入口端强制进行正确的 SSH 公钥认证;
14、支持带有中间人身份验证和授权处理的 HTTPS 代理,用于入口和出口密码解耦(主要用于网络设备 API);
工具安装
广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/ovh/the-bastion.git
工具使用
本工具的沙盒镜像适用于以下架构:linux/386、linux/amd64、linux/arm/v6、linux/arm/v7、linux/arm64、linux/ppc64le、linux/s390x。
下列命令我们运行docker镜像:
docker run -d -p 22 --name bastiontest ovhcom/the-bastion:sandbox
获取你的公共 SSH 密钥,然后配置第一个管理员帐户:
docker exec -it bastiontest /opt/bastion/bin/admin/setup-first-admin-account.sh poweruser auto
我们现在已启动并运行默认配置!让我们设置一个方便的The-Bastion别名,并测试命令info:
PORT=$(docker port bastiontest | cut -d: -f2) alias bastion="ssh poweruser@127.0.0.1 -tp $PORT -- " bastion --osh info
它应该以The-Bastion管理员的身份欢迎你,这意味着你可以访问所有命令。让我们进入交互模式:
bastion -i
--osh这对于连续调用多个插件很有用。现在我们可以请求帮助来查看所有插件:
$> help
如果你有想要尝试通过The-Bastion连接的远程机器,请获取你的出口密钥:
$> selfListEgressKeys
将此公钥复制到远程机器的你要连接的帐户文件夹authorized_keys下,然后:.ssh/
$> selfAddPersonalAccess --host <remote_host> --user <remote_account_name> --port-any $> ssh <remote_account_name>@<remote_host>
请注意,你可以不使用交互模式直接连接,方法是:
bastion <remote_account_name>@<remote_machine_host_or_ip>
工具运行演示
演示视频:【点我观看】
许可证协议
本项目的开发与发布遵循Apache-2.0开源许可协议。
项目地址
The-Bastion:【GitHub传送门】