加密原理简述、实现httpd自签证书访问、dns主、辅服务器搭建及智能dns服务

1、简述加密算法的原理

介于用户空间和内核空间之间有用于数据加密的协议,对来至用户空间的数据进行加密,并转交给内核空间发送至目标端,然后由目标端接收加密数据然后交付给加密协议解密后的数据显示给用户空间。当然数据也可不通过加密协议直接传送。

image

2、加密算法的分类:

  • 对称加密:数据保密(保密性)
  • 公钥加密:身份认证、密钥交换、数据加密(不常用,比对称要慢3个数量级)
  • 单向加密:保证数据的完整性。

3、对称加密的加密图示

发送端与接收端使用同一个密钥进行加密或解密,将原始数据分割成固定大小的块,通过加密协议逐个进行加密。而接收方使用密钥进行单个解密并组个固定数据块文件。

image

4、公钥加密:

加密和解密时使用的是一对密钥(即:公钥、私钥)私钥是通过工具创建的,属于用户私有,公钥是从私钥中提出产生的,向所有人公开,使用公钥加密的文件通过私钥可以直接解密反之亦然。相对于对称加密安全性更高,通常情况下仅作身份验证和交换密钥。对资源的占用也比较多。

![iagme]

5、单向加密

单向加密的原理是提取数据的指纹信息,进行加密并定长显示出来,一旦读取的指纹信息有丝毫偏差都会产生截然不容的结果,导致雪崩效应。

定长输出:

雪崩效应:


参考笔记: 马哥笔记 网络笔记

2、搭建apache并使用自签证书实现https访问,自签名证书的域名自拟

apache

后缀类型解释:

  • 证书:crt(签发的证书),pem(ca 服务器自签证书)
  • 私钥:key
  • 证书请求:csr

一、ca 服务器 (192.168.1.115):

1.使用命令:生成私钥。

2.生成自签证书

3.创建CA所需要的目录及文件

二、客户端(191.168.1.131) 申请证书

1.创建目录

2.用到证书的主机生成私钥

3.生成证书签署请求

将申请以可靠的方式发送给192.168.1.115 CA服务器

三、ca 服务器(192.168.1.115) 签发证书


查看证书信息

查看证书序列


3、简述DNS服务器原理,并搭建主-辅服务器

DNS服务器原理

DNS服务器是一种基于C/S架构,运行在应用层的一种协议.使用53号端口发送请求和响应请求,进行名称解析,解析的过程就是通过DNS服务器的数据库将名称解析成IP或IP解析成名称。

例如:www.magedu.com. ip为 101.200.188.230

其中magedu.com就是域,域还包括:

所有的FQNS和IP都存在于一个倒树结构的DNS服务器分支下.表示为最高级根.

DNS名称解析两种方式:
  • 正向解析
    • 名称 —> IP
  • 反向解析
    • IP —> 名称

而两种的解析却是完全不通的两套根。

DNS服务器类型也分为两种:
  • 一种负责解析的(主、辅服务器)
  • 另一种则是只缓存记录被解析过的服务器。
DNS的两种查询方式:
  • 递归式查询;
    • 递归式查询的DNS服务器必须回应给客户端一个具体的解析信息。图中客户端到客户单端DNS服务器
  • 迭代式查询;
    • 迭代式DNS服务器如果的结果则将此申请转发给其他DNS服务器进行查询,直至找到结果。图中根(.)到下一级查询

image

以查询pan.baidu.com. 为例解析DNS流程

image

  • 2.客户端DNS服务器如果没有,将直接查询根 (.)DNS服务器.
  • 3.根(.)DNS服务器没有则将查询的名称至右往左进行解析(.:代表根,com:代表区域,baidu:代表名称,pan:代表类型)转至其他DNS解析.直至解析到baiduDNS服务器.
  • 4.在baidu DNS服务器的数据库上,查询到结果依次返回至客户端 DNS服务器缓存一份然后将结果反回给客户端直接访问并也缓存一份至host文件。

主、辅 DNS 服务器

image

主、辅服务器的关系:
  • 主DNS服务器:是可以进行解析域数据库的服务器,也可以进行写入新的数据。
  • 辅DNS服务器:是主DNS服务器的解析库的实时备份,只能进行域解析操作不能写入新数据。
主、辅 DNS服务器备份条件:
  • 当主DNS服务器数据更新时,服务器的版本则会发生变化,此时则同时辅DNS服务器进行增量更新。
  • 辅DNS服务器也会固定间隔时间对主DNS服务器版本号进行查询,是否需要更新。
  • 当辅DNS服务器查询主DNS服务器时出错,便会等待一定的间隔重新场所连接。
  • 当多次重连依然无法联系到主DNS服务器后,将放弃从主DNS服务器更新,停止相应服务
  • 无法得到回应时间。

区域数据库文件:

