salt 通信及其安全

模型架构

  • server-agent通信模型:
    server就是salt master; agent就是salt-minion
    salt也可以作为一个单点服务器管理工具使用,或者运行在无agent的ssh上

  • 一个salt master可以用于管理上千个salt minion

通信模型

salt 通信使用发布-订阅模式。salt minion初始化连接,不用去开其它端口,salt master使用4505和4506,来接收进来的连接。

  • Publisher port 4505 所有的salt minion 在这个port上建立一个永久性链接,用于接收master端的命令。命令通过这个端口异步传输到各个连接,使得n个系统同时执行命令。
  • Request Server port 4506 根据需要,向salt master 发送结果。master和salt之间到这个端口上的连接是1:1,不是同步的。

salt minion认证机制

salt minion第一次启动的时候,在网络上搜索名称为salt的系统,·salt·可以被其它名字取代,找到后,minion初始化一次握手,然后把公钥发送给salt master.

第一次初始化连接之后,salt master端使用·salt-key· 命令接收公钥,或者使用一些自动化机制。salt在master接收了公钥后才提供解码信息需要的安全码。

接收了minion的key之后,master发送自己的key 和一些AES key(用于编码和解码)。返回的AES key是使用salt minion发送的公钥编码,因而也只能由发送它的salt minon来解码。

安全通信

salt master 和salt minon端之间的通信都是基于AES key的。AES编码使用复杂的初始化向量和CBC 块链接算法,与最新的TLS 版本一致。

Rotating Security Keys

salt master 向salt minon发送编码job,需要使用AES key。当master重启,或者使用命令将salt minon删除之后,会生成新的AES key, 此时salt minion需要更新新的AES key。这样,AES key就可以在不中断minion连接的情况下进行。

编码通信渠道

salt master和salt minion之间的直接通信,一个session使用一个唯一的AES key。

用户访问控制

发送命令之前,salt会对执行命令的用户的权限进行检查。
salt 会返回等待执行命令的minion list,从而知道需要等待多久。

salt 通信及其安全的更多相关文章

  1. 搭建基于Jenkins salt-api的运维工具

    1. 安装salt-master和salt-minion 安装过程不再赘述,请参考http://docs.saltstack.com/en/latest/topics/installation/ind ...

  2. saltstack运维工具

    salt介绍 saltstack是由thomas Hatch于2011年创建的一个开源项目,设计初衷是为了实现一个快速的远程执行系统. salt强大吗 系统管理员日常会进行大量的重复性操作,例如安装软 ...

  3. Linux基础—saltstack运维工具学习

    一.saltstack简介 1.saltstack是什么 系统管理员日常会进行大量的重复性操作,例如安装软件,修改配置文件,创建用户,批量执行命令等,如果主机数量庞大,单靠人工维护实在让人难以忍受. ...

  4. salt基本原理

            转载自: 来自:http://tech.mainwise.cn/?p=438     说明:salt是一个异构平台基础设置管理工具(虽然我们通常只用在Linux上),使用轻量级的通讯器 ...

  5. salt stack 工具之一——远程命令

    salt stack 远程命令 salt stack是一种自动化的运维工具,可以同时对N台服务器进行配置管理.远程命令执行等操作. salt stack分为两个部分: salt-master,部署在控 ...

  6. salt安装与简单使用---基于centos6.5

    1.简介SaltStack 是一个服务器基础架构集中化管理平台,具备配置管理.远程执行.监控等功能,一般可以理解为简化版的puppet和加强版的func.SaltStack 基于Python语言实现, ...

  7. 使用SSL确保通信中的数据安全

    #region Server /// <summary> /// 用于保存非对称加密(数字证书)的公钥 /// </summary> private string public ...

  8. 集群管理工具Salt

    集群管理工具Salt 简介 系统管理员(SA)通常需要管理和维护数以百计的服务器,如果没有自动化的配置管理和命令执行工具,那么SA的工作将会变得很繁重.例如,要给集群中的每个服务器添加一个系统用户,那 ...

  9. Salt初识和安装

    Salt Salt是一个配置管理系统,能够根据定义的状态,配置远程节点,比如保证远程节点上指定的安装包安装,运行指定的服务.Salt也是一个分布式远程执行系统,用于在远程节点上执行命令和请求数据,不论 ...

随机推荐

  1. APK加固之静态脱壳机编写入门

    目录: 0x00APK加固简介与静态脱壳机的编写思路 1.大家都知道Android中的程序反编译比较简单,辛苦开发出一个APK轻易被人反编译了,所以现在就有很多APK加固的第三方平台,比如爱加密和梆梆 ...

  2. linux下搭建svn并同步更新至web目录

    安装svn 使用yum安装 yum install subversion -y 安装成功后查看版本库 svnserve  --version 生成目录 cd /var mkdir svn cd svn ...

  3. mysql一些常用的查询语句总结

    工作中会遇到一些比较有用的mysql查询语句,有了它,可以对mysql进行更全面的维护和管理,下面就写一下我记录的 1.按照字段ru_id查询dsc_order_goods表中ru_id出现次数由多到 ...

  4. 缓存的set、getAndTouch一定要谨慎使用

    缓存的set.getAndTouch一定要谨慎使用. 很多人认为缓存在内存中性能良好,频繁更新,却不想机器的IO无法支撑,结果就是缓存成了系统的瓶颈.

  5. C++学习之虚函数继承和虚继承

    虚函数的定义要遵循以下重要规则: 1.如果虚函数在基类与派生类中出现,仅仅是名字相同,而形式参数不同,或者是返回类型不同,那么即使加上了virtual关键字,也是不会进行晚绑定的. 2.只有类的成员函 ...

  6. Open XML的上传、下载 、删除 ......文件路径

    /// <summary> /// Get download site, if download tempfolder not existed, create it first /// & ...

  7. 几乎零配置产生Nuget包的库:White Tie

    通过Nuget管理器为你所需要产生Nuget包的项目安装White Tie,目前最新版本为1.3.16,VS2015下可用,VS2013应该问题也不大,VS2010就不好说了. 安装好之后直接重新生成 ...

  8. 第16章 STM32中断应用概览—零死角玩转STM32-F429系列

    第16章     STM32中断应用概览 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fi ...

  9. element el-tooltip 内容换行的方法

    <el-tooltip class="item" effect="light" placement="top-start">  ...

  10. java XML 通过BeanUtils的population为对象赋值 根据用户选择进行dom4j解析

    根据xml文件设计Student对象 <?xml version="1.0" encoding="UTF-8"?> <students> ...