DNS服务,SSL原理
1、简述常见加密算法及常见加密算法原理,最好使用图例解说
2、搭建apache或者nginx并使用自签证书实现https访问,自签名证书的域名自拟
3、简述DNS服务器原理,并搭建主-辅服务器
4、搭建并实现智能DNS
1、 简述常见加密算法及常见加密算法原理,最好使用图例解说
在互联网发展迅速的今天,安全成为了每个人最关注的问题,作为安全领域的一员大将,加密技术必不可少,可道高一尺魔高一丈有加密就有破解的方法,所以就产生了各种各样的加密算法,下面我们来认识一下常见的算法都有哪些
哪些。
加密算法通常分两大类:“对称式”和“非对称式”。
对称式加密:加密与解密都使用同一种密钥
非对称加密:加密与解密使用的不是同一种密钥,通常分"私钥"和"公钥",它们必须配对使用否则不能完成加解密。
常见的加密算法
对称加密算法
-
DES:对称算法,数据加密标准,速度较快,适用于加密大量数据的场合;
-
3DES:是基于DES的对称算法,对一块数据用三个不同的[密钥进行三次加密,强度更高;
-
RC2和RC4:用变长密钥对大量数据进行加密,比 DES 快;
-
IDEA国际数据加密算法使用 128 位密钥提供非常强的安全性;
-
RSA由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的
非对称加密算法
-
DSA:是一种数字签名标准,严格来说不算加密算法;
-
AES:是下一代的加密算法标准,速度快,安全级别高,在21世纪AES 标准的一个实现是 Rijndael 算法;
-
BLOWFISH,它使用变长的密钥,长度可达448位,运行速度很快;
单向加密
- md5:
- sha1/256/251:
严格来说这不能算加密算法,它们的作用是将一段数据的特征码提取出来,只要数据本身发生一丁点改变则特征码就会改变,多用于验证数据的完整性
2、搭建apache或者nginx并使用自签证书实现https访问,自签名证书的域名自拟
配置nginx通过ssl进行链接
1、首先我们在CA服务器node2上生成私钥
image.png
2、然后生成自签证书
image.png
注意是echo 01 > serial
image.png
3、然后在node1生成私钥,注意组织名要一致,不然可能不签发
image.png4、文件通过scp传给node2,然后签发证书
image.png
5、证书已经有了
image.png
6、编辑配置文件
server{
listen 443 ssl;
server_name node1.lvqing.com;
root /var/nginx/www/;
access_log /var/log/nginx/ngx_ssl_access.log main;
ssl on;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
ssl_protocols sslv3 tlsv1 tlsv1.1 tlsv1.2;
ssl_session_cache shared:SSL:10m; #打开会话缓存
location ~* \.php$ {
proxy_cache pxycache;
proxy_cache_key $proxy_host$request_uri;
proxy_pass http://node2.lvqing.com;
}
}
可以看到nginx基于ssl模块的功能已经配置好了
image.png
可以查看证书的详细信息
image.png
3、简述DNS服务器原理,并搭建主-辅服务器
在网络中我们都是使用ip地址来标识一台主机的位置,如果想要访问某一主机提供的服务则需要输入对方的地址才能访问,可ip地址对于某些人来说数字太过于难记,且域名技术丰富扩展了互联网的生态圈。这就需要用到我们的DNS服务器。它在网络中提供域名解析服务,我们想要上网在浏览器中键入了对方网站的域名,数据会发向自己设置的DNS服务器获取到对方的IP地址后,再向对方网站发起服务请求。
服务配置
yum -y install bind
vim /etc/named.conf
options {
listen-on port 53 { any; }; #监听任意地址的53端口
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安全
dnssec-validation no;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
接下来我们配置域文件
vim /etc/named.rfc1912.zones
zone "lvqing.com" IN {
type master;
file "lvqing.com";
allow-update { 192.168.31.201; };
};
zone "31.168.192.in-addr.arpa" IN {
type master;
file "192.168.31.in-addr.zone";
allow-update { 192.168.31.201; };
};
创建对应的zone文件
vim lvqing.com.zone
$TTL 1D
$ORIGIN lvqing.com.
@ IN SOA lvqing.com. admin.lvqing.com. (
2018112602 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns
IN NS ns1
IN MX 10 mail
ns IN A 192.168.31.200
ns1 IN A 192.168.31.201
mail IN A 192.168.31.200
www IN A 192.168.31.201
bbs IN CNAME www
vim 192.168.31.in-addr.zone
$TTL 1D
@ IN SOA lvqing.com. admin.lvqing.com. (
2018112602 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns.lvqing.com.
IN NS ns1.lvqing.com.
200 IN PTR ns.lvqing.com.
201 IN PTR ns1.lvqing.com.
200 IN PTR mail.lvqing.com.
201 IN PTR www.lvqing.com
检查语法,修改域名解析服务器为自己
named-checkconf
named-checkzone 31.168.192.in-addr.arpr 192.168.31.in-addr.zone
zone 31.168.192.in-addr.arpr/IN: loaded serial 2018112601
OK
named-checkzone lvqing.com lvqing.com.zone
zone lvqing.com/IN: loaded serial 2018112601
OK
vim /etc/resolve.conf
# Generated by NetworkManager
nameserver 192.168.31.200
可以通过命令查看named的信息
dig -t axfr lvqing.com
; <<>> DiG 9.9.4-RedHat-9.9.4-50.el7 <<>> -t axfr lvqing.com
;; global options: +cmd
lvqing.com. 86400 IN SOA lvqing.com. admin.lvqing.com. 2018112601 86400 3600 604800 10800
lvqing.com. 86400 IN NS ns.lvqing.com.
lvqing.com. 86400 IN MX 10 mail.lvqing.com.
bbs.lvqing.com. 86400 IN CNAME www.lvqing.com.
mail.lvqing.com. 86400 IN A 192.168.31.200
ns.lvqing.com. 86400 IN A 192.168.31.200
www.lvqing.com. 86400 IN A 192.168.31.201
lvqing.com. 86400 IN SOA lvqing.com. admin.lvqing.com. 2018112601 86400 3600 604800 10800
;; Query time: 1 msec
;; SERVER: 192.168.31.200#53(192.168.31.200)
;; WHEN: 一 11月 26 17:02:42 CST 2018
;; XFR size: 8 records (messages 1, bytes 214)
接下来我们搭建从服务器
编辑主配置文件
vim /etc/named.conf
listen-on port 53 { any; };
vim /etc/named.rfc1912.zones
zone "lvqing.com" IN {
type slave;
file "slaves/lvqing.com.zone";
masters { 192.168.31.200; };
};
zone "31.168.192.in-addr.arpr" IN {
type slave;
file "slaves/192.168.31.in-addr.zone";
masters { 192.168.31.200; };
};
启动主服务器
image.png
测试一下
image.png
image.png
都没问题然后我们在从服务器上测试
image.png
image.png
image.png
至此DNS主从服务就配置好了
4、搭建并实现智能DNS
智能DNS顾名思义就是当用户请求时能够自动的根据用户的ip地址段来决定响应的DNS解析。需要注意的是,一旦使用了view,所有域都必须定义在view中。实验中我们使用192.168.0.100代表电信,192.168.0.200代表联通来进行测试。
编辑主服务器的named.conf
acl dianxin { 192.168.31.200/32; };
acl lianton { 192.168.31.201/32; };
view dianxin {
match-clients { dianxin; };
zone "." IN {
type hint;
file "named.ca";
};
zone "lvqing.com" IN {
type master;
file "lvqing.com.zone.dianxin";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
};
view lianton {
match-clients { lianton; };
zone "." IN {
type hint;
file "named.ca";
};
zone "lvqing.com" IN {
type master;
file "lvqing.com.zone.lianton";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
};
view default {
match-clients { any; };
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
};
然后编辑对应的区域文件
vim /var/named/lvqing.com.zone.dianxin
$TTL 1D
$ORIGIN lvqing.com.
@ IN SOA lvqing.com. admin.lvqing.com. (
2018112601 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns
ns IN A 192.168.31.200
www IN A 192.168.0.100
vim /var/named/lvqing.com.zone.lianton
$TTL 1D
$ORIGIN lvqing.com.
@ IN SOA lvqing.com. admin.lvqing.com. (
2018112602 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns
ns IN A 192.168.31.201
www IN A 192.168.0.200
检查语法问题
[root@lvq-node1 named]# named-checkconf
[root@lvq-node1 named]# named-checkzone lvqing.com /var/named/lvqing.com.zone.lianton
zone lvqing.com/IN: loaded serial 2018112602
OK
[root@lvq-node1 named]# named-checkzone lvqing.com /var/named/lvqing.com.zone.dianxin
zone lvqing.com/IN: loaded serial 2018112601
OK
检验效果
[root@lvq-node1 named]# nslookup www.lvqing.com
Server: 192.168.31.200
Address: 192.168.31.200#53
Name: www.lvqing.com
Address: 192.168.0.100
[root@lvq-node2 ~]# nslookup www.lvqing.com
Server: 192.168.31.200
Address: 192.168.31.200#53
Name: www.lvqing.com
Address: 192.168.0.200
至此智能DNS服务就搭建完成啦。