标签:python cmdb
一、cmdb概述
cmdb的组成主要有后台管理,中控机,服务器。
后台管理又分为后台管理页面与中控机交换数据的API。
用户通过后台管理页面录入主机信息,中控机通过API获取到ip列表,中控机根据ip去获取对应机器的配置信息,获取到配置信息后再将配置信息发送给后台管理API,API将数据保存到数据库中。
中控机与服务器之间的通信通过python的paramiko模块来完成(采用密钥方式验证)。
为了保证中控机与后台管理API之间通信的安全,需要采用API验证。
1、API验证流程
中控机与后台管理API分别在本地保存一个key,中控机通过API获取数据时需要携带这个key一起发 送到API,API验证通过后中控机才能获取到数据。
只用key是不安全的,因为key是静态的一旦被截取,其他人也可以从API获取到数据。为了更安全一 些需要让key变成动态的。
动态的key的实现,在静态key的基础上再加上时间戳,然后计算出key与时间戳的md5值,将计算后 的md5值与用于计算的时间戳通过一个分隔符发送到API,API接收到请求后通过分隔符把时间戳取出 然后将本地保存的key与接收到的时间戳进行md5计算,如果得到的值与中控机发送的值一致那么验 证通过,将数据发送给中控机,反之则拒绝发送数据。还需要设置一个key的有效期,用本地的时间 间减去中控机发送来的时间,如果结果超出设置的有效范围则API验证失败。
未完待续............
本文出自 “lcm51tc” 博客,请务必保留此出处http://lcm51tc.blog.51cto.com/4408399/1696353
标签:python cmdb
原文地址:http://lcm51tc.blog.51cto.com/4408399/1696353