1. 详细描述一次加密通讯的过程,结合图示最佳。
2. 描述创建私有CA的过程,以及为客户端发来的证书请求进行办法证书。
首先准备主机环境,使用两台虚拟机,一台用作CA(192.168.245.111),一台用作使用证书的主机(192.168.245.112)。
在CA主机上:
(1)在./etc/pki/CA目录下创建所需文件,如下图示:
(2)创建私钥文件
执行命令:(umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048),如下图示:
(3)生成证书请求,自己为自己颁发证书
执行命令: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
使用证书的主机:
以httpd服务为例说明,创建所需文件目录ssl
(1)生成私钥
(2)生成证书签署请求
(3)将证书 httpd.csr 发送给CA主机
执行命令:scp httpd.csr root@192.168.245.111:/tmp/
(4)CA主机签署证书
执行命令:openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365
(5)将CA主机中的 httpd.crt 发送给使用证书的主机
执行命令:scp certs/httpd.crt root@192.168.245.112:/etc/httpd/ssl
(6)在CA主机上查看 httpd.crt 证书的信息,包括证书编号和subject信息
执行命令:openssl x509 -in /etc/pki/CA/certs/httpd.crt -noout -serial -subject
注意:此处需要指明具体查看的信息,如serial、subject,否则不会显示任何信息。
最后,出于安全考虑,可以将两个主机上的 httpd.csr 文件删除。
01.pem为生成的证书,此处放于当前目录下的newcerts目录下,在生产环境中使用时应将证书放于certs目录下,将
证书名字改为需要使用证书的主机名字即可,便于识别。
吊销证书
(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/01.pem
(3)生成吊销证书的吊销编号(第一次吊销证书时执行)
执行命令:echo 01 > /etc/pki/CA/crlnumber
(4)更新证书吊销列表
执行命令:openssl ca -gencrl -out thisca.crl
至此,证书吊销完毕!
3. 描述DNS查询过程以及DNS服务器类别。
DNS查询过程
(1)在浏览器中输入一个域名,例如www.magedu.com,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析;
(2)如果hosts里没有这个ip到域名的映射,那么就要查找本地DNS解析器缓存,是否有这个域名到ip地址的映射关系,如果有,直接返回,完成域名解析;
(3)如果本机的hosts与本地DNS解析器缓存都没有相应的网址映射关系,那么就要找到你的TCP/IP参数中设置的首选DNS服务器,我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性;
(4)如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个域名到ip地址的映射,完成域名解析,但是此解析不具有权威性。
(5)如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责(.com)域名的服务器收到请求后,如果自己无法解析,它就会找一个管理(.com)域的下一级DNS服务器地址 (magedu.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找(magedu.com)域服务器,重复上面的动作,进行查询,直至找到 (www.magedu.com)主机;
(6)如果用的是转发模式,此DNS服 务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。不管是本地 DNS服务器用是是转发,还是根提示,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。
DNS服务器类别
(1)主域名服务器:负责维护这个区域的所有域名信息,是特定的所有信息的权威信息源。也是说主域名服务器内所存储的是该区域的正本数据,系统管理员可以对它进行修改。
(2)辅助域名服务器:当主域名服务器出现故障、关闭或负载过重时,辅助域名服务器作为备份服务提供域名解析服务。辅助域名服务器中的区域文件内的数据是从另外一台域名服务器复制过来的,并不是直接输入的,也是说这个区域文件只是一份副本,这里的数据是无法修改的。
(3)缓存域名服务器:可运行域名服务器软件但没有域名数据库。它从某个远程服务器取得每次域名服务器查询的回答,一旦获取一个答案,将它放在高速缓存中,以后查询相同的信息时用它予以回答。缓存域名服务器不是权威性服务器,因为提供的所有信息都是间接信息。
(4)转发域名服务器:负责所有非本地域名的本地查询。转发域名服务器接到查询请求时,在其缓存中查找,如找不到把请求依次转发到指定的域名服务器,直到查询到结果为止,否则返回无法映射的结果。
4. 搭建一套DNS服务器,负责解析magedu.com域名(自行设定主机名及IP)
(1) 能够对一些主机名进行正向解析和逆向解析;
如果没有安装bind,先安装bind。
正向解析:
a. 定义区域
编辑 vim /etc/named.rfc1912.zones 文件,在末行新增以下内容:
zone "magedu.com" IN {
type master;
file "magedu.com.zone";
};
b. 建立区域数据文件(主要记录为A或AAAA记录)
在/var/named目录下,编辑 vim magedu.com.zone 文件,新增如下内容:
$TTL 3600
$ORIGIN magedu.com. / /补全信 息的前缀,可 以 不 写,用的是 named.rfc1912.zones 中名字自动补全
@ IN SOA ns1.magedu.com. dnsadmin.magedu.com. (
20170709
1H
10M
3D
1D)
IN NS ns1 //也可以写成ns1.magedu.com. 注意结尾点号
IN MX 10 mx1
IN MX 20 mx2
ns1 IN A 192.168.245.111
mx1 IN A 192.168.245.112
mx2 IN A 192.168.245.113
www IN A 192.168.245.111
web IN CNAME www
bbs IN A 192.168.245.114
bbs IN A 192.168.245.115
保存后,退出。
执行检查配置命令、执行检查区域配置命令:
[root@centos111 yangcheng]# named-checkconf
[root@centos111 named]# named-checkzone magedu.com /var/named/magedu.com.zone
zone magedu.com/IN: loaded serial 20170709
OK
以上信息说明配置正确。
权限及属组权限修改:
chgrp named /var/named/magedu.com.zone
chmod o= magedu.com.zone
c. 执行命令:rndc reload,重载配置文件;
d. 验证结果 dig -t A magedu.com
逆向解析
a. 定义区域
编辑 vim /etc/named.rfc1912.zones 文件,在末行新增以下内容:
zone "245.168.192.in-addr.arpa" IN {
type master;
file "192.168.245.zone";
};
b. 建立区域解析库文件(主要记录为PTR)
在/var/named目录下,编辑 vim 192.168.245.zone 文件
$TTL 3600
$ORIGIN 245.168.192.in-addr.arpa.
@ IN SOA ns1.magedu.com. nsadmin.magedu.com. (
20170709
1H
10M
3D
12H)
IN NS ns1.magedu.com.
111 IN PTR ns1.magedu.com.
112 IN PTR mx1.magedu.com.
113 IN PTR mx2.magedu.com.
114 IN PTR bbs.magedu.com.
115 IN PTR bbs.magedu.com.
111 IN PTR www.magedu.com.
保存,退出
[root@centos111 yangcheng]# chgrp named 192.168.245.zone
[root@centos111 yangcheng]# chmod o= 192.168.245.zone
[root@centos111 yangcheng]# named-checkconf
[root@centos111 yangcheng]# named-checkzone 245.168.192.in-addr.arpa /var/named/192.168.245.zone
zone 245.168.192.in-addr.arpa/IN: loaded serial 20170709
OK
c. 执行命令:rndc reload 或 systemctl reload named service,重载配置文件。
d. 验证结果 dig -x 192.168.245.111
(2) 对子域cdn.magedu.com进行子域授权,子域负责解析对应子域中的主机名;
a. 首先在父域dns服务器上添加子域dns服务器的区域解析
编辑 /var/named/magedu.com.zone 文件,添加一条子域dns的NS记录和A记录。我的子域dns服务器IP为192.168.245.112
编辑 vim /etc/named.rfc1912.zones 文件,在末行新增以下内容:
zone "cdn.magedu.com" IN {
type master;
file "cdn.magedu.com.zone";
allow-update { none; };
};
b. 建立区域解析库文件
在/var/named目录下,编辑 cdn.magedu.com.zone 文件
$TTL 3600
@ IN SOA ns1.cdn.magedu.com. cdnadmin.cdn.magedu.com. (
20170709
1H
10M
3D
1D)
IN NS ns1.cdn.magedu.com.
ns1 IN A 192.168.245.112
保存,退出。
[root@centos112 named]# chgrp named cdn.magedu.com.zone
[root@centos112 named]# chmod o= cdn.magedu.com.zone
[root@centos112 named]# named-checkconf
[root@centos112 named]# named-checkzone cdn.magedu.com /var/named/cdn.magedu.com.zone
zone cdn.magedu.com/IN: loaded serial 20170709
OK
重载配置文件即可。
(3) 为了保证DNS服务系统的高可用性,请设计一套方案,并写出详细的实施过程。
dns的服务器可以是一个主服务多个从服务器。每当主服务器发生解析文件变更时,会主动通知从节点,从而把变更后的解析库文件传递给从服务器。当有一台dns服务器不能提供服务时,可暂时由另外一台dns服务器提供服务,从而实现了高可用性。
a. dns主节点的配置就是在/etc/named.rfc1912.zones文件中定义解析区域时, 保证type master;即可。另外,主节点的区域解析文件中要有从节点的NS记录和A记录;
b. ns从节点的配置首先是定义区域,与主节点不同的是,从节点 type为slave,file值为"slaves/magedu.com.zone",区域解析文件的保存位置在slaves文件夹下;
c. 重载相关配置文件或服务。
注意:需要保证主从节点的时间同步。