1、描述TSL链路的通信图
第一阶段:client hello
1:向服务端发送支持的协议版本,比如 tls1.2
2:客户端生成一个随机数,稍后用户生成“会话秘钥”
3:发送支持的加密算法,比如 AES,RSA
4:支持的压缩算法
第二阶段:server hello
1:确认使用的加密的通信协议版本,比如 tls1.2
2:服务器端生成一个随机数,稍后用于生成”会话秘钥“
3:确认使用的加密方法
4:发送服务器证书
第三阶段:
1:客户端验证服务器证书,在确认无误后取出其公钥,验证(发证机构,完整性,证书持有者,证书有效期,吊销列表)
2:发送一下信息给服务器;
a:发送一个随机数
b:编码变更通知,表示随后的信息都将用双方商定的加密方法和秘钥发送
c:客户端握手结束通知
第四阶段:
1:收到客户端发来的第三个随机数pre-master-key后,计算生成本次会话所有的“会话秘钥“
2:向客户端发送如下信息:
a:编码变更通知,表示随后的信息都将用双方商定的加密方法和秘钥发送
b:服务器端握手结束通知
2、如何创建自签的证书
在确定配置为CA的服务器上生成一个自签证书,并为CA提供所有需要的目录及文件即可
步骤:
(1)生成私钥:
[root@ca ~]# (umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)
umask 077:创建的密码文件权限为 -rw-------
openssl genrsa:生产秘钥
-out:放在指定路径
4096:秘钥长度
(2)生成自签证书:
[root@ca ~]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 365
-new:生成新证书签署请求
-509:生成自签格式证书,创建私有CA时使用
-key:生成请求时用到的私有文件路径
-out:生成的请求的文件路径,如果自签操作将直接生成签署过的证书
-days:证书的有效时长,单位是天
(3)为CA提供所需的目录及文件:
[root@ca ~]# mkdir -pv /etc/pki/CA/{certs,crl,newcerts}
[root@ca ~]# touch /etc/pki/CA/{serial,index.txt}
serial:序列号
index.txt:数据库
[root@ca ~]#echo 01> /etc/pki/CA/serial
01:表示序列号
接下来以httpd服务为例:
(1)在httpd服务器生成私钥:
[root@server ~]# mkdir /etc/httpd/ssl
[root@server ~]# cd /etc/httpd/ssl
[root@server ssl]# (umask 077;openssl genrsa -out httpd.key 2048)
(2)生成证书签署请求:
[root@server ssl]# openssl req -new -key /etc/httpd/ssl/httpd.key -out /etc/httpd/ssl/httpd.csr -days 365 #这里填的信息要和前面证书的信息一致
(3)将请求发送给CA主机:
[root@server ssl]# scp /etc/httpd/httpd.csr root@192.168.1.120:/tmp/
(4)在CA主机上签署证书:
[root@ca ~]# openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365
(5)将签署好的证书发送给httpd服务器:
[root@ca ~]# scp /etc/pki/CA/certs/httpd.crt root@192.168.1.110:/etc/httpd/ssl/
(6)查看证书的信息:
[root@server ~]# openssl x509 -in /etc/httpd/ssl/httpd.crt -noout -serial -subject
吊销证书:
步骤:
(1)客户端获取要吊销的证书serial(在使用证书的主机上面执行)
~]# openssl x509 -in /etc/httpd/ssl/httpd.crt -noout -serial -subject
(2)CA主机吊销证书:先根据客户端提交的serial和subject信息,对比信息与本机数据库index.txt中存储的信息是够一致
吊销:~]# openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem
注意:其中的SERIAL.pem要换成证书的真正的序列号
(3)生成吊销证书的吊销编号(第一次吊销证书是执行)
~]# echo 01 > /etc/pki/CA/crlnumber
(4)更新证书吊销列表:
~]# openssl ca -gencrl -out thisca.crl
(5)查看crl文件:
~]# openssl crl -in /path/form/car_file.crl
3、搭建DNS服务器基于centos7
1.下载DNS服务:yum -y install bind bind-utils
2.修改本机DNS地址:vim /etc/resolv.conf
注意:永久生效需要配置网卡配置文件。
3.启动DNS服务:systemctl start named
4.测试:ping baidu.com
配置解析一个正向区域:(主要记录为 A ,AAAA)
(1)定义区域: vim/etc/named.rfc1912.zones #新增一个区域
配置格式:
zone "ZONE_NAME" IN {
type master; #(master|slave|hint|forword)=(主服务器|从服务器|根服务器|转发服务器)
file "ZONE_NAME.zone";
};
修改配置文件:vim /etc/named.conf
listen-on port 53 { 192.168.30.137; }; #这里填本机ip,或者"any"表示所有主机
//allow-query { localhost; }; #禁止只允许本机解析,或者"any"表示允许所有主机解析
(2)建立区域数据文件:在/var/named/目录下建立区域数据文件
[root@master ~]# vim /var/named/like.com.zone
$TTL 3600
$ORIGIN like.com.
@ IN SOA ns1.like.com. dnsadmin.like.com. (
2019071702 ;序列号
1H ;刷新时间
10M ;重试时间
3D ;过期时间
1D ) ;否定答案的TTL值
IN NS ns1
IN MX 10 mx1
ns1 IN A 192.168.30.137
mx1 IN A 192.168.30.140
www IN A 192.168.30.137
web IN CNAME www
bbs IN A 192.168.30.142
bbs IN A 192.168.30.143
[root@master ~]# chown :named /var/named/like.com.zone #修改属组
[root@master ~]# chmod 640 /var/named/like.com.zone #修改文件权限
[root@master ~]# named-checkzone like.com /var/named/like.com.zone #检查区域文件
[root@master ~]# named-checkconf #检查配置文件
(3)让服务器重载配置文件和区域数据文件
~]# rndc status :查看状态
~]# rndc reload :重载
(4)测试:dig -t A www.like.com
-t:指定类型
A:表示A记录
测试CNAME:dig -t A web.like.com
(2).配置一个反向解析区域:
1.在区域配置文件新增一个反向解析区域:
~]#vim /etc/named.rfc1912.zones
zone "30.168.192.in-addr.arpa" IN {
type master;
file "192.168.30.zone";
};
注意:反写区域的名字"网段"
2.定义区域解析库文件(主要记录为PTR)
$TTL 3600
$ORIGIN 30.168.192.in-addr.arpa.
@ IN SOA ns1.like.com. dnsadmin.like.com. (
2019072201
1H
5M
1D
5H )
IN NS ns1.like.com.
137 IN PTR ns1.like.com.
138 IN PTR mx1.like.com.
139 IN PTR www.like.com
[root@master ~]# chown :named /var/named/192168.30.zone #修改属组
[root@master ~]# chmod 640 /var/named/192168.30.zone #修改文件权限
[root@master ~]# named-checkzone 30.168.192.in-addr.arpa /var/named/192168.30.zone #检查区域文件
[root@master ~]# named-checkconf #检查配置文件
4.让服务器重载配置文件和区域数据文件
[root@master ~]#rndc reload #重载
测试: dig -x 192.168.30.137
4、熟悉DNSPOD的解析类型
1、A (Address) 记录是用来指定主机名(或域名)对应的IP地址记录。
就是说:通过A记录,大家可以设置自己的不同域名转到不同的IP上去
www.test.com 转到IP 192.168.1.11
web.test.com 转到IP 192.168.1.12
mail.test.com 转到IP 192.168.1.13
2、MX记录(Mail Exchange):邮件交换记录
功能:用户可以将该域名下的邮件服务器指向到自己的mail server上,然后即可自行操作控制所有的邮箱设置。
3、CNAME (Canonical Name)记录,通常称别名解析
功能:可以将注册的不同域名都转到一个域名记录上,由这个域名记录统一解析管理,与A记录不同的是,CNAME别名记录设置的可以是一个域名的描述而不一定是IP地址!
4、URL (Uniform Resource Locator )转发:网址转发
功能:如果您没有一台独立的服务器(也就是没有一个独立的IP地址)或者您还有一个域名B,您想访问A域名时访问到B域名的内容,这时您就可以通过URL转发来实现。
url转发可以转发到某一个目录下,甚至某一个文件上。而cname是不可以,这就是url转发和cname的主要区别所在。
5、NS(Name Server)记录是域名服务器记录
功能:用来指定该域名由哪个DNS服务器来进行解析,可以把一个域名的不同二级域名分别指向到不同的DNS系统来解析。
6、AAAA记录 IPV6解析记录