第十一周作业

1、详细描述一次加密通讯的过程,结合图示最佳。

一次通信加密过程:

发送方:

1.使用单向加密算法提取生成数据特征码;

2.使用自己的私钥加密特征码附加在数据后面;

3.生成用于对称加密的临时密钥;

4.用此临时密钥加密数据和已经使用私钥加密后的特征码;

5.使用接受方的公钥加密此临时密钥,附加在对称密钥后的数据后方;

接受方:

1.使用自己的私钥解密加密的临时密钥,从而获得临时密钥;

2.使用对称密钥解密对称加密的数据和私钥加密的特征码密文,从而获得数据和特征码密文;

3.使用对方的公钥解密特征码密文,从而获得从计算生成的特征码;

4.使用与对方同样的单向加密算法计算数据的特征码,并与解密而来的进行比较;

第十一周作业

2、描述创建私有CA的过程,以及为客户端发来的证书请求进行办法证书。

使用OpenSSL构建私有CA的步骤:

1.生成私钥;

[root@localhost ~]# (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)
Generating RSA private key, 4096 bit long modulus
…………………………………………………….++
…………………………………………………++
e is 65537 (0x10001)

2.生成自签署证书;

[root@localhost ~]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3655
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:Shanghai
Locality Name (eg, city) [Default City]:Shanghai
Organization Name (eg, company) [Default Company Ltd]:Magedu
Organizational Unit Name (eg, section) []:Ops
Common Name (eg, your name or your server’s hostname) []:ca.magedu.com
Email Address []:caadmin@magedu.com

-new:生成新签署证书请求;

-x509:生成自签格式证书,专用于创建私有CA时使用;

-key:生成请求时用到的自由文件路径;

-out:生成的请求文件路径;如果自签操作将直接生成签署过的证书;

-days:证书的有效时长,单位是day;

3.为CA提供所需的文件及目录;

[root@localhost ~]# mkdir -pv /etc/pki/CA/{certs,crl,newcerts}
[root@localhost ~]# touch /etc/pki/CA/{serial,index.txt}
[root@localhost ~]# echo 01> /etc/pki/CA/serial

 

3、描述DNS查询过程以及DNS服务器类别。

DNS查询过程:

此处以www.magedu.com为例,首先查询本地主机上的hosts文件是否有www.magedu.com主机与ip地址的对应关系,若有则直接给予响应;若没有则向指定的DNS server发起请求,DNS server收到请求后首先查询本地缓存记录是否有magedu.com的解析记录,若有则直接反馈给客户端,若没有此时DNS server会主动向根域名服务器发起查询www.magedu.com的请求,但是根只记录了.com的相关信息,此时根会告知.com的地址,DNS server收到.com后便向.com发起查询www.magedu.com的请求,而.com只记录了magedu.com的记录,此时.com服务器会告知DNS server  magedu.com的地址,DNS server收到magedu.com的地址后便向magedu.com主机发起查询www.magedu.com的请求,magedu.com主机查询本地的记录找到了www对应的IP地址,于是将www.magedu.com对应的IP地址反馈给DNS server,DNS server在收到结果后会先将结果存储在本地的DNS缓存中(此过程是为了方便下次如果有相同的解析请求时可以快速的响应),之后再将结果直接反馈给客户端,解析完成。

DNS服务器的类别:

DNS域名服务器是用来存储主机-域名映射信息的,这些服务器具体又可以分为4类:

(1)主DNS服务器:负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。

(2)辅助DNS服务器:当主域名服务器出现故障、关闭或负载过重时,辅助域名服务器作为主域名服务器的备份提供域名解析服务。辅助域名服务器中的区域文件中的数据是从另外的一台主域名服务器中复制过来的,是不可以修改的。

(3)高速缓存服务器:从某个远程服务器取得每次域名服务器的查询回答,一旦取得一个答案就将它放在高速缓存中,以后查询相同的信息就用高速缓存中的数据回答,缓存域名服务器不是权威的域名服务器,因为它提供的信息都是间接信息。

(4)转发DNS服务器:负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果。

4、搭建一套DNS服务器,负责解析magedu.com域名(自行设定主机名及IP)

(1)、能够对一些主机名进行正向解析和逆向解析;

(2)、对子域cdn.magedu.com进行子域授权,子域负责解析对应子域中的主机名;

(3)、为了保证DNS服务系统的高可用性,请设计一套方案,并写出详细的实施过程;

一、安装DNS服务器软件

[root@localhost ~]# yum install -y named

二、配置相关配置文件