资源记录类型:

  • NS:域名服务记录;一个区域解析库除了有一个主还有多个。
    • name:打枪区域的区域名称
    • value:单枪区域的某DNS服务器的名称(例如:ns.magedu.com)
  • A:address,地址记录
    • name:某主机名FQDN;
    • value:某IPv4地址;FQDN —> IPv4
  • AAAA:地址记录 FQDN—> IPv6;
    • name:FQDN
    • value:IPv6
  • CNAME:别名记录;
    • name:FQDN格式的别名;
    • value:FQND格式的正式名字
  • PTR: IP—>FQDN
    • name:IP地址,有特性格式,IP反过来写,而且加特定后缀,例如1.2.3.4的记录实际写为4.3.2.1.in-addr.arpa.:value:FQND
  • MX:邮件交换器;拥有优先级0-99;数字越小越高。
  • SOA:起始授权记录,每个区域只有一个SOA记录。
    • name:当前区域的名字;
    • value:有多部分组成。
      • 当前区域的区域名称;主机DNS服务器名称
      • 当前区域管理员的邮箱地址,地址中@必须用点代替。
      • 主机服务协调属性的定义以及否定答案的TTL。

注意的几点:

  • (1)TTL可以从全集继承;
  • (2)@表示当前区域的名称;
  • (3)相邻的两条记录某name相同时,后边的可省略;
  • (4)对于正向区域来说,各MX,NS等类型的记录的value为FQDN,此FQDN应该有一个A记录;

配置前准备:

关掉防火墙:

准备两台CentOS 主机

主 DNS服务器

系统版本:centos 7 主机地址:192.168.1.110

安装 bind

正向解析库–配置

1、编辑默认配置文件添加域配置

1、添加本机地址;192.168.1.110;

2、停用

  • dnssec-enable no;
  • dnssec-validation no;

3、添加域解析文件目录

2、新建指向的域配置文件。

1、新建域文件magedu.com.zone

修改属组、语法检查及测试

1、修改属组权限为named

2、修改权限,其他用户无权限

3、检查语法错误

4、检查区域配置文件错误

重载区域配置及测试

1、重载区域

2、测试

反向解析库-配置

主机地址:192.168.1.110

1、编辑反方向解析信息添加配置

2、新建配置文件

注意序列号位数不可超出限定格式10个数值

修改属组、语法检查

1、修改文件属组

2、取消其他用户权限

3、检查语法错误

重载区域配置及测试

1、重载区域

2、测试

辅 DNS服务器

辅 dns服务器地址:192.168.1.147

安装 bind

1、修改配置文件

2、添加 域

3、测试

正向解析-测试

反向解析-测试

子域授权 区域转发和全局转发 安全控制 acl、

http://www.bubuko.com/infodetail-1043264.html

子域服务器

子域服务器:192.168.1.103

1、首先在父域主服务器(192.168.1.110)授权给子服务器

2、重启加载配置

3、打开子域服务器(192.168.1.103)安装bind

4、添加本机地址

5、启动服务并查看运行状态

7、修改配置文件

8、修改配置文件权限并检测语法错误

9、子域测试

10、父域测试

子域-区域转发

1、编辑子域配置信息

2、检测语法错误和重载配置

3、测试

子域-全局转发

1、定义配置文件

2、检测语法错误并重载配置

3、测试

acl权限控制

acl:访问控制列表;把一个或多个地址并归为一个命名合集,随后通过此名称即可对手机全内的所有主机实现统一调用。

注意修改不同的配置文件会有不同的效果:

  • /etc/named.conf 全局生效
  • /etc/named.rfc1912.zones 仅对域生效

使用格式:

bind有四个内置的acl权限:

  • none:没有一个主机;
  • any:任意主机;
  • local:本机;
  • loaclnet:本机所在的ip所属的网络;

访问控制指令:

  • allow-query {}:允许查询的主机;白名单;
  • allow-transger {}:允许向哪些主机做区域传送;默认为所有主机;
  • allow-recursion {}:允许哪些主机向当前DNS服务器发起递归查询请求;
  • allow-update {} ;适用于DDNS,允许动态更新区域数据库文件中内容;

操作示例 : allow-transger {};

主服务器:192.168.1.110

从服务器:192.168.1.147

子域服务器:192.168.1.103

分别在三台dns服务器上执行

1、我们打开主服务器编辑配置文件;

测试结果

操作示例 : allow-recursion {};

测试结果

操作示例 : allow-update {};

编辑从服务器;

测试

4、搭建并实现智能DNS

bind view(视图) 实现智能DNS服务器

所谓智能dns服务器;其实就是使用bind的acl功能将访问者分类,根据不同的分类给与反馈。

操作前还是三台主机:

  • 主机:192.168.1.110
  • 测试:192.168.1.147
  • 测试:192.168.1.103

配置前准备:

  • 1.关闭防火墙;
  • 2.安装bind;

1、主机(192.168.1.110)配置信息

设置缓存成缓存服务器并且将测试机器按组添加。

2-1、编辑分组文件 a 的配置文件

2-2、编辑分组文件 b 的配置文件

3-1、测试机(192.168.1.147)

3-2、测试机 (192.168.1.103)

参考: 马哥笔记; 网络笔记1

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/99322

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code