ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

No.MN55-week9DOS攻击案例秘钥交换过程HTTPS通信原理私有证书创建

2021-07-13 18:33:39  阅读:231  来源: 互联网

标签:week9DOS 证书 CA No 秘钥 etc pki root 客户端


2021-7-12

1.DOS攻击生产案例

案例:解决DOS攻击生产案例,根据web日志或者或者网络连接数,监控当某个IP 并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频 率每隔5分钟。

脚本:实现攻击阻止

#!/bin/bash
#
#**********************************
# Author:      whr
# Date:        2021-06-29
# FileName:    networkattack.sh
# Url:         http://www.wade.com
# Copyright(C):2021All rights reserved
#*********************************
#
log=/home/mymonitor.log
[ -f ${log} ] || touch ${log}

#
# def: add ip in the iptables
#
add_iptables(){
    while read line;do
    ip=$(echo ${line} | awk '{print $2}')
    count=$(echo ${line} | wc -l)
    if [ ${count} -gt 100 ] && [ $(iptables -L -n | grep "${ip}" | wc -l) -lt 1 ];then
    iptables -A INPUT -s ${ip} -j REJECT
    echo "${line} is dropped" >> /tmp/droplist.log
    fi
    done < ${log}
}

#
# def: main interface
#
main(){
    while true;do
    ss -an | grep EST | awk '{print $(NF-1)' | awk -F '[:]' '{print $1}' | sort | uniq -c > ${log}
    add_iptables
    sleep 300
    done
}

main

2.秘钥交换原理

简述:密钥交换的过程
image

1. 客户端向服务器发起HTTPS请求;客户端并向服务器发送自己支持的秘钥交换算法列表;
2. 服务器选取一种秘钥交换算法加上CA证书返回给客户端;
3. 客户端验证服务器合法性,并生成一个随机数用协商好的加密算法加密生成随机秘钥,并用从CA证书中拿到的公钥对其加密后发送给服务器;
4. 服务器收到后用自己的私钥解密;
5. 服务器私钥解密之后,拿到对称秘钥,并且用它再加密一个信息,返回给浏览器;

3.HTTPS通信原理

简述:https的通信过程

1. 客户端发起HTTPS请求;浏览器输入https网址,连接到服务器的443端口;
2. 服务器端配置一套数字证书(包含一对公钥和私钥);
3. 传送服务器的证书给客户端;提供公钥,即证书颁发机构,过去时间等;
4. 客户端解析验证服务器发送的证书;验证服务器公钥的有效性,如果有异常弹出警告,没问题就生成一个随机数,用证书中公钥对该随机数进行非对称加密;
5. 客户端将加密信息传送给服务器;让服务器对加密的随机数和客户端进行加密解密实现通信;
6. 服务器端解密信息;通过客户端发送的加密信息用私钥解密后,得到客户端发送的随机数;
7. 服务器加密信息并发送;服务器利用随机数进行对称加密,再发送给客户端;
8. 客户端接受并解密信息;客户端用之前生成的随机解密服务器传来的数据,获取解密后的内容;

4.私有CA证书

案例:创建私有CA并进行证书申请。

4.1创建私有CA

  1. 创建CA所需要的文件

    #CentOS8 生成证书索引数据库文件
    [root@CA ~]# mkdir -pv /etc/pki/CA/{certs,crl,newcerts,private}
    [root@CA ~]# touch /etc/pki/CA/index.txt
    #指定第一个颁发证书的序列号
    [root@CA ~]# echo 001 > /etc/pki/CA/serial
    
  2. 生成CA私钥

    [root@CA ~]# cd /etc/pki/CA/
    [root@CA CA]# (umask 066 ; openssl genrsa -out private/cakey.pem 2048)
    
  3. 生成CA自签名证书

    #国家代码:https://country-code.cl/
    
    #交互式生成自签名证书
    [root@CA ~]# openssl req -new -x509 -key private/cakey.pem -days 3650 -out 
    
    #非交互式生成自签名证书
    [root@CA ~]# openssl req -utf8 -newkey rsa:1024 -subj "/C=CN/ST=beijing/L=haidian/0=mgn55=n55/CN=www.cnblogs.com" -keyout app.key -nodes -x509 -days 3650 -out app.crt
    

4.2申请证书并颁发

  1. 为需要使用证书的主机生成私钥

    [root@CA ~]# (umask 066;openssl genrsa -out /data/test/test.key 2048)
    
  2. 为需要使用证书的主机生成证书申请文件

    [root@CA ~]# openssl req -new -key /data/app/app.key -out /data/app/app.csr
    

    PS:默认三项必须和CA一致:国家、省份、组织;

  3. CA颁发证书

    [root@CA ~]# openssl ca -in /data/app/app.csr -out /etc/pki/CA/certs/app.crt
    
  4. 查看证书

    [root@CA ~]# cat /etc/pki/CA/certs/app.crt
    [root@CA ~]# openssl x509 -in /etc/pki/CA/certs/app.crt -noout -text
    #已颁发证书
    [root@CA ~]# cat /etc/pki/CA/index.txt
    #下一个证书编号
    [root@CA ~]# cat /etc/pki/CA/serial
    #查看证书有效性
    [root@CA ~]# openssl ca -status 01
    
  5. 将证书相关文件发送到用户端使用

    [root@CA ~]# cp /etc/pki/CA/certs/app.crt  /data/app/
    
  6. 吊销证书

    [root@CA ~]# openssl ca -revoke /etc/pki/CA/newcerts/01.pem
    [root@CA ~]# cat /etc/pki/CA/index.txt
    [root@CA ~]# openssl ca -status 01
    
  7. 生成证书吊销列表

    [root@CA ~]# echo 001 > /etc/pki/CA/crlnumber
    [root@CA ~]# openssl ca -gencrl -out /etc/pki/CA/crl.pem
    

PS:其他

证书申请及签署步骤:

  1. 生成证书申请请求;
  2. RA核验;
  3. CA签署;
  4. 获取证书;

OpenSSL配置文件:

/etc/pki/tls/openssl.cnf

三种策略:

  1. match:要求申请填写的信息跟CA设置信息必须一致;
  2. optional:可选,跟CA设置的信息可以不一致;
  3. supplied:必须填写这项申请信息;

标签:week9DOS,证书,CA,No,秘钥,etc,pki,root,客户端
来源: https://www.cnblogs.com/hony625/p/15007838.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有