salt 通信及其安全
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 通信及其安全的更多相关文章
- 搭建基于Jenkins salt-api的运维工具
1. 安装salt-master和salt-minion 安装过程不再赘述,请参考http://docs.saltstack.com/en/latest/topics/installation/ind ...
- saltstack运维工具
salt介绍 saltstack是由thomas Hatch于2011年创建的一个开源项目,设计初衷是为了实现一个快速的远程执行系统. salt强大吗 系统管理员日常会进行大量的重复性操作,例如安装软 ...
- Linux基础—saltstack运维工具学习
一.saltstack简介 1.saltstack是什么 系统管理员日常会进行大量的重复性操作,例如安装软件,修改配置文件,创建用户,批量执行命令等,如果主机数量庞大,单靠人工维护实在让人难以忍受. ...
- salt基本原理
转载自: 来自:http://tech.mainwise.cn/?p=438 说明:salt是一个异构平台基础设置管理工具(虽然我们通常只用在Linux上),使用轻量级的通讯器 ...
- salt stack 工具之一——远程命令
salt stack 远程命令 salt stack是一种自动化的运维工具,可以同时对N台服务器进行配置管理.远程命令执行等操作. salt stack分为两个部分: salt-master,部署在控 ...
- salt安装与简单使用---基于centos6.5
1.简介SaltStack 是一个服务器基础架构集中化管理平台,具备配置管理.远程执行.监控等功能,一般可以理解为简化版的puppet和加强版的func.SaltStack 基于Python语言实现, ...
- 使用SSL确保通信中的数据安全
#region Server /// <summary> /// 用于保存非对称加密(数字证书)的公钥 /// </summary> private string public ...
- 集群管理工具Salt
集群管理工具Salt 简介 系统管理员(SA)通常需要管理和维护数以百计的服务器,如果没有自动化的配置管理和命令执行工具,那么SA的工作将会变得很繁重.例如,要给集群中的每个服务器添加一个系统用户,那 ...
- Salt初识和安装
Salt Salt是一个配置管理系统,能够根据定义的状态,配置远程节点,比如保证远程节点上指定的安装包安装,运行指定的服务.Salt也是一个分布式远程执行系统,用于在远程节点上执行命令和请求数据,不论 ...
随机推荐
- android sqlite3命令行检查自己的代码操作数据库是否正确
真机调试的话需要root ,否则没有访问目录的权限 在 linux 的终端 或者 windows的cmd 中输入 adb shell 进入shell 环境 cd /data/data/程序包名/dat ...
- Mybatis:Reader entry: ���� 4
Mybatis:Reader entry: ���� 4 现象: 产生原因:mybatis-config.xml里面配置了包的别名引发的 处理过程:注释掉 结果:就没有乱码了
- 数组k平移三种方法(java)
上代码,本文用了三种方法实现,时间复杂度不一样,空间复杂度都是o(1): public class ArrayKMove { /** * 问题:数组的向左k平移,k小于数组长度 * @param ar ...
- Spring Cloud入门程序
本文手把手教你,做出第一个Spring Cloud程序,Eureka的简单入门使用 1.创建Spring Starter Project工程 点击next,添加项目名 2.引入Spring Cloud ...
- org.apache.xmlbeans.XmlException: error: does not close tag
使用myeclipse的jax自动生成webservice , 或者serviceImpl通过@webservice来实现webservice时, 使用soap UI (我测试使用的版本 5.2.1) ...
- May 03rd 2017 Week 18th Wednesday
Truth needs no colour; beauty, no pencil. 真理不需要色彩,美丽不需要涂饰. There is no absoulte truth and everlastin ...
- 【转载】#336 - Declaring and Using a readonly Field
You can make a field in a class read-only by using the readonly modifier when the field is declared. ...
- percona-toolkit 工具集安装
下载地址: www.percona.com/downloads/percona-toolkit 安装方法一,源码安装: perl Makefile.PL make:make install ...
- tensorflow pb ckpt pbtxt
ckpt存储参数值 pbtxt存储网络图 pb既存储参数值又存储网络图
- N76E003---输入捕获
输入捕获 根据芯片手册,定时器2可以作为输入捕获使用,设置非常简单,官方也提供了宏给我们使用 void Time2_cap_init(void) { /******* 输入捕获CF设置 ******* ...