一、堡垒机简介
1.1、现状
目前随着信息化的发展,越来越多的企业开始有更多的服务器、业务资源,有更多样化的员工,拥有更多的账号;导致访问混乱化,越权访问难以规范;甚至恶意命令攻击事件(如删库、删除业务资源等事件)频频发生;如何做好即有效又安全的运维,保护内网安全成为企业的一大关键安全难题;而堡垒机则刚好是解决这一难题的良好对策。
1.2、堡垒机简介
堡垒机表示的是:在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,采用一些技术手段进行监控和记录人员对网络内的服务器、网络设备、安全设备、数据库等设备的操作行为;以便及时处理和审计定责。
堡垒机的核心是:可控及审计;(可控即权限可控、行为可控)权限可控:比如公司的某个工程师要离职或要转岗了,此时如果没有一个统一的权限管理入口,那么对于公司业务来说将是一场梦魇(可能公司的重要业务资料被删除而不知等)。行为可控:比如我们需要集中禁用某个危险命令,如果没有一个统一入口,操作的难度可想而知。
1.3、常见的开源堡垒机
序号 | 开源堡垒机软件名称 | 说明 |
1 | Jumpserver | Jumpserver 是全球首款完全开源的堡垒机,使用GNU GPL v2.0开源协议,是符合4A(认证Authentication、账号Account、授权Authorization、审计Audit)的专业运维审计系统。Jumpserver 使用Python / Django 进行开发,遵循 Web 2.0 规范,配备了业界领先的 Web Terminal 解决方案,交互界面美观、用户体验好。 Jumpserver 采纳分布式架构,支持多机房跨区域部署,中心节点提供 API,各机房部署登录节点,可横向扩展、无并发访问限制【但是比较笨重】 |
2 | Teleport | Teleport是一款简单易用的堡垒机系统,具有小巧、易用、易于集成的特点【极易安装部署:仅需一分钟,就可以安装部署一套您自己的堡垒机系统】,支持RDP和SSH协议的跳转。Teleport由两大部分构成:Teleport跳板核心服务和WEB操作界面 |
3 | GateOne | GateOne是一款基于HTML5的开源终端模拟器/SSH客户端,同时内置强大的插件功能。 GateOne自带的插件使其成为一款令人惊艳的SSH客户端,且它可以用于运行任何终端应用;用户可以将GateOne嵌入其他应用程序从而提供各类终端访问界面,它也支持各类基于Web的管理界面 |
4 | CrazyEye | CrazyEye是基于Python开发的一款简单易用的IT审计堡垒机,通过对原生ssh代码进行了部分修改,从而实现用户在登录堡垒机后,它所有的命令操作都将被实时抓取并写入审计日志,以供后期审计。 |
二、Teleport的安装
安装&升级 - Teleport 官方文档 (tp4a.com)https://docs.tp4a.com/install/
2.1、下载Teleport的二进制包和解压
《1》下载Teleport的二进制包
wget https://www.tp4a.com/static/download/teleport-server-linux-x64-3.6.4-b3.tar.gz
《2》解压下载好的Teleport二进制包
tar -zxvf teleport-server-linux-x64-3.6.4-b3.tar.gz
2.2、安装Teleport
《1》进入解压好的Teleport文件夹中
cd teleport-server-linux-x64-3.6.4-b3/
《2》执行安装Teleport命令
sudo ./setup.sh
《3》添加防火墙端口
注意:如果Linux服务器上的防火墙没有关闭,则需要打开Teleport的如下端口:
序号 | 命令 | 说明 |
1 | firewall-cmd --zone=public --add-port=7190/tcp --permanent | 添加Teleport的Web端口7190 |
2 | firewall-cmd --zone=public --add-port=52080/tcp --permanent | 添加Teleport的Telnet端口52080 |
3 | firewall-cmd --zone=public --add-port=52089/tcp --permanent | 添加Teleport的RDP端口52089 |
4 | firewall-cmd --zone=public --add-port=52189/tcp --permanent | 添加Teleport的SSH端口52189 |
5 | firewall-cmd --reload | 重载防火墙配置 |
6 | firewall-cmd --list-port | 查看当前开放的防火墙端口 |
序号 | 命令 | 说明 |
1 | sudo /etc/init.d/teleport start | 启动Teleport |
2 | sudo /etc/init.d/teleport stop | 停止Teleport |
3 | sudo /etc/init.d/teleport restart | 重启Teleport |
4 | sudo /etc/init.d/teleport status | 查看Teloport的运行状态 |
三、Teleport的配置和使用
3.1、初始化Teleport配置
打开浏览器输入【teleport服务器IP:7190】打开Teleport的Web界面
进行初始化设置
3.2、使用管理员账号密码登陆Teleport
3.3、添加需要管理的服务器资产
《1》 选择【资产】-->【主机及账号】-->【添加主机】进行配置需要管理的服务器资产内容:
《2》给添加的服务器资产分别添加对应的登陆账号内容
选择【资产】-->【主机及账号】-->【选择需要添加账号的服务器资产】对应的【账号数】下的小笔图标即可添加该服务器的账号,如下图所示:
注意:在点击【测试连接】按钮时如果自己本机电脑还没有安装Teleport的客户端,则需要先下载安装;
下载 - Teleport的二进制安装包和客户端官网https://www.tp4a.com/download
《3》创建不同角色的用户
选择【用户】-->【用户管理】-->【创建用户】填写对应的内容后确定即可创建,如下图所示:
①如果提示网络错误,此时不用担心,其实该用户已经创建,关闭【创建用户账户】的界面即可,然后刷新用户列表即可查看到该用户;
②手动修改指定用户的登陆密码,操作如下:
选中需要修改用户最右边的【操作】按钮--》【重置密码】即可:
《4》主机运维
选择【运维】-->【主机运维】-->选择自己需要连接的【远程连接】图标即可登陆到该服务器进行操作,如下图所示:
《5》查看对服务器资产的操作
使用管理员账号登陆后,选择【审计】-->【会话审计】进入会话列表就可以自由查看对应用户对指定服务器资产的详细操作记录了。