9.3 网络安全介绍

背景:
  早期的互联网 -- 80年代,我们需要共享数据,传输数据;所传输或者共享的数据均为明文;
  随着互联网发展,安全成为了国家的一种战略资源;
  编程、运维 -- 手工业;
  安全属于一种科学研究 -- 安全的算法都是需要以数学难题为基础来进行研究

  为了保证数据安全,我们必须满足以下4点:
  1、数据必须被加密
  2、完整性校验(哈希、单向加密、指纹)
  3、源认证
  4、证书体系(openssl就是用来实现这个PKI证书体系架构的,它包含了前三点)
1、数据加密
  数据必须背加密
  1、对称密匙加密
  同一个秘钥进行加密,用一个密匙进行解密;
  优点:效率高
  缺点:秘钥维护非常困难;秘钥交换非常困难
  2、非对称秘钥加密
  密钥对(公钥,私钥)
  A -- B
  A私钥 A公钥
  B可以通过使用A的公钥对数据进行加密,再传输给A;
  优点:维护密匙方便;数据比较安全
  缺点:效率低下(非常低下),和对称加密相比,差距为1000倍左右
  两种加密形式
  1、流加密

  
2、完整性校验 -- 指纹
  测试数据的完整性,保证数据没有被篡改
  原理:获取B机器对数据的hash值,A机器对获取的数据再进行一次hash;拿A自己hash的结果,与获取到的B机器的hash结果进行比较;
  如果相同,则说明数据完整;否则,数据不可信任;

  hash特点:
  1、不可逆性 -- 单向加密
  2、雪崩效应 -- 修改一个字符,输出的结果完全不同
  3、源认证
  非对称秘钥的另外一个作用:
  数字签名(数据加密(太慢,不使用))、秘钥交换
  在做秘钥交换的时候,我们用了公钥机密私钥解密
  数字签名 私钥加密 -- 公钥解密
  只有自己拥有自己的私钥,用自己的私钥对数据进行加密;
  对端用自己的公钥解密,如果能解密说明数据源是正确的;否则不可信任
4、*证书机制 -- PKI(openssl)
  我们通过PKI(公共秘钥基础设施)架构,来实现上面提到的三点认证机制;
  PKI包括:
  CA -- 证书服务器 CA服务器,用来做证书签发;
  RA -- 搭建CA的机构,注册证书的机构;
  CRL -- 证书吊销列表;
  证书:根证书,个人证书

openssl
  openssl管理工具
  两个加密程序调用接口 -- 库文件

  常见文件:
  /etc/pki/tls
  扩展:1995年 由网景公司开发 ssh 2.0
  1996年 ssh 3.0
  1999年 网景公司快倒闭了 把ssh交给一个共有组织维护tls1.0
  2006年 开发了tls1.1
  2008年 开发了tls1.2 //当前互联网环境下普遍使用的ssh/tls协议
  2018年 开发了tls1.3
  /etc/pki/tls/openssl.cnf -- 默认主配置文件
  /ur/bin/openssl -- 命令文件
  /etc/pki/CA -- 证书服务器的证书服务根目录
  /etc/pki/CA/certs -- 证书存放目录
  /etc/pki/CA/crl --
  /etc/pki/CA/private

  index.txt //证书索引信息文件
  serial //证书序列号
  cakey.pem //ca证书申请文件
  cacert.pem //ca根证书文件
  ssh
  ssh服务端的参数与优化
  C/S和telnet一样,-- openssl(软件程序)
  能够进行数据加密(你传输的密码是被加密的)
  ssh协议借助ssl/tls 协议来传输数据,加密数据;
  在传输数据之前,

  ssh登陆过程:
  1、建立ssl隧道
  传输公钥
  生成并传输随机秘钥信息
  建立隧道
  【以上操作均在隧道中完成】
  2、服务器端返回登录界面
  3、客户端输入密码 -- 这个密码才是用户密码(root)

ssh认证方式:
  1、passed的密码认证方式
  2、证书认证机制 -- 免秘钥

  scp 推 拉
  sftp
  脚本:通过expect实现交互界面的自动化执行;
  #!/usr/bin/expect
  spawn -- 开启新的expect会话 #!/bin/bash
  send -- 行为
  expect -- 匹配字符串
  interact -- timeout

  expect "command" send {"yes"}

  #!/bin/bash

  expect << EOF

  EOF
  expect执行多个语句判断的时候,使用exp_continue;
  对192.168.1.1 - 192.168.1.100做无密码登录:
  #!/bin/bash
  #
  [ ! -f /root/.ssh/id_rsa.pub ] && ssh -keygen -t rsa -P '' -f '/root/.ssh/id_rsa'
  expect << EOF
  spawn ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
  expect {

  }
  EOF  

猜你喜欢

转载自www.cnblogs.com/liuyuanzzz/p/11456881.html
9.3