1、画出TSL链路的通信图
上图说明如下:
第一阶段:ClientHello:
支持的协议版本,比如tls 1.2
客户端生成一个随机数,用于稍后生成“会话密钥”
支持的加密算法列表
支持的压缩算法
第二阶段:ServerHello
确认使用的加密通信协议版本,比如 tls 1.2
服务器端生成一个随机数,用于稍后生成“会话密钥”
确认使用的加密方法
服务器证书
第三阶段:
客户端验证服务器证书(检查发证机构、证书完整性、证书持有者,证书有效期、吊销列表),在确认无误后取出其公钥
发送以下信息给服务器端:
生成第三个随机数(pre-master-key),用公钥加密
编码变更通知,表示随后的信息都将用双方商定的加密方法和密钥发送
客户端握手结束通知
第四阶段:
服务端用自己私钥解密从客户端发来的信息,得到第三个随机数(pre-master-key)后,计算生成本次会话所用到的“会话密钥”
向客户端发送如下信息:
编码变更通知,表示随后的信息都将用双方商定的加密方法和密钥发送
服务端握手结束通知
后续的会话就使用会话密钥进行加密。
2、如何让浏览器识别自签的证书
自签名证书,由于浏览器不信任该证书,访问网站的时候总会提示安全风险,为了避免频繁的提示,可以手动将证书添加到浏览器的可信任根证书库中。常见两种可信任根证书库
windows 可信任根证书库:被IE、Edge和Windows 平台的 Chrome 使用
NSS 可信任根证书库:被Firefox和Linux平台的 Chrome 使用。
把自签名证书*.cer导入根证书库中,有两种方式,第一种是双击 *.cer 文件,然后一步步将证书导入;另外一种就是通过 Chrome ,菜单:【设置】-【管理证书】菜单,然后点导入,注意选择将证书保存到“受信任的根证书颁发机构”,重启 Chrome 就好了。
(2)NSS 可信任根证书库:
使用 certutil 命令行工具可以管理 NSS 证书
安装:yum install nss-tools
列出安全数据库中的证书:
certutil -L -d certdir
说明:列出指定的目录certdir的所有证书,-d 后面接上证书库的目录 -L表示列出所有证书。
添加证书到数据库中:
certutil -A -n [email protected] -t "p,p,p" -i mycert.crt -d certdir
说明:-A表示添加证书到数据库中 ,-n 表示证书的呢称,-t 表示设置信任属性,-i 表示输入文件,即crt文件。-d 后面接上证书库的目录
3、搭建DNS服务器
(1)安装DNS服务器软件
root用户执行 yum install bind
(2)配置相关的配置文件
(2.1)首先是DNS主配置文件/etc/named.conf
options {
listen-on port 53 { any; }; 监听端口和哪些主机可以访问解析,any表示所有
directory "/var/named"; 数据库文件的目录位置
allow-query { any; }; 允许哪些主机请求查询
recursion yes; 将自己视为客户端的一种查询方式
zone "." IN {
type hint;
file "named.ca";
};
zone "magedu.com" IN {
type master;
file "magedu.com";
}
zone "99.168.192.in-addr.arpa" IN {
type master;
file "named.192.168.99";
}
其中 zone后面跟上要解析的域名,正向解析时是域名本身,反向解析时为IP网段反向.in-addr.arpa
type:为zone的类型,针对根为hint;主DNS为master;从DNS为slave;转发域为forward
file 该zone的文件名称
(2.2)域名的解析库文件
正向解析文件:/var/named/magedu.com
$TTL 86400
@ IN SOA ns1.magedu.com. admin.magedu.com. ( 2019011301
1H
5M
1W
86400 )
@ IN NS ns1.magedu.com.
@ IN MX 10 mail.magedu.com
ns1 IN A 192.168.99.110
www IN A 192.168.99.110
www IN A 192.168.99.111
ftp IN A 192.168.99.110
web IN A CNAME ftp
说明:TTL即生存时间,SOA表示开始验证,ns1.magedu.com.表示该域的主域名服务器,admin.magedu.com.表示管理员邮件地址(这里的邮件地址中的用.来代替常见的邮件地址的@.)
接下来的圆括号中5个字段分别表示:配置文件的修改版本序列号、刷新时间、重试时间、过期时间、快取时间
NS表示域内的DNS服务器名称,MX表示域中的邮件服务器,MX后面的数字为优先级,A表示从域名向IP的正向主机解析记录
CNAME ftp 表示 web使用与之前定义ftp一样的解析目标IP地址,即别名
反向解析文件:/var/named/named.192.168.99
$TTL 86400
@ IN SOA ns1.magedu.com. admin.magedu.com. ( 2019011301
1H
5M
1W
86400 )
@ IN NS ns1.magedu.com.
110 IN PTR ns1.magedu.com.
110 IN PTR www
111 IN PTR www.magedu.com.
110 IN PTR ftp
说明:第一列只要添加IP地址最后一段即可,PTR表示反向解析
(3)重启DNS服务
# cd /var/named
# chown named:named named.192.168.99 magedu.com
# service named restart
(4)测试DNS
使用dig来测试
# dig -t A www.magedu.com @Server 正向解析
#dig -t PTR 192.168.99.110 @Server 反向解析
-t表示后接类型
4、熟悉DNSPOD的解析类型
DNSPOD的解析类型如下:
(1)A记录:将域名指向一个ip地址
(2)CNAME记录:将域名指向另一个域名,再由另一个域名提供ip地址
(3)MX记录:设置邮箱,让邮箱能收到邮件
(4)TXT记录:对域名进行标识和说明,绝大多数的TXT记录是用来做SPF记录(反垃圾邮件)
(5)隐/显性URL记录:将一个域名指向另外一个已经存在的站点,就需要添加URL记录
隐性转发:用的是iframe框架技术,非重定向技术;效果为浏览器地址栏输入http://a.com 回车,打开网站内容是目标地址http://www.dnspod.cn 的网站内容,但地址栏显示当前地址http://a.com 。如果目标地址不允许被嵌套时,则不能使用隐性转发(如QQ空间,不能使用隐性转发)。
显性转发:用的是301重定向技术;效果为浏览器地址栏输入http://a.com 回车,打开网站内容是目标地址http://www.dnspod.cn 的网站内容,且地址栏显示目标地址http://www.dnspod.cn 。
(6)AAAA记录:通过IPv6地址访问您的域名
(7)NS记录:把子域名交给其他DNS服务商解析
(8)SRV记录:用来标识某台服务器使用了某个服务,常见于微软系统的目录管理