DNS和openssl
本文主要讲述ssl以及使用openssl创建CA ,DNS服务器的搭建
一.数据在互联网上传输存在各种各样的分险 ,数据在传输的过程中可能会被篡改 ,被截取等 ,于是就不得不解决这些安全问题,为了解决这些问题,ssl协议也就诞生了 ,ssl(Secure Socket Layer),首先 ,它是一中协议 ,专用于对数据进行加密与解密 ,是一个应用层协议,该协议提供了两个基本服务:鉴别与保密。而Linux中的openssl则是该协议的开源实现 ,在套件中包括许多加密与解密的算法,使得用户能够利用该套件来实现一些安全机制 ,其中加密与解密算法就是其核心 。
1.常见的加密与解密算法
(1)对称加密:加密与解密使用同一个密钥,常见的算法有:
对称加密的特点:
对称加密的缺点 :
(2)非对称加密 :加密与解密使用不同的密钥,使用者需要实现生成两密钥 ,一个是公开的 ,叫做公钥 ,另一个是不公开的,叫做私钥,使用私钥加密的数据中能用公钥解密,密钥成对出现使用。常见的算法有:
非对称加密的特点 :
非对称加密的缺点 :
(3)单向散列加密:只能用于加密
,用于提取数据的特征码,常见的算法有 :
单向散列加密的特点 :
单向散列加密的缺点 :
2.密钥交换
从加密与解密的方式中可以看出,要完成加密与解密的过程 ,依赖于密钥交换,而密钥交换的方式有两种
(1)公钥加密:将公钥加密后发送给通信的另一方,但是如果一旦被别人截获了 ,那后续的整个通信过程全都会瘫痪 ,因此这种方式不常用 。
(2)DH:通信的双方共有一些参数 ,共同协定一个加密算法 ,通过双方所拥有的参数的交换 ,再加上协商的算法就能得到密钥。
3.通过以上几种加密方式 ,为了实现通信双方的身份认证 ,信息完整性的保证 ,就需要将几种加密方式结合起来,用非对称加密方式来实现身份认证,使用单向散列加密来实现数据完整性的检验,于是一次完整的通信过程为:
发送方 :
接受方:
5.数字证书
从上述的过程中可以看出,通信过程中依赖于对方的公钥,因此需要一个保证公钥安全的方法,而实现这种方法的策略就是CA,CA就是安全证书的颁发机构,所以CA的实现过程为:
在证书签署端:
(2)创建自签证书
openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem
(3)创建辅助文件 :touch /etc/pki/CA/index.txt ; echo 01 > /etc/pki/CA/serial
在需要申请证书端:
(2)创建证书签署请求 :
openssl req -new -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem
最后将签署请求发送到签署端,并由签署端来签署证书 :
注意 :创建自签证书和创建证书签署请求中的信息要一致
二.DNS
DNS:Domain Name System,是一个应用层协议,其作用是实现从FQDN(Full Qualified Domain Name)到IP地址的转换,DNS系统也是一个分布式的数据库系统。
1.DNS是从上到小分层的组织形式,从根开始,然后是顶级域,二级域等等,组织方式如下图:
2.一次查询请求的过程
3.DNS的查询方式 :
4.DNS服务器类型:
5.查询答案:
6.主-辅DNS服务器 :
从DNS服务器从主DNS复制数据的实施
:
7.区域传送 :
8.区域数据库 :记录了次服务器负责解析的域的信息
资源记录类型有:
9.在CentOS中搭建DNS服务器
(1)安装bind及其工具包
(2)配置一个正向域为test.com
a.编辑主配置文件:
b.在/var/named/下创建解析库文件
正向解析库文件为 :vim /var/named/magedu.com
c.在/var/named下面创建反向解析库文件
d.检查配置文件的语法,并重载服,即可完成正向和反向区域的解析。测试结果为