目前市面上,专门做IT审计堡垒机的厂商有很多,他们的产品都有一个特点,那就是基本上每台的售价都在20万以上。像我们做技术的,不可能每次待的公司都是大公司,那么在小公司,是不太可能投资20多万买一台硬件的堡垒机来使用,但是我们如果要规范我们的技术人员的行为规范,那么对技术人员的操作进行审计又是必不可少的,那这个时候我们应该怎么办?

审计

接触过python的人都应该知道,python有个很强大的模块叫做Paramiko,这个模块是可以进行批量服务器的ssh,以及sftp的操作。但是可能有很多人不知道,这个Paramiko下有个叫demo的模型,这个模型已经是做好的了,其实就是一个简单类型的ssh长连接工具。

我们下载Paramiko源码,解压后,在目录下有个demos的目录。

自带demos目录

执行这个目录下的demo.py文件:

实现ssh登录模型

从这里可以看出,这个demo模块就是类似于ssh登录的模型,我们可以发挥自己的想象,我们的堡垒机重要的 一环也不就是ssh登录吗?除了实现统一入口的登录以外,我们还要将从这个入口登录进去的用户进行的操作全部记录下来,再在堡垒机上设置入口唯一性,只要登录堡垒机,就执行这个模型,那么基本的审计堡垒机功能就已经实现了。

上篇文章我们也可以说,我们会结合shellinabox和paramiko来实现web界面的审计堡垒机功能。现在就先来上些效果图,下面文章会把全部的代码上传到github共享出来。

shellinabox登录堡垒机用户界面

shellinabox接入了修改后的paramiko模块,选择主机组

shellinabox接入了修改后的paramiko模块,选择服务器

shellinabox接入了修改后的paramiko模块,选择用户

通过堡垒机登录服务器成功

操作审计记录:

操作审计

目前市面上,专门做IT审计堡垒机的厂商有很多,他们的产品都有一个特点,那就是基本上每台的售价都在20万以上。像我们做技术的,不可能每次待的公司都是大公司,那么在小公司,是不太可能投资20多万买一台硬件的堡垒机来使用,但是我们如果要规范我们的技术人员的行为规范,那么对技术人员的操作进行审计又是必不可少的,那这个时候我们应该怎么办?

审计

接触过python的人都应该知道,python有个很强大的模块叫做Paramiko,这个模块是可以进行批量服务器的ssh,以及sftp的操作。但是可能有很多人不知道,这个Paramiko下有个叫demo的模型,这个模型已经是做好的了,其实就是一个简单类型的ssh长连接工具。

我们下载Paramiko源码,解压后,在目录下有个demos的目录。

自带demos目录

执行这个目录下的demo.py文件:

实现ssh登录模型

从这里可以看出,这个demo模块就是类似于ssh登录的模型,我们可以发挥自己的想象,我们的堡垒机重要的 一环也不就是ssh登录吗?除了实现统一入口的登录以外,我们还要将从这个入口登录进去的用户进行的操作全部记录下来,再在堡垒机上设置入口唯一性,只要登录堡垒机,就执行这个模型,那么基本的审计堡垒机功能就已经实现了。

上篇文章我们也可以说,我们会结合shellinabox和paramiko来实现web界面的审计堡垒机功能。现在就先来上些效果图,下面文章会把全部的代码上传到github共享出来。

shellinabox登录堡垒机用户界面

shellinabox接入了修改后的paramiko模块,选择主机组

shellinabox接入了修改后的paramiko模块,选择服务器

shellinabox接入了修改后的paramiko模块,选择用户

通过堡垒机登录服务器成功

操作审计记录:

操作审计

