既然已经能通过两层SSH跳转访问。那么内网穿透、NAT等知识应该已经掌握了。剩下的就是Oracle的远程管理问题。从问题描述来看,该数据库服务器可能没有完全开放远程管理,日常采用的是本地访问。
一、用客户端在外网远程内网的liunx服务器登陆内网里的其他linux服务器oracle数据库
既然已经能通过两层SSH跳转访问。那么内网穿透、NAT等知识应该已经掌握了。剩下的就是Oracle的远程管理问题。从问题描述来看,该数据库服务器可能没有完全开放远程管理,日常采用的是本地访问。
根据我的经验,也有可能是开了不知道用。你可以在名列前茅层SSH的界面里telnet一下数据库服务器的默认Oracle管理端口号,1521啥的,能通就好办,不通……问问数据库管理员有没有改过默认端口,如果就是说不让通,问问你的领导、安全责任人让不让开。
这步开完以后,在内网你都可以用各种SQL客户端连接Oracle数据库了。
然后就像你开放SSH一样,把Oracle的管理口映射穿透出去,如果给安全责任人承诺过什么,这步有啥安全措施都用上。
最后,我上面都是理论思路扯蛋。你两层SSH跳转的流程。基本可以确定,内网的安全设计就是这样的。有且只有一个跳板机,上面开了操作审计等等功能,其他内网机你不拿枪指着安全责任人他不会同意开放到外网的。
如果有钱有人员的话,联合安全责任人上书老总,要钱把跳板机升级成堡垒机。可以在堡垒机上调用各种工具访问内网资源,包括你喜欢的SQL客户端。
话术我都帮你想好了,你就说“目前这样跟直接登陆Oracle没啥区别,就算有日志,我删库还是删了,上个堡垒机,不光使用方便,自带日志审计,还能更精细化的权限设置、密码保护。例如给我一个堡垒机的低权限密码,我可以不知道跳板机密码、不知道Oracle密码的情况下只登陆Oracle干活,还能限制我执行删表、删库等等命令级的黑名单。”然后,你就成为社会优异人才,你的职场后辈有堡垒机可以用。
延伸阅读:
二、数据库和 SQL 概念
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它的产生距今已有六十多年。随着信息技术和市场的发展,数据库变得无处不在:它在电子商务、银行系统等众多领域都被广泛使用,且成为其系统的重要组成部分。
数据库用于记录数据,使用数据库记录数据可以表现出各种数据间的联系,也可以很方便地对所记录的数据进行增、删、改、查等操作。
结构化查询语言(Structured Query Language)简称 SQL,是上世纪 70 年代由 IBM 公司开发,用于对数据库进行操作的语言。更详细地说,SQL 是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名。