目前市面上,专门做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. k8s可视化工具kubernetes-dashboard部署——小白教程

    参考资料: kubernetes官方文档 官方GitHub 创建访问用户 解决chrome无法访问dashboard 官方部署方法如下: kubectl apply -f https://raw.gi ...

  2. thinkphp5源码剖析系列1-类的自动加载机制

    前言 tp5想必大家都不陌生,但是大部分人都停留在应用的层面,我将开启系列随笔,深入剖析tp5源码,以供大家顺利进阶.本章将从类的自动加载讲起,自动加载是tp框架的灵魂所在,也是成熟php框架的必备功 ...

  3. 2019ICPC(银川) - Delivery Route(强连通分量 + 拓扑排序 + dijkstra)

    Delivery Route 题目:有n个派送点,x条双向边,y条单向边,出发点是s,双向边的权值均为正,单向边的权值可以为负数,对于单向边给出了一个限制:如果u->v成立,则v->u一定 ...

  4. captcha-killer burp验证码识别插件体验

    0x01 使用背景 在渗透测试和src挖洞碰到验证码不可绕过时,就会需要对存在验证码的登录表单进行爆破,以前一直使用PKav HTTP Fuzzer和伏羲验证码识别来爆破,但是两者都有缺点PKav H ...

  5. 十进制转化为非十进制C++代码

    还是先为大家介绍一下原理吧. 假设余数为 r ,十进制数为 n :(拆分为整数 zs ,余数 ys) 对 zs:需要将 zs 除 r 取余数,直到商为 0 停止,将余数倒序排列即可. 对 ys:需要将 ...

  6. Django REST Framework 教程开篇

    作者:HelloGitHub-追梦人物 欢迎来到 HelloDjango 全栈系列教程第二步--Django REST Framework 教程! 首先恭喜你完成了 HelloDjango 全栈系列教 ...

  7. [转载]Docker容器无法被stop or kill问题

    来源: 问题过程 某环境一个mysql容器无法被stop or kill or rm sudo docker ps | grep mysql 查看该容器 7844250860f8 mysql:5.7. ...

  8. Docket 容器引擎

    Docker 是世界领先的软件容器平台.是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中, 然后发布到任何流行的Linux或Windows机器上,可以实现虚拟化(软件 ...

  9. Java中toString()与new String()

    Java中toString()与new String(): 1.错误演示: FileInputStream fileIn = new FileInputStream(filePath);byte[] ...

  10. .net core 实现excel 和 word 的在线预览

    最新在搞文件的在线预览,网上很多免费的方案都需要是电脑安装office的,这要就很麻烦:收费的插件又太贵了. 不过还是找到一款相对好用的免费在线预览插件. 直接在nuget上搜索ce.office.e ...