2016全新Linux+Python高端运维班-Linux服务 DNS,httpd,加密通讯,vsftp,NFS,samba服务练习

本周作业内容:


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

一次加密通讯的过程:

首先Bob用单向加密的方法提取数据的特征码,用自己的私钥加密这段特征码,并附加到数据的后面。

Bob用对称加密算法把数据及特征码整个进行加密。

Bob用接收方的公钥加密对称密钥并附加到数据后面。


Alice用私钥解密对称密钥。

Alice用对称密钥解密出数据及加密的特征码。

Alice用发送方的公钥解密特征码,并用相同的算法算出数据的特征码,比较两个特征码是否一致,若一致即可获得Bob的数据。

如图所示:

2016全新Linux+Python高端运维班-Linux服务 DNS,httpd,加密通讯,vsftp,NFS,samba服务练习

单向加密:只能加密,不能解密,提取数据指纹(特征码),来保证数据的完整性,单向加密的协议有MD5,SHA等


非对称加密:公钥和私钥成对出现,私钥必须本机器保存,用公钥加密的数据,只能使用与之配对儿的私钥解密;反之亦然,数字签名是私钥加密特征码,实现对称秘钥交换


对称加密:加密和解密使用同样的秘钥,实现数据加密,产生对称秘钥。


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


(1) 创建所需要的文件

cd /etc/pki/CA
# touch index.txt
# echo 01 > serial
# 
# (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)##生成私钥

(2) CA自签证书

# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem
-new: 生成新证书签署请求;
-x509: 专用于CA生成自签证书;
-key: 生成请求时用到的私钥文件;
-days n:证书的有效期限;
-out /PATH/TO/SOMECERTFILE: 证书的保存路径;

(3) 发证

(a) 用到证书的主机生成证书请求;

# (umask 077; openssl genrsa -out /etc/httpd/ssl/httpd.key 2048)
# openssl req -new -key /etc/httpd/ssl/httpd.key -days 365 -out /etc/httpd/ssl/httpd.csr

(b) 把请求文件传输给CA;

scp ./httpd.csr root@192.168.137.30:/etc/pki/CA/certs/

(c) CA签署证书,并将证书发还给请求者;

# openssl ca -in /etc/pki/CA/certs/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365
# cat index.txt serial
V171021154656Z01unknown/C=CN/ST=Beijing/O=Magedu/OU=ops/CN=www.magedu.com/emailAddress=webadmin@magedu.com

(d) ls /etc/pki/CA/certs ##到CA服务器上可以看到证书的httpd.crt

scp ./httpd.crt root@192.168.137.32:/etc/httpd/ssl/
ls /etc/httpd/ssl ##到服务端/etc/httpd/ssl目录下查看证书。


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


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


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


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


使用node2(192.168.137.32)主机配置正向反向解析

[root@node2 ~]# yum -y install bind
  常用的配置文件有:
  /etc/named.conf#主配置文件
  /etc/named.rfc1912.zones#区域配置文件
  /etc/rc.d/init.d/named#启动脚本
  /var/named#存放区域解析文件
  
[root@node2 ~]# vim /etc/named.conf 
options {
listen-on port 53 { any; }; ##表示监听本地IP的53端口,允许所用地址访问本地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     { any; }; ##允许所有地址查询,也可注释掉。
recursion yes;
##是否递归,如果是no那么这台DNS服务器将不会递归解析,yes或注释掉不写,表是允许,默认是允许的
//      dnssec-enable yes;
//      dnssec-validation yes;
/* Path to ISC DLV key */
//      bindkeys-file "/etc/named.iscdlv.key";
//      managed-keys-directory "/var/named/dynamic";
};
include "/etc/named.rfc1912.zones"; ##表示加载区域配置文件。

正向与反向区域配置

[root@node2 ~]# vim /etc/named.rfc1912.zones
文件末行添加:
zone "magedu.com" IN{
 type master;
 file "magedu.com.zone";
};
zone "137.168.192.in-addr.arpa" IN {
 type master;
 file "137.168.192.zone";
};


新建正向解析的zone文件

[root@node2 ~]# vim /var/named/magedu.com.zone
$TTL    86400
$ORIGIN     magedu.com.
@       IN      SOA     ns1.magedu.com. admin.magedu.com. (
2016092101
1H
5M
7D
1D )
IN      NS      ns1
IN      NS      ns2
IN      MX 10   mx1
IN      MX 20   mx2
ns1     IN      A       192.168.137.32
ns2     IN      A       192.168.137.33
mx1     IN      A       192.168.137.32
mx2     IN      A       192.168.137.33
www     IN      A       192.168.137.32
www     IN      A       192.168.137.33
ftp     IN      CNAME   www


新建反向解析zone文件

