有个美妆护肤客户需要使用影刀将数据插入数据库,但是因为公司🈶️跳板机,直接使用影刀的连接数据库指令会连接失败。
用到跳板机的场景通常是由于网络原因(例如内网),服务器无法连接,所以提供一台可以连接的服务器,而这台服务器可以连接服务器,这样,这台服务器就承担了一个跳板的角色。
早在2000年左右,一些中大型企业为了能对运维人员的远程登录进行集中管理,会在机房部署一台跳板机。跳板机其实就是一台unix/windows操作系统的服务器,所有运维人员都需要先远程登录跳板机,然后再从跳板机登录其他服务器中进行运维操作。
跳板机:在物理上就是一台计算机,跳板机也称为前置机,是一台可以访问的服务器,再通过这台服务器去访问别的机器。跳板机可以是Linux系统,也可以是Windows系统。

代码原理如下:
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()
由代码得知,先连接跳板机,开启连接服务,然后就可以访问服务器了
访问完服务器需要关闭跳板机连接,释放资源
堡垒机是从跳板机(也叫前置机)的概念演变过来的。
跳板机并没有实现对运维人员操作行为的控制和审计,使用跳板机过程中还是会有误操作、违规操作导致的操作事故,一旦出现操作事故很难快速定位原因和责任人。
此外,跳板机存在严重的安全风险,一旦跳板机系统被攻入,则将后端资源风险完全暴露无遗。同时,对于个别资源(如telnet)可以通过跳板机来完成一定的内控,但是对于更多更特殊的资源(ftp、rdp等)来讲就显得力不从心了。
堡垒机:是一种用于管理和控制远程服务器、网络设备等系统的安全设备。它能够将用户的访问流量进行精细化的管理和控制,实现用户权限的集中管控、会话管理、审计跟踪等功能,从而提升系统安全性和管理效率。

堡垒机既可以是硬件设备,也可以是软件。
硬件设备通常是指预装了堡垒机软件的专用服务器,具有更高的稳定性和性能,而软件形式的堡垒机则可以在虚拟化环境中部署。
但是,堡垒机的配置、部署和维护都需要专业技术,不正确的配置可能会影响系统的安全性和稳定性。
堡垒机与跳板机的区别主要在于功能不同:跳板机只是一种通用的远程登录工具,用于远程登录到目标机器,可以将本地的 SSH 连接转发到被控机器上;而堡垒机则具备更为丰富的管理和控制功能,如用户认证、权限授权、会话审计、运维流程控制、统一管理等,帮助企业实现安全管控和降低风险。
1)核心系统运维和安全审计管控;
2)过滤和拦截非法访问、恶意攻击,阻断不合法命令,审计监控、报警、责任追踪;
3)报警、记录、分析、处理;
1)单点登录功能
支持对X11、Linux、Unix、数据库、网络设备、安全设备等一系列授权账号进行密码的自动化周期更改,简化密码管理,让使用者无需记忆众多系统密码,即可实现自动登录目标设备,便捷安全;
2)账号管理
设备支持统一账户管理策略,能够实现对所有服务器、网路设备、安全设备等账号进行集中管理,完成对账号整个生命周期的监控,并且可以对设备进行特殊角
设置,如:审计巡检员、运维操作员、设备管理员等自定义,以满足审计需求;
3)身份认证
设备提供统一的认证接口,对用户进行认证,支持身份认证模式包括动态口令、静态密码、硬件key、生物特征等多种认证方式,设备具有灵活的定制接口,可以与其他第三方认证服务器直接结合;安全的认证模式,有效提高了认证的安全性和可靠性;
4)资源授权
设备提供基于用户、目标设备、时间、协议类型IP、行为等要素实现细粒度的操作授权,最大限度保护用户资源的安全;
5)访问控制
设备支持对不同用户进行不同策略的制定,细粒度的访问控制能够最大限度的
保护用户资源的安全,严防非法、越权访问事件的发生;
6)操作审计
设备能够对字符串、图形、文件传输、数据库等安全操作进行行为审计;通过设备录像方式监控运维人员对操作系统、安全设备、网络设备、数据库等进行的各种操作,对违规行为进行事中控制;对终端指令信息能够进行精确搜索,进行录像精确定位