美文网首页
week_9_TLS、CA、DNS

week_9_TLS、CA、DNS

作者: 人間失格_430b | 来源:发表于2019-03-28 17:31 被阅读0次

Q:

1、画出TLS链路的通信图
2、如何让浏览器识别自签的证书
3、搭建DNS服务器
4、熟悉DNSPOD的解析类型


A:

1、TLS链路的通信图

  1. 谈判阶段:
    • 客户端发送ClientHello消息,指定它支持的最高TLS协议版本,随机数,建议的密码套件列表和建议的压缩方法。如果客户端尝试执行恢复的握手,则它可以发送会话ID。如果客户端可以使用应用层协议协商,则它可能包括支持的应用协议列表,例如HTTP / 2。
    • 服务器使用ServerHello消息进行响应,该消息包含所选协议版本,随机数,CipherSuite和客户端提供的选项中的压缩方法。为了确认或允许恢复握手,服务器可以发送会话ID。所选协议版本应该是客户端和服务器都支持的最高版本。例如,如果客户端支持TLS 1.1版并且服务器支持1.2版,则应选择版本1.1; 不应选择版本1.2。
    • 服务器发送其证书消息(取决于所选的密码套件,服务器可以省略)。
    • 服务器发送其ServerKeyExchange消息(取决于所选的密码套件,服务器可能会省略)。此消息将发送给所有DHE和DH_anon密码套件。
    • 服务器发送ServerHelloDone消息,指示它已完成握手协商。
    • 客户端回应一个ClientKeyExchange消息,其中可能包含一个PreMasterSecret,公钥,或没有。(同样,这取决于所选的密码。)此PreMasterSecret使用服务器证书的公钥进行加密。
    • 然后,客户端和服务器使用随机数和PreMasterSecret来计算公共秘密,称为“主密钥”。此连接的所有其他关键数据都是从此主密钥(以及客户端和服务器生成的随机值)派生的,该密钥通过精心设计的伪随机函数传递。
  2. 客户端现在发送一个ChangeCipherSpec记录,基本上告诉服务器,“从现在开始我告诉你的所有东西都将被验证(如果加密参数存在于服务器证书中,则加密)。” ChangeCipherSpec本身是一个内容类型为20的记录级协议。
    • 最后,客户端发送经过身份验证和加密的Finished消息,其中包含先前握手消息上的散列和MAC。
    • 服务器将尝试解密客户端的Finished消息并验证散列和MAC。如果解密或验证失败,则认为握手失败并且连接应该被拆除。
  3. 最后,服务器发送一个ChangeCipherSpec,告诉客户端,“从现在开始我告诉你的所有内容都将被验证(如果加密是经过协商的,则加密)。”
    • 服务器发送其经过身份验证和加密的Finished消息。
    • 客户端执行与服务器在上一步骤中执行的相同的解密和验证过程。
  4. 应用程序阶段:此时,“握手”已完成,应用程序协议已启用,内容类型为23.客户端和服务器之间交换的应用程序消息也将进行身份验证,并且可选地加密,与其完成消息完全相同。否则,内容类型将返回25,客户端将不会进行身份验证。

https://en.wikipedia.org/wiki/Transport_Layer_Security#TLS_handshake

2、如何让浏览器识别自签的证书

建立私有CA:

  1. 生成私钥;
    ~]# (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)
  2. 生成自签证书;
    ~]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3655
    -new:生成新证书签署请求;
    -x509:生成自签格式证书,专用于创建私有CA时;
    -key:生成请求时用到的私有文件路径;
    -out:生成的请求文件路径;如果自签操作将直接生成签署过的证书;
    -days:证书的有效时长,单位是day;
  3. 为CA提供所需的目录及文件;
    ~]# mkdir -pv /etc/pki/CA/{certs,crl,newcerts}
    ~]# touch /etc/pki/CA/{serial,index.txt}
    ~]# echo 01 > /etc/pki/CA/serial


将cacert.pem导入到浏览器



任何此私有CA所签发的证书都可被浏览器识别

3、搭建DNS服务器