[root@node2 ~]# vim /var/named/137.168.192.zone
$TTL    86400
$ORIGIN     137.168.192.in-addr.arpa.
@       IN      SOA     ns1.magedu.com.     admin.magedu.com. (
2016092101
1H
5M
7D
1D )
IN      NS      ns1.magedu.com.
IN      NS      ns2.magedu.com.
32      IN      PTR     ns1.magedu.com.
33      IN      PTR     ns2.magedu.com.
34      IN      PTR     mx1.magedu.com.
35      IN      PTR     mx2.magedu.com.
32      IN      PTR     www.magedu.com.
33      IN      PTR     www.magedu.com.


检查语法错误,重启DNS服务

[root@node2 ~]# named-checkconf ##检查配置文件
[root@node2 ~]# named-checkzone "magedu.com" /var/named/magedu.com.zone ##检查区域解析文件
[root@node2 ~]# named-checkzone "137.168.192.in-addr.arpa." /var/named/137.168.192.zone
[root@node2 ~]# service named restart

正向解析测试:

[root@node2 ~]# dig -t A www.magedu.com @192.168.137.32 ##@192.168.137.32表示通过32这台主机解析,-t:指明type,A表示A记录。
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A www.magedu.com @192.168.137.32
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58146
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;www.magedu.com.INA
;; ANSWER SECTION: ##应答段
www.magedu.com.86400INA192.168.137.33
www.magedu.com.86400INA192.168.137.32
;; AUTHORITY SECTION: ##权威段
magedu.com.86400INNSns2.magedu.com.
magedu.com.86400INNSns1.magedu.com.
;; ADDITIONAL SECTION:
ns1.magedu.com.86400INA192.168.137.32
ns2.magedu.com.86400INA192.168.137.33
;; Query time: 0 msec
;; SERVER: 192.168.137.32#53(192.168.137.32) ##DNS服务器,以及解析的客户端。
;; WHEN: Sat Sep 24 11:34:14 2016
;; MSG SIZE  rcvd: 132


反向解析测试:

[root@node2 ~]# dig -x 192.168.137.32 @192.168.137.32 ##-x:表示反向解析
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -x 192.168.137.32 @192.168.137.32
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52944
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;32.137.168.192.in-addr.arpa.INPTR
;; ANSWER SECTION:
32.137.168.192.in-addr.arpa. 86400 INPTRwww.magedu.com.
32.137.168.192.in-addr.arpa. 86400 INPTRns1.magedu.com.
;; AUTHORITY SECTION:
137.168.192.in-addr.arpa. 86400INNSns1.magedu.com.
137.168.192.in-addr.arpa. 86400INNSns2.magedu.com.
;; ADDITIONAL SECTION:
ns1.magedu.com.86400INA192.168.137.32
ns2.magedu.com.86400INA192.168.137.33
;; Query time: 0 msec
;; SERVER: 192.168.137.32#53(192.168.137.32)
;; WHEN: Sat Sep 24 11:41:13 2016
;; MSG SIZE  rcvd: 155

主从同步:

##从DNS服务器主配置和node2(192.168.137.33)相同
[root@node3 ~]# vim /etc/named.rfc1912.zones
zone "magedu.com" IN {
 type slave;
 masters { 192.168.137.32; }; ##指定主DNS服务器为32(node2)
 file "slaves/magedu.com.zone";
 allow-transfer { none; };
};
zone "137.168.192.in-addr.arpa" IN {
 type slave;
 masters { 192.168.137.32; };
 file "slaves/137.168.192.zone";
 allow-transfer { none; };
};

重启或reload 从DNS服务器

[root@node3 ~]# service named reload | restart
服务启动后,会在/var/named/slaves/自动添加magedu.com.zone和137.168.192.zone文件
[root@node3 ~]# ls /var/named/slaves/
137.168.192.zone  magedu.com.zone

测试从DNS服务器

[root@node3 ~]# dig -t A www.magedu.com @192.168.137.33
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A www.magedu.com @192.168.137.33
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8634
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;www.magedu.com.INA
;; ANSWER SECTION:
www.magedu.com.86400INA192.168.137.33
www.magedu.com.86400INA192.168.137.32
;; AUTHORITY SECTION:
magedu.com.86400INNSns2.magedu.com.
magedu.com.86400INNSns1.magedu.com.
;; ADDITIONAL SECTION:
ns1.magedu.com.86400INA192.168.137.32
ns2.magedu.com.86400INA192.168.137.33
;; Query time: 0 msec
;; SERVER: 192.168.137.33#53(192.168.137.33)
;; WHEN: Mon Oct 24 22:49:53 2016
;; MSG SIZE  rcvd: 132


子域授权


forwarders { 192.168.137.32; }; ##




本文转自 ljohnmail 51CTO博客,原文链接:http://blog.51cto.com/ljohn/1866905,如需转载请自行联系原作者

上一篇:iOS 多线程与线程安全(一)


下一篇:对阿里云飞天计划使用的感悟