DNS的配置文件有很多个,其中:

/etc/named.conf,/etc/named.rfc1912.zones:为DNS的主配置文件;

/var/named/:该目录为DNS数据库文件的存放目录,所有的域文件都存放在此目录下;

/etc/rc.d/init.d/named:为DNS服务的服务脚本

首先编辑/etc/named.conf文件

[root@localhost ~]# vim /etc/named.conf

options {
listen-on port 53 { any; };          53为监听的端口,将后面的参数修改为any,any表示所有主机都可以进行访问解析
listen-on-v6 port 53 { ::1; };
directory “/var/named”;              对应的数据库文件的目录位置
dump-file “/var/named/data/cache_dump.db”;
statistics-file “/var/named/data/named_stats.txt”;
memstatistics-file “/var/named/data/named_mem_stats.txt”;
allow-query { any; };                允许那些主机请求查询,any表示所有主机
recursion yes;                       允许递归查询

dnssec-enable no;
dnssec-validation no;

/* Path to ISC DLV key */
bindkeys-file “/etc/named.iscdlv.key”;

managed-keys-directory “/var/named/dynamic”;
};

编辑完成后启动DNS服务

[root@localhost ~]# service named start

查看服务是否启动并监听在53端口上

[root@localhost ~]# ss -tnl | grep :53
LISTEN 0 3 ::1:53 :::*
LISTEN 0 3 192.168.1.101:53 *:*
LISTEN 0 3 127.0.0.1:53 *:*

编辑/etc/named.rfc1912.zones文件,在文件中添加zone;

[root@localhost ~]# vim /etc/named.rfc1912.zones

