一
1、网络传输安全:
我们需要加密网络数据以实现安全通信,但是有一个现实的问题:
1.非对称加密算法(RSA/ECC 等)可以方便地对数据进行签名/验证,但是计算速度慢。
2.对称加密算法(ChaCha20/AES 等)计算速度快,强度高,但是无法安全地生成与保管密钥。
TLS 通过两个证书来实现服务端身份验证,以及对称密钥的安全生成:
1.CA 证书:浏览器/操作系统自带,用于验证服务端的 TLS 证书的签名。保证服务端证书可信。
2.TLS 证书:使用 CA 证书验证了 TLS 证书可信后,将使用这个 TLS 证书进行协商,以安全地生成一 个对称密钥。
CA 证书和 TLS 证书,都只在 TLS 握手阶段有用到,之后的通信就与它们无关了。
TLS 证书的生成
OpenSSL 是目前使用最广泛的网络加密算法库,这里以它为例介绍证书的生成。
1.TLS 证书(服务端证书):这个是服务端需要配置的数据加密证书。
- 服务端需要持有这个 TLS 证书本身,以及证书的私钥。
- 握手时服务端需要将 TLS 证书发送给客户端。
2.CA 证书:这是受信的根证书,客户端可用于验证所有使用它进行签名的 TLS 证书。 - CA 证书的私钥由权威机构持有,客户端(比如浏览器)则保有 CA 证书自身。
在 TLS 连接的建立阶段,客户端(如浏览器)会使用 CA 证书的公钥对服务端的证书签名进行验证,验证成功则说明该证书是受信任的。
2、从新配置安装nginx,让其具有ssl模块
#./configure --with-http_stub_status_module --with-http_ssl_module
#make && make install
3、生成密钥,签名,证书
#cd /usr/local/nginx/conf
#make ssl
#cd ss
4、生成2048位秘钥:
openssl genrsa -out server.key 2048
5、生成证书签名请求: (这里会有很多信息,测试环境可以随便填)
openssl req -new -key server.key -out server.csr
6、生成类型为X509的自签名证书:
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
7、给nginx的配置文件配置ssl
二
8、域名:
域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位。具有独一无二,不可重复的特性
DNS:
域名系统(Domain Name System,缩写:DNS)是互联网的一项服务。域名解析是把域名指向网站空间 IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP 地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替 IP 地址标识站点地址。域名解析就是域名到 IP 地址的转换过程。域名的解析工作由 DNS 服务器完成。可以理解为 DNS 就是翻译官
常见格式:www.apesource.com
完整格式:www. apesource.com.
. : 根域,可省略不写
com: 顶级域,由 ICANN 组织指定和管理
分类:
国家地区域名:cn(中国)、hk(香港)、sg(新加坡)等
通用顶级域名:com(商业机构)、org(非营利组织)、edu(教育机构)等
新通用顶级域名:red(红色、热情)、top(顶级、高端)等
apesource :二级域(注册域),可由个人或组织申请注册
www: 三级域(子域),服务器网站名代表
主机名:s1.www. apesource.com. 中的 s1 就是主机名,一般用来表示具体某一台主机
拓展:com.cn 属于“二级域名”,是 cn 顶级域的子域
9、软件安装
yum -y install bind
先关闭服务器和客户机上的防火墙和 SELinux
/usr/sbin/sestatus -v 查看SELinux状态
10、配置主配置文件(/etc/named.conf)
vim /etc/named.conf
11、配置区域文件(/etc/named.rfc1912.zones)
#vim /etc/named.rfc1912.zones
12、配置数据文件/var/named/
#cd /var/named/ – A. 先复制生成正向解析文件
#cp -a named.localhost apesource.localhost
13、重启 DNS 服务
service named restart
netstat -tlun – 查看端口号是否运行
14、客户端测试
在网卡配置文件中添加 DNS 服务器的地址,
vim /etc/resolv.conf
nameserver dnsip
然后用 nslookup 测试。
nslookup www.apesource.com
三
15、先关闭服务器和客户机上的防火墙和 SELinux
实验作用:
加快解析速度,提高工作效率
实验软件:
安装 dnsmasq
yum -y install dnsmasq
配置文件:
vim /etc/dnsmasq.conf
domain=域名 #需要解析的域名
server=ip #主 DNS 服务器 IP
cache-size=15000 #声明缓存条数
重启服务:
service dnsmasq restart
测试效果:
在测试机上填写 DNS 缓存服务器的 ip 地址
项目任务进展
1、先切换目录nginx目录删除,并把安装包保留下来
安装加密库
创nginx目录,并将安装包移动到其中
解压
2、从新配置安装nginx,让其具有ssl模块
编译并安装
3、生成密钥,签名,证书
4、生成2048位秘钥:
5、生成证书签名请求:
6、生成类型为X509的自签名证书:
7、给nginx的配置文件配置ssl
运行nginx
查看IP
在外网用http协议
8、DNS的配置
使用克隆虚拟机
9、软件安装
配置关闭SELinux
设置防火墙
重启
查看防火墙
10、配置主配置文件
11、配置区域文件
12、配置数据文件/var/named/
先复制生成正向解析文件
编辑正向解析文件(注意域名结尾的 “.”)
13、重启 DNS 服务
14、客户端测试
DNS服务器地址
然后用 nslookup 测试。
三、DNS缓存服务器配置
15、安装 dnsmasq
配置文件:
vim /etc/dnsmasq.conf
domain=域名 #需要解析的域名
server=ip #主 DNS 服务器 IP
cache-size=15000 #声明缓存条数
重启缓存服务器
欢迎大家加我微信学习讨论