• 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 root@192.168.94.128
      expect {

      }
      EOF  

  • 相关阅读:
    JavaScript二(第一个js程序)
    JavaScript简述一
    选择合适的Linux版本
    jQuery(一)引入
    Java从零开始学零(Java简介)
    正则表达式
    通过Servlet生成验证码图片(转)
    监听器(web基础学习笔记二十二)
    利用Session完成用户的登录和注销
    Spring Security OAuth 2.0
  • 原文地址:https://www.cnblogs.com/liuyuanzzz/p/11456881.html
Copyright © 2020-2023  润新知