zone “magedu.com” IN {                  zone名字为magedu.com
type master;                   此处为主DNS服务器zone的类型为master
file “magedu.zone”;            zone的解析库文件的名称为magedu.zone,对应的文件路径为/var/named目录下

zone “1.168.192.in-addr.arpa” IN {      反向解析的名称为ip网段部分的反写后面加上in-addr.arpa
type master;                   此处为反向的主DNS服务器,zone的类型为master
file “1.168.192.zone”;         zone的解析库文件的名称为1.168.192.zone,对应的文件路径为/var/named目录下
};

主配置文件添加完后使用named-checkconf命令检查是否有语法错误

[root@localhost ~]# named-checkconf

在/var/named/目录下创建区域解析库文件;

[root@localhost ~]# vim /var/named/magedu.zone           创建正向解析库文件;

$TTL 600                                                设置所有变量TTL的值为600秒
magedu.com. IN SOA ns1.magedu.com. admin.magedu.com. (  SOA记录
2017092901                           序列号
1H                                   刷新时间
10M                                  重试时间
1W                                   过期时间
1D                                   否定答案的TTL值
)
IN NS ns1.magedu.com.                       NS记录,当前域的名称magedu.com,DNS服务其名字为ns1.magedu.com
IN NS ns2.magedu.com.                       从DNS服务器名字为ns2.magedu.com
IN MX 10 mx1.magedu.com.                    MX记录,当前域的MX服务器名字为mx1.magedu.com
IN MX 20 mx2.magedu.com.                    10为MX服务器的优先级,数字越小优先级越高
pop3.magedu.com. IN CNAME mx1.magedu.com.               CNAME记录,pop3.magedu.com为mx1.magedu.com的别名
ns1.magedu.com. IN A 192.168.1.101                      A记录,此处为所有主机名对应的ipv4地址
ns2.magedu.com. IN A 192.168.1.102                      从DNS服务器地址
www.magedu.com. IN A 192.168.1.101
mx1.magedu.com. IN A 192.168.1.101
mx2.magedu.com. IN A 192.168.1.102

正向解析库文件配置完成,完成后使用named-checkzone命令查看解析库文件是否有错误

[root@localhost ~]# named-checkzone “magedu.com” /var/named/magedu.zone

没有报错,随后需要将配置文件的权限设为O=0,属组设置为named用户,

[root@localhost ~]# chmod o= /var/named/magedu.zone
[root@localhost ~]# chown :named /var/named/magedu.zone

使用rndc命令进行重载配置文件

[root@localhost ~]# rndc reload
server reload successful

 

此时,正向DNS解析已可以使用。

测试:

[root@localhost ~]# dig -t A www.magedu.com @192.168.1.101

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.4 <<>> -t A www.magedu.com @192.168.1.101
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64569
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;www.magedu.com. IN A

;; ANSWER SECTION:
www.magedu.com. 600 IN A 192.168.1.101

;; AUTHORITY SECTION:
magedu.com. 600 IN NS ns2.magedu.com.
magedu.com. 600 IN NS ns1.magedu.com.

;; ADDITIONAL SECTION:
ns1.magedu.com. 600 IN A 192.168.1.101
ns2.magedu.com. 600 IN A 192.168.1.102

;; Query time: 1 msec
;; SERVER: 192.168.1.101#53(192.168.1.101)
;; WHEN: Thu Oct 12 16:52:37 2017
;; MSG SIZE rcvd: 116

创建反向解析库文件:

[root@localhost ~]# vim /var/named/1.168.192.zone

$TTL 600
@                IN SOA ns1.magedu.com. admin.magedu.com. (
2017092901
1H
10M
1W
1D
)
IN NS ns1.magedu.com.
IN NS ns2.magedu.com.
101              IN PTR ns1.magedu.com.
IN PTR mx1.magedu.com.
102              IN PTR ns2.magedu.com.
IN PTR mx2.magedu.com.

完成后修改属组和权限,并检查区域文件

[root@localhost ~]# chmod o= /var/named/1.168.192.zone
[root@localhost ~]# chown :named /var/named/1.168.192.zone
[root@localhost ~]# named-checkzone “1.168.192.in-addr.arpa” /var/named/1.168.192.zone

使用rndc命令进行重载配置文件

[root@localhost ~]# rndc reload
server reload successful

测试:

使用rndc命令进行重载配置文件

[root@localhost named]# dig -x 192.168.1.101 @192.168.1.101

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.4 <<>> -x 192.168.1.101 @192.168.1.101
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60637
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;101.1.168.192.in-addr.arpa. IN PTR

;; ANSWER SECTION:
101.1.168.192.in-addr.arpa. 600 IN PTR ns1.magedu.com.
101.1.168.192.in-addr.arpa. 600 IN PTR mx1.magedu.com.

;; AUTHORITY SECTION:
1.168.192.in-addr.arpa. 600 IN NS ns1.magedu.com.
1.168.192.in-addr.arpa. 600 IN NS ns2.magedu.com.

;; ADDITIONAL SECTION:
ns1.magedu.com. 600 IN A 192.168.1.101
ns2.magedu.com. 600 IN A 192.168.1.102

;; Query time: 1 msec
;; SERVER: 192.168.1.101#53(192.168.1.101)
;; WHEN: Thu Oct 12 17:44:30 2017
;; MSG SIZE rcvd: 154

反向解析成功。

三、从服务器配置

配置从DNS服务器配置文件。

[root@localhost ~]# vim /etc/named.conf

options {
listen-on port 53 { 192.168.1.102; 127.0.0.1; };      此处允许访问解析的主机地址为自己
listen-on-v6 port 53 { ::1; };
directory “/var/named”;
dump-file “/var/named/data/cache_dump.db”;
statistics-file “/var/named/data/named_stats.txt”;
memstatistics-file “/var/named/data/named_mem_stats.txt”;
allow-query { any; };
recursion yes;

// dnssec-enable yes;
// dnssec-validation yes;

/* Path to ISC DLV key */
bindkeys-file “/etc/named.iscdlv.key”;

managed-keys-directory “/var/named/dynamic”;
};

完成后启动dns服务

修改named.rfc1912.zones文件

[root@localhost ~]# vim /etc/named/named.rfc1912.zones

zone “magedu.com” IN {
type slave;                     域类型设置为slave
file “slaves/magedu.zone”;      由于为从dns服务器此处区域文件存放的位置为/var/named/slaves目录下
masters { 192.168.1.101; };     此处为指向主DNS服务器的地址
};

zone “1.168.192.in-addr.arpa” IN {
type slave;
file “slaves/1.168.192.zone”;
masters { 192.168.1.101; };
};

从dns服务器配置文件修改完成后无需创建数据库文件,会主动去和主服务器同步,不过在此之前需要在主服务器的区域数据库文件中添加从DNS服务器的ns记录和A记录。

四、子域授权

首先在主DNS服务器的区域解析库文件上添加NS记录及A记录

[root@localhost ~]# vim /var/named/magedu.zone

$TTL 600
magedu.com.      IN SOA ns1.magedu.com. admin.magedu.com. (
2017092901
1H
10M
1W
1D
)
IN NS ns1.magedu.com.
IN NS ns2.magedu.com.
IN MX 10 mx1.magedu.com.
IN MX 20 mx2.magedu.com.
cdn.magedu.com.  IN NS ns1.cdn.magedu.com.          添加子域NS记录
pop3.magedu.com. IN CNAME mx1.magedu.com.
ns1.magedu.com.  IN A 192.168.1.101
ns2.magedu.com.  IN A 192.168.1.102
www.magedu.com.  IN A 192.168.1.101
mx1.magedu.com.  IN A 192.168.1.101
mx2.magedu.com.  IN A 192.168.1.102
ns1.cdn.magedu.com. IN A 192.168.1.103              添加子域A记录

在192.168.1.103主机上修改子域DNS服务器配置文件:

[root@localhost ~]# vim /etc/named.conf

options {
//       listen-on port 53 { any; };               此处全部注释也可;
//       listen-on-v6 port 53 { ::1; };
directory “/var/named”;
dump-file “/var/named/data/cache_dump.db”;
statistics-file “/var/named/data/named_stats.txt”;
memstatistics-file “/var/named/data/named_mem_stats.txt”;
//       allow-query { localhost; };
recursion yes;

dnssec-enable no;                  此处两项dnssec需要设置为no
dnssec-validation no;

/* Path to ISC DLV key */
bindkeys-file “/etc/named.iscdlv.key”;

managed-keys-directory “/var/named/dynamic”;
};

[root@localhost ~]# vim /etc/named.rfc1912.zones

zone “cdn.magedu.com” IN {               定义子域服务器名字
type master;                    类型为主服务器
file “cdn.magedu.com.zone”;     区域解析库文件位置
};

当需要解析的主机不再子域内时,则转发给上级DNS服务器,转发的zone定义方法如下

zone “magedu.com” IN {                   上级主服务器名称
type forward;                   定义类型为转发
forward only;                   只转发不负责解析
forwarders { 192.168.1.101; };  转发的主DNS服务器地址
};

配置完成后创建解析库文件

[root@localhost ~]# vim /var/named/cdn.magedu.com.zone

$TTL 600
@ IN SOA ns1.cdn.magedu.com. admin.magedu.com. (
2017100101
1H
10M
1W
1D
)
IN NS ns1.cdn.magedu.com.
IN NS ns2.cdn.magedu.com.
ns1 IN A 192.168.1.103
ns2 IN A 192.168.1.104
*   IN A 192.168.1.105

完成后修改属组及权限,至此子域授权完成。

原创文章,作者:M36-Masuri,如若转载,请注明出处:http://www.178linux.com/84013

(0)
上一篇 2017-10-01 09:19
下一篇 2017-10-02 11:50

相关推荐

  • Docker之~集群配置

    一、前言 Kubernetes 是Google开源的容器集群管理系统,基于Docker构建一个容器的调度服务,提供资源调度、均衡容灾、服务注册、动态扩缩容等功能套件,目前最新版本为0.6.2。 本文介绍如何基于Centos7.0构建Kubernetes平台,在正式介绍之前,大家有必要先理解Kubernetes几个核心概念及其承担的功能。以下为Kubernet…

    2017-03-16
  • RPM包管理——运维必备技能之一

    软件运行环境: API:Application Programming Interface     POSIX :Portable OS 程序源代码 –> 预处理 –> 编译 –> 汇编 –> 链接     …

    Linux干货 2016-08-21
  • 马哥教育网络班22期+第九周课程练习

    1. 写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash#declare -a loginuserdeclare -i sum_login=0declare -i sum_nologin=0list=($(cat /et…

    Linux干货 2017-01-03
  • 马哥linux0811作业内容

    总结位置变量$1,$2.. $10,$11…MAX 位置变量的含义分别就是代表第几个参数,$1就是脚本运行的第一个参数.$2就是第二个.以此类推.直到最后. $*,$@,$# 区别 特殊变量: $0 : 表示命令本身 $#:传递给命令的参数个数 $*:传递给脚本的所有参数(所有参数是一个整体的字符串) $@:传递给脚本的所有参数(各个参数都是独立…

    Linux干货 2016-08-19
  • N26_第一周作业

    计算机的组成 计算机由五大部分组成:    1.控制器(control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等;    2.运算器(datapath):运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行…

    Linux干货 2016-12-28
  • 正则表达式练习

    一: 1、找出ifconfig命令结果中本机的所有IPv4地址         2、查出分区空间使用率的最大百分比值 3、查出用户UID最大值的用户名、UID及shell类型 4、查出/tmp的权限,以数字方式显示 二: 1、显示/proc/meminfo文件中以大小s开头的行;(要求:使用两种方式) 2、显示/etc…

    Linux干货 2016-08-12