[root@localhost ~]# vim /etc/named.conf
[root@localhost ~]# vim /etc/named.rfc1912.zones 
[root@localhost ~]# vim /var/named/superb.com.zone
[root@localhost ~]# tail -4 /etc/named.rfc1912.zones 
zone "superb.com" IN {
    type master;
    file "superb.com.zone";
};
[root@localhost ~]# cat /var/named/superb.com.zone 
@   IN  SOA superb.com. dnsadmin.superb.com. (
    2019032801
    1H
    10M
    1W
    1D
)
    IN  NS  ns1
ns1 IN  A   192.168.223.131

[root@localhost ~]# chgrp named /var/named/superb.com.zone
[root@localhost ~]# chmod o= /var/named/superb.com.zone
[root@localhost ~]# ll /var/named/superb.com.zone
-rw-r-----. 1 root named 143 Mar 28 04:51 /var/named/superb.com.zone

[root@localhost ~]# named-checkzone superb.com /var/named/superb.com.zone 
/var/named/superb.com.zone:1: no TTL specified; using SOA MINTTL instead
zone superb.com/IN: loaded serial 2019032801
OK
[root@localhost ~]# named-checkconf
[root@localhost ~]# rndc reload
server reload successful

[root@localhost ~]# dig -t axfr superb.com @192.168.223.131

; <<>> DiG 9.9.4-RedHat-9.9.4-73.el7_6 <<>> -t axfr superb.com @192.168.223.131
;; global options: +cmd
superb.com.     86400   IN  SOA superb.com. dnsadmin.superb.com. 2019032801 3600 600 604800 86400
superb.com.     86400   IN  NS  ns1.superb.com.
ns1.superb.com.     86400   IN  A   192.168.223.131
superb.com.     86400   IN  SOA superb.com. dnsadmin.superb.com. 2019032801 3600 600 604800 86400
;; Query time: 0 msec
;; SERVER: 192.168.223.131#53(192.168.223.131)
;; WHEN: Thu Mar 28 05:13:58 EDT 2019
;; XFR size: 4 records (messages 1, bytes 143)

4、熟悉DNSPOD的解析类型

资源记录:Resource Record, 简称rr;
记录有类型:A, AAAA, PTR, SOA, NS, CNAME, MX

├── SOA:Start Of Authority,起始授权记录; 一个区域解析库有且只能有一个SOA记录,而且必须放在第一条;
├── NS:Name Service,域名服务记录;一个区域解析库可以有多个NS记录;其中一个为主的;
├── A: Address, 地址记录,FQDN --> IPv4;
├── AAAA:地址记录, FQDN --> IPv6;
├── CNAME:Canonical Name,别名记录;
├── PTR:Pointer,IP --> FQDN
└── MX:Mail eXchanger,邮件交换器;
    优先级:0-99,数字越小优先级越高;

相关文章

  • week_9_TLS、CA、DNS

    Q: 1、画出TLS链路的通信图2、如何让浏览器识别自签的证书3、搭建DNS服务器4、熟悉DNSPOD的解析类型 ...

  • chrome dns 清除

    在 Chrome 地址栏输入chrome://net-internals/#dns点击 clear host ca...

  • DNS介绍以及模拟dns解析过程实验

    DNS简介DNS域名的解析过程DNS服务器的资源记录实验模拟DNS解析过程 DNS简介   DNS(Domain ...

  • 20170919 DNS服务(一)

    DNS简介DNS解析关键概念BIND 一、DNS简介: (一)DNS服务 DNS:Domain Name Serv...

  • DNS

    DNS服务 DNS域名 DNS域名结构 DNS解析 DNS服务器类型 区域传输 DNS解析 区域数据库 添加CNA...

  • 服务器宝塔面板改DNS

    把服务器DNS改为 阿里DNS 主要DNS:223.5.5.5 备用DNS:223.6.6.6

  • DNS优选

    DNS优选 翻墙DNS PandaDNS: http://dns.pandadns.xyz/ 可以翻墙的DNS。支...

  • 8-4 DNS

    DNS解析了解吗 DNS解析 查询方式 DNS劫持 DNS解析转发问题

  • DNS explained

    DNS explained What is DNS DNS stands for Domain Name Syst...

  • Red Hat -- DNS

    Ret Hat -- DNSUbuntu Server -- DNS 什么是 DNS ? DNS (Domain ...

网友评论

      本文标题:week_9_TLS、CA、DNS

      本文链接:https://www.haomeiwen.com/subject/oxggvqtx.html