Python修改paramiko模块开发运维审计保垒机的更多相关文章

  1. Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成——部署方案优化

    Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成--部署方案优化 之前我们做的方案部署都是只能选择一个微服务部署并只有一台生产服务器,每个微服务只有一个 ...

  2. Python之paramiko模块和SQL连接API

    堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: i ...

  3. Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)

    Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上) Jenkins+Docker+SpringCloud持续集成流程说明 大致流程说明: 1) 开发 ...

  4. Devops 开发运维高级篇之容器管理

    Devops 开发运维高级篇之容器管理 安装docker Dockerfile镜像脚本入门制作 Harbor镜像仓库安装及使用 不过多解释docker直接秀基操 安装docker:(jenkins服务 ...

  5. Devops 开发运维高级篇之微服务代码上传和代码检查

    Devops 开发运维高级篇之微服务代码上传和代码检查 微服务持续集成(1)-项目代码上传到Gitlab 微服务持续集成(2)-从Gitlab拉取项目源码 微服务持续集成(3)-提交到SonarQub ...

  6. (视频)《快速创建网站》 4.1 为啥造软件不同于造汽车,为啥是软件就一定会有Bug - 构建开发运维一体化(DevOps)

    本文是<快速创建网站>系列的第9篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...

  7. Python之paramiko模块

    今天我们来了解一下python的paramiko模块 paramiko是python基于SSH用于远程服务器并执行相应的操作. 我们先在windows下安装paramiko 1.cmd下用pip安装p ...

  8. 使用python的Paramiko模块登陆SSH

    使用python的Paramiko模块登陆SSH paramiko是用Python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. python的paramiko模块 ...

  9. 利用python 下paramiko模块无密码登录

    利用python 下paramiko模块无密码登录   上次我个大家介绍了利用paramiko这个模块,可以模拟ssh登陆远程服务器,并且可以返回执行的命令结果,这次给大家介绍下如何利用已经建立的密钥 ...

随机推荐

  1. 怎样设计最优的卷积神经网络架构?| NAS原理剖析

    虽然,深度学习在近几年发展迅速.但是,关于如何才能设计出最优的卷积神经网络架构这个问题仍在处于探索阶段. 其中一大部分原因是因为当前那些取得成功的神经网络的架构设计原理仍然是一个黑盒.虽然我们有着关于 ...

  2. JAVA——桌球游戏(动画)

    跟着视频敲得 ,虽然不是自己的思路 ,不过对代码多了一点了解:涉及到继承类 主函数:创建一个BallGame对象,调用一个launchFrame函数 : launchFrame函数:严格来说是方法 , ...

  3. WScript.Shell 与 Shell.Application 的不同

    本文主要对比,VBScript 中 CreateObject("WScript.Shell") 和 CreateObject("Shell.Application&quo ...

  4. web样式css

    css样式 什么是css 层叠样式表(Cascading Style Sheets),是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言. ...

  5. Web安全认证

    一.HTTP Basic Auth 每次请求 API 时都提供用户的 username 和 password. Basic Auth 是配合 RESTful API 使用的最简单的认证方式,只需提供用 ...

  6. 尴尬,通篇使用 if

    以给博客园头部导航条链接添加图标为例, 接下来看看如何分别使用对象.数组.Map 优化它的. 前置 1.接下来给头部导航条添的图标包含: 博客园首页 新随笔 博客首页 联系 订阅 管理 2.这里封装了 ...

  7. 关于C#三层架构中的“分页”功能

    新手上路,请多指教! 今天将分页功能实现了,要特别感谢坐在前面的何同学的指点,不胜感谢!功能的实现采用了三层架构的方式实现该功能,简述如下: 界面: DAL层有两个方法:“当前所在页”和“总页数” 这 ...

  8. 如何连接到Oracle数据库?

    如何连接到Oracle数据库?   使用SQL * Plus连接Oracle数据库服务器 SQL * Plus是交互式查询工具,我们在安装Oracle数据库服务器或客户端时会自动安装.SQL * Pl ...

  9. 对EL自己以及对于param、header、cookie的相关应用的相关知识点的复习

    EL表达式语言是一种可以计算和输出的java对象的简单语言. 列入请求语句为下面的方式:request.setAttribute("username","zhangsan ...

  10. Java字符串的应用

    字符串的简单应用 public class join { public static void main (String args[]){ String s1 = new String (" ...