week_9_TLS、CA、DNS


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,数字越小优先级越高;

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,504评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,434评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,089评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,378评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,472评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,506评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,519评论 3 413
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,292评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,738评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,022评论 2 329
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,194评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,873评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,536评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,162评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,413评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,075评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,080评论 2 352

推荐阅读更多精彩内容