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

简介:

本周作业内容:


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

一次加密通讯的过程:

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

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

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


Alice用私钥解密对称密钥。

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

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

如图所示:

wKiom1gTFRPzrWTEAAPIpj1PCHU612.jpg

单向加密:只能加密,不能解密,提取数据指纹(特征码),来保证数据的完整性,单向加密的协议有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


子域授权

##重新配置一台主机:liu,IP:192.168.137.30
在父域区域解析文件中添加
[root@node2 ~]# vim /var/named/magedu.com.zone
liu     IN      NS      ns1.liu.magedu.com.
ns1.liu IN      A       192.168.137.30
同样方式安装bind配置主配置文件
在区域配置文件末行添加:
[root@liu ~]# vim /etc/named.rfc1912.zones
zone "liu.magedu.com" IN {
type master;
file "liu.magedu.com.zone";
};
zone "magedu.com" IN {
type forward;
forward only; ##区域转发

forwarders { 192.168.137.32; }; ##




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

相关文章
|
Linux 网络安全 Docker
盘古栈云,创建带ssh服务的linux容器
创建带ssh服务的linux容器
586 146
|
缓存 安全 Linux
六、Linux核心服务与包管理
在没有网络的情况下,使用系统安装光盘是获取RPM包的常用方法。场景二:配置本地文件镜像源 (使用系统安装光盘/ISO)(检查RPM包的GPG签名以保证安全) 或。YUM/DNF包管理工具 (yum/dnf)(此处可以放置您为本主题制作的思维导图)处理依赖问题的危险选项 (应极力避免)(覆盖文件、替换已安装包)。(list) 则是列出文件。(query file) 是。(假设系统安装光盘已挂载到。信息 (verbose)。(upgrade) 选项。(all) 已安装的包。(package) 选项
851 11
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
2623 25
|
运维 安全 Linux
试试Linux设备命令行运维工具——Wowkey
WowKey 是一款专为 Linux 设备设计的命令行运维工具,提供自动化、批量化、标准化、简单化的运维解决方案。它简单易用、高效集成且无依赖,仅需 WIS 指令剧本文件、APT 账号密码文件和 wowkey 命令即可操作。通过分离鉴权内容与执行内容,WowKey 让运维人员专注于决策,摆脱繁琐的交互与执行细节工作,大幅提升运维效率与质量。无论是健康检查、数据采集还是配置更新,WowKey 都能助您轻松应对大规模设备运维挑战。立即从官方资源了解更多信息:https://atsight.top/training。
|
数据采集 运维 安全
Linux设备命令行运维工具WowKey问答
WowKey 是一款用于 Linux 设备运维的工具,可通过命令行手动或自动执行指令剧本,实现批量、标准化操作,如健康检查、数据采集、配置更新等。它简单易用,只需编写 WIS 指令剧本和 APT 帐号密码表文件,学习成本极低。支持不同流派的 Linux 系统,如 RHEL、Debian、SUSE 等,只要使用通用 Shell 命令即可通吃Linux设备。
|
Linux Docker 容器
Linux 中停止 Docker 服务报 warning 导致无法彻底停止问题如何解决?
在 Linux 系统中,停止 Docker 服务时遇到警告无法彻底停止的问题,可以通过系统管理工具停止服务、强制终止相关进程、检查系统资源和依赖关系、以及重置 Docker 环境来解决。通过以上步骤,能够有效地排查和解决 Docker 服务停止不彻底的问题,确保系统的稳定运行。
1468 19
|
Linux iOS开发 MacOS
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
586 0
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
|
监控 Linux
Linux systemd 服务启动失败Main process exited, code=exited, status=203/EXEC
通过以上步骤,可以有效解决 systemd 服务启动失败并报错 `Main process exited, code=exited, status=203/EXEC` 的问题。关键在于仔细检查单元文件配置、验证可执行文件的有效性,并通过日志分析具体错误原因。确保可执行文件路径正确、文件具有执行权限,并且可以独立运行,将有助于快速定位和解决问题。
7207 7
|
消息中间件 Java 语音技术
Python Http Server实现服务监听和地址回调
在日常第三方地址调用过程中,很多接口时异步接口,可以使用轮询的方式基于第一次请求返回的参数查询处理的结果,这种方式往往比较麻烦,特别是对一些长时间无法处理的任务,往往需要多次轮询才能获取结果。通过配置回调地址的方式来实现调用结果的监听;部分服务如阿里云MNS Topic、腾讯云的CMQ,都支持通过配置HttpEndpoint的方式实现消息的http方式订阅监听;这两种模式都是本地启动:HTTP Server,第三方服务通过已经配置的地址来请求服务,最终实现服务的监听。下面通过一个Python3 Http Server实现对:异步长文本语音合成和mns topic演示相关功能。
25331 7
Python Http Server实现服务监听和地址回调
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
1899 102

相关产品

  • 云解析DNS