vlambda博客
学习文章列表

齐治堡垒机shterm后台数据库查询设备最后访问时间

背景

公司使用的齐治堡垒机设备授权数量有限,眼看就要达到上限。于是想到可以把长时间无人使用的闲置设备禁用,以此来节省授权。为此,需要了解各个设备的最后访问时间。询问了售后工程师,得知齐治官方并没有提供此类功能。但是猜想后台肯定有相关信息;即使没有直接记录,也可以根据最后登陆日志查询出来。

自己动手丰衣足食,最后果然在后台数据库的server表中直接查到了最后访问时间信息。

简明教程

1.登陆堡垒机ssh后台,导出数据库备份文件,命令如下:

sudo -u postgres pg_dump shterm > dump.sql

2.在自己的服务器上安装PostgreSQL服务端

我用的kali自带了PostgreSQL,其他发行版直接apt-get或者yum即可安装

3.启动PostgreSQL服务,建立shterm数据库和qizhi角色。(我其实是用pgAdmin这个图形化工具来建库和建角色的,以下命令仅供参考)

service postgresql start #启动PostgreSQL服务
sudo -i -u postgres #切换到postgres用户
psql #打开psql客户端程序
CREATE DATABASE shterm; #建立shterm数据库
CREATE ROLE qizhi; #建立qizhi角色
\q #退出客户端

4.导入之前备份的文件

psql -d shterm -U postgres -f ./dump.sql

5.查询所有设备的最后访问时间

psql #打开psql客户端程序
SELECT ipaddr,brief,attrs FROM public.server ORDER BY attrs ASC; #查询server表
\q #退出客户端

如上图所示,server表的attrs字段就包含了最后访问信息。

进一步思考

细心的朋友可能已经发现,上述做法是先导出了数据库备份文件,再导入至自建的数据库中进行查询的。更简便的做法应当是直接在齐治的服务器上进行查询,但是Cocoa并未在服务器上找到开放的5432端口。

猜想齐治为了隐藏具体实现,应当是做了某些屏蔽工作。此处抛砖引玉,希望大家日后有时间可以慢慢发掘。



看到这里,点个关注吧~

FinSec
分享安全知识
3篇原创内容
Official Account