Teleport_实战

认识Teleport

在开源堡垒机领域, 很多人都知道jumpserver, 但是jumpserver安装相对较复杂, 新手容易出现各种坑。

在这里介绍一款简单易用的开源堡垒机系统: Teleport, 它小巧、易用, 支持 RDP/SSH/SFTP/Telnet 协议的远程连接和审计管理.

Teleport由两大部分构成:

  • 跳板核心服务
  • WEB操作界面

Teleport的特点:

  • 极易部署
  • 简洁设计,小巧灵活,无额外依赖,确保您可以在5分钟内完成安装部署,开始使用。
  • 安全增强
  • 配置远程主机为仅被teleport服务器连接,可有效降低嗅探、扫描、暴力破解等攻击风险。
  • 单点登录
  • 只需登录teleport服务器,即可一键连接您的任意远程主机,无需记忆每台远程主机的密码了。
  • 按需授权
  • 可以随时授权指定运维人员访问指定的远程主机,也可随时回收授权。仅仅需要几次点击!
  • 运维审计
  • 对远程主机的操作均有详细记录,支持操作记录录像、回放,审计工作无负担。

参考官方地址: https://tp4a.com/

Teleport安装部署

Teleport非常小巧且极易安装部署:仅需一分钟,就可以安装部署一套您自己的堡垒机系统!!

因为Teleport内建了所需的脚本引擎, WEB服务等模块,因此不需要额外安装其他的库或者模块,整个系统的安装与部署非常方便。

下载并解压

# wget https://tp4a.com/static/download/teleport-server-linux-x64-3.2.2.tar.gz

# tar xf teleport-server-linux-x64-3.2.2.tar.gz

执行安装脚本

# cd teleport-server-linux-x64-3.2.2/

# ./setup.sh

1.png

2.png

服务控制方法

Teleport 有两个服务:

  • 核心服务 core , 配置文件路径为/usr/local/teleport/data/etc/core.ini
  • 网页服务 web, 配置文件路径为/usr/local/teleport/data/etc/web.ini

两个服务可以同时启动、停止、重启,也可单独操作其中的一个。

操作完整的 teleport 服务:

  • 启动: /etc/init.d/teleport start
  • 停止: /etc/init.d/teleport stop
  • 重启: /etc/init.d/teleport restart
  • 查看运行状态: /etc/init.d/teleport status

仅操作核心服务 core:

  • 启动: /etc/init.d/teleport start core
  • 停止: /etc/init.d/teleport stop core
  • 重启: /etc/init.d/teleport restart core

仅操作网页服务 web:

  • 启动: /etc/init.d/teleport start web
  • 停止: /etc/init.d/teleport stop web
  • 重启: /etc/init.d/teleport restart web

访问web管理界面

安装完后,确认web界面端口

# netstat -ntlup |grep 7190
tcp     0   0 0.0.0.0:7190      0.0.0.0:*               LISTEN      7303/tp_web

使用浏览器访问http://服务器的IP:7190

3.png

安装mariadb并启动

在centos7上,我这里直接使用rpm版的mariadb比较方便(当然你也可以选择自己二进制安装或编译安装MySQL)

# yum install mariadb-server mariadb-devel -y

# systemctl start mariadb
# systemctl enable mariadb

配置mariadb

# mysql

MariaDB [(none)]> create database teleport default character set utf8;

MariaDB [(none)]> grant all on teleport.* to 'teleport'@'localhost' identified by '123';

MariaDB [(none)]> flush privileges;

MariaDB [(none)]> quit

修改teleport配置

主要修改[database]配置段,以连接mysql(mariadb)

# grep -Ev ';|^$' /usr/local/teleport/data/etc/web.ini	# 修改后的配置如下
[common]
port=7190
log-level=2
debug-mode=0
core-server-rpc=http://127.0.0.1:52080/rpc

[database]
type=mysql
mysql-host=127.0.0.1
mysql-port=3306
mysql-db=teleport
mysql-prefix=tp_
mysql-user=teleport
mysql-password=123

web配置连接

使用浏览器再次访问http://服务器的IP:7190

4.png

5.png

6.png

连接登录

7.png

8.png

Teleport简单应用

添加主机

9.png

10.png

10-1.png

主机连接模式

在添加主机时有两种连接模式如下图所示:

11.png

直接连接较好理解,端口映射是在直接连接的基础上又加了一个路由主机, 多做了一次跳转.

安装Teleport助手

因为下一个步骤测试远程连接时需要安装Teleport助手(windows客户端安装)

助手下载地址: https://tp4a.com/download/get-file/teleport-assist-windows-3.2.2.exe

除了windows版外,还有mac版,暂不支持linux版。

安装过程省略, 安装完后效果:

12-1.png

12-2.png

添加主机账号

添加完主机后,还需要为此主机设置远程登录的账号

12.png
13.png
8KhMlD.png
14.png
8KhttP.png
8Kh0XQ.png

远程连接操作

8KhRpT.png

会话审计

8KhhX4.png
8KhIB9.png

特别注意: 录像存放路径为/usr/local/teleport/data/replay/,会占较大的存储空间,建议使用单独的存储盘或远程存储(NAS,SAN,分布式存储等)挂到到此目录,以防止空间不够.

如果要修改录像占用目录的路径, 方法如下:

# vim /usr/local/teleport/data/etc/core.ini

replay-path=XXXXXX			   打开注释,并修改成合适的路径

保存后,重启服务生效
# /etc/init.d/teleport restart`

Teleport应用进阶

批量添加资产主机

如果有很多台主机需要批量加入,我们可以将所有主机信息填写到资产信息文件里,然后一键导入即可。
8KhxnH.png
8K49AI.png
8K4AgS.png
8K4Ejg.png
8K48vF.png

主机资产分组

当主机数据过多时,为了方便管理,我们需要将其进行分组.
8K40C6.png
8K42VA.png
8K4IxS.png
8K4qVs.png
8K5CqJ.png

用户管理

这里要讨论的用户与主机账号必须要区分开。用户可以指定不同的角色。
用户: 指运维工程师们在办公室或家里远程连接到堡垒机的用户.
主机账号: 指堡垒机ssh连接资产主机的账号,如root等。为了更安全建议使用普通用户与sudo结合。
角色: 指一类权限的集合。
8K5KqH.png
8K5Yz8.png
8K5Usg.png
8K5sJ0.png
8K56zT.png
8K5hw9.png
8K5qyD.png
如果用户比较多,也可以对用户进行分组管理,这里就不详解讨论了。
8K5jwd.png

为用户授权资产

主机资产多, 用户也不止一个, 所以还需要做资产授权管理,让不同的用户管理不同的资产。
8KIpfP.png
8KIFOg.png
8KIKpV.png
8MpX2F.png
8M9CUx.png
8M9ZKH.png
8M9uVI.png
8M91G8.png

普通用户登录验证

8M9cL9.png
8M9LdI.png
请自行使用张三用户管理操作,然后使用admin用户进行审计验证。

总结

最终实现多用户,多资产主机授权管理的安全堡垒机,符合4A标准:

  1. authention 验证
  2. authority 授权
  3. account 账户管理
  4. audit 审计
原文地址:https://www.cnblogs.com/jiaxiaozia/p/12488280.html