影刀通过跳板机访问服务器数据库(附带堡垒机科普)——by.广东业务组
评论
收藏

影刀通过跳板机访问服务器数据库(附带堡垒机科普)——by.广东业务组

经验分享
伯符
2023-05-15 09:32·浏览量:3003
伯符
发布于 2023-05-15 09:323003浏览

业务背景

有个美妆护肤客户需要使用影刀将数据插入数据库,但是因为公司🈶️跳板机,直接使用影刀的连接数据库指令会连接失败。

用到跳板机的场景通常是由于网络原因(例如内网),服务器无法连接,所以提供一台可以连接的服务器,而这台服务器可以连接服务器,这样,这台服务器就承担了一个跳板的角色。

一、正文

1.1、跳板机?

早在2000年左右,一些中大型企业为了能对运维人员的远程登录进行集中管理,会在机房部署一台跳板机。跳板机其实就是一台unix/windows操作系统的服务器,所有运维人员都需要先远程登录跳板机,然后再从跳板机登录其他服务器中进行运维操作。

跳板机:在物理上就是一台计算机,跳板机也称为前置机,是一台可以访问的服务器,再通过这台服务器去访问别的机器。跳板机可以是Linux系统,也可以是Windows系统。

1.2、场景案例:影刀通过跳板机去连接服务器数据

代码原理如下:

import pymysql
import pandas as pd
from sshtunnel import SSHTunnelForwarder

#跳板机 
sshServerB_ip = '' # 跳板机B地址
sshServerB_port =  # 跳板机B端口
sshServerB_usr = '' # 跳板机B账号
sshServerB_pwd = '' # 跳板机B密码

#数据库 
databaseA_ip = '' # 目标机器A地址
databaseA_port = # 目标机器A端口
databaseA_usr = '' # 目标机器A账号
databaseA_pwd = '' # 目标机器A密码
databaseA_db = '' # 目标机器A要连的库

# 1】跳板机连接

server = SSHTunnelForwarder(
    (sshServerB_ip,sshServerB_port),  # 跳板机B地址,跳板机B端口
    ssh_username=sshServerB_usr,  # 跳板机B账号
    ssh_password=sshServerB_pwd,  # 跳板机B密码
    remote_bind_address=(databaseA_ip,databaseA_port)  # 目标机器A地址,端口
)
print("跳板机连接成功")

server.start()
# 2】数据库连接【本次案例客户数据库为mysql数据库】

conn = pymysql.connect(
    host='127.0.0.1',  # 这里必须填127.0.0.1
    port=server.local_bind_port, # 本地映射端口
    user=databaseA_usr, # 目标机器A账号
    password=databaseA_pwd, # 目标机器A密码 
    db=databaseA_db, # 目标机器A要连的库
    charset="utf8"
) 
print("数据库连接成功")

# 3】执行SQL语句
sql='''

'''

conn.close()  # 关闭数据库连接,释放计算机资源
server.stop() 

由代码得知,先连接跳板机,开启连接服务,然后就可以访问服务器了

访问完服务器需要关闭跳板机连接,释放资源

二、课外科普

2.1、堡垒机?

堡垒机是从跳板机(也叫前置机)的概念演变过来的。

跳板机并没有实现对运维人员操作行为的控制和审计,使用跳板机过程中还是会有误操作、违规操作导致的操作事故,一旦出现操作事故很难快速定位原因和责任人。

此外,跳板机存在严重的安全风险,一旦跳板机系统被攻入,则将后端资源风险完全暴露无遗。同时,对于个别资源(如telnet)可以通过跳板机来完成一定的内控,但是对于更多更特殊的资源(ftp、rdp等)来讲就显得力不从心了。

堡垒机:是一种用于管理和控制远程服务器、网络设备等系统的安全设备。它能够将用户的访问流量进行精细化的管理和控制,实现用户权限的集中管控、会话管理、审计跟踪等功能,从而提升系统安全性和管理效率。

2.2、堡垒机形态

堡垒机既可以是硬件设备,也可以是软件。

硬件设备通常是指预装了堡垒机软件的专用服务器,具有更高的稳定性和性能,而软件形式的堡垒机则可以在虚拟化环境中部署。

但是,堡垒机的配置、部署和维护都需要专业技术,不正确的配置可能会影响系统的安全性和稳定性。

2.3、堡垒机和跳板机区别

堡垒机跳板机的区别主要在于功能不同:跳板机只是一种通用的远程登录工具,用于远程登录到目标机器,可以将本地的 SSH 连接转发到被控机器上;而堡垒机则具备更为丰富的管理和控制功能,如用户认证、权限授权、会话审计、运维流程控制、统一管理等,帮助企业实现安全管控和降低风险。

2.4、堡垒机作用

1)核心系统运维和安全审计管控;

2)过滤和拦截非法访问、恶意攻击,阻断不合法命令,审计监控、报警、责任追踪;

3)报警、记录、分析、处理;

2.5、堡垒机核心功能

1)单点登录功能

支持对X11、Linux、Unix、数据库、网络设备、安全设备等一系列授权账号进行密码的自动化周期更改,简化密码管理,让使用者无需记忆众多系统密码,即可实现自动登录目标设备,便捷安全;

2)账号管理

设备支持统一账户管理策略,能够实现对所有服务器、网路设备、安全设备等账号进行集中管理,完成对账号整个生命周期的监控,并且可以对设备进行特殊角

设置,如:审计巡检员、运维操作员、设备管理员等自定义,以满足审计需求;

3)身份认证

设备提供统一的认证接口,对用户进行认证,支持身份认证模式包括动态口令、静态密码、硬件key、生物特征等多种认证方式,设备具有灵活的定制接口,可以与其他第三方认证服务器直接结合;安全的认证模式,有效提高了认证的安全性和可靠性;

4)资源授权

设备提供基于用户、目标设备、时间、协议类型IP、行为等要素实现细粒度的操作授权,最大限度保护用户资源的安全;

5)访问控制

设备支持对不同用户进行不同策略的制定,细粒度的访问控制能够最大限度的

保护用户资源的安全,严防非法、越权访问事件的发生;

6)操作审计

设备能够对字符串、图形、文件传输、数据库等安全操作进行行为审计;通过设备录像方式监控运维人员对操作系统、安全设备、网络设备、数据库等进行的各种操作,对违规行为进行事中控制;对终端指令信息能够进行精确搜索,进行录像精确定位

收藏2
全部评论1
最新
发布评论
评论