認識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


服務控制方法
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

安裝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



連接登錄


Teleport簡單應用
添加主機



主機連接模式
在添加主機時有兩種連接模式如下圖所示:

直接連接較好理解,端口映射是在直接連接的基礎上又加了一個路由主機, 多做了一次跳轉.
安裝Teleport助手
因為下一個步驟測試遠程連接時需要安裝Teleport助手(windows客戶端安裝)
助手下載地址: https://tp4a.com/download/get-file/teleport-assist-windows-3.2.2.exe
除了windows版外,還有mac版,暫不支持linux版。
安裝過程省略, 安裝完后效果:


添加主機賬號
添加完主機后,還需要為此主機設置遠程登錄的賬號






遠程連接操作

會話審計


特別注意: 錄像存放路徑為/usr/local/teleport/data/replay/,會占較大的存儲空間,建議使用單獨的存儲盤或遠程存儲(NAS,SAN,分布式存儲等)掛到到此目錄,以防止空間不夠.
如果要修改錄像占用目錄的路徑, 方法如下:
# vim /usr/local/teleport/data/etc/core.ini
replay-path=XXXXXX 打開注釋,並修改成合適的路徑
保存后,重啟服務生效
# /etc/init.d/teleport restart`
Teleport應用進階
批量添加資產主機
如果有很多台主機需要批量加入,我們可以將所有主機信息填寫到資產信息文件里,然后一鍵導入即可。





主機資產分組
當主機數據過多時,為了方便管理,我們需要將其進行分組.





用戶管理
這里要討論的用戶與主機賬號必須要區分開。用戶可以指定不同的角色。
用戶: 指運維工程師們在辦公室或家里遠程連接到堡壘機的用戶.
主機賬號: 指堡壘機ssh連接資產主機的賬號,如root等。為了更安全建議使用普通用戶與sudo結合。
角色: 指一類權限的集合。







如果用戶比較多,也可以對用戶進行分組管理,這里就不詳解討論了。

為用戶授權資產
主機資產多, 用戶也不止一個, 所以還需要做資產授權管理,讓不同的用戶管理不同的資產。








普通用戶登錄驗證


請自行使用張三用戶管理操作,然后使用admin用戶進行審計驗證。
總結
最終實現多用戶,多資產主機授權管理的安全堡壘機,符合4A標准:
- authention 驗證
- authority 授權
- account 賬戶管理
- audit 審計
