Linux中web服务器的TLS 协议搭建

本文介绍了网络安全中的TLS协议,包括非对称加密与对称加密的权衡,以及TLS证书的生成和验证过程。同时,详细阐述了DNS的配置,包括域名解析、正向解析文件的创建以及DNS缓存服务器的配置,旨在提高网络服务的安全性和解析效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、网络传输安全:
我们需要加密网络数据以实现安全通信,但是有一个现实的问题:
1.非对称加密算法(RSA/ECC 等)可以方便地对数据进行签名/验证,但是计算速度慢。
2.对称加密算法(ChaCha20/AES 等)计算速度快,强度高,但是无法安全地生成与保管密钥。
TLS 通过两个证书来实现服务端身份验证,以及对称密钥的安全生成:
1.CA 证书:浏览器/操作系统自带,用于验证服务端的 TLS 证书的签名。保证服务端证书可信。
2.TLS 证书:使用 CA 证书验证了 TLS 证书可信后,将使用这个 TLS 证书进行协商,以安全地生成一 个对称密钥。
CA 证书和 TLS 证书,都只在 TLS 握手阶段有用到,之后的通信就与它们无关了。
TLS 证书的生成
OpenSSL 是目前使用最广泛的网络加密算法库,这里以它为例介绍证书的生成。
1.TLS 证书(服务端证书):这个是服务端需要配置的数据加密证书。

  1. 服务端需要持有这个 TLS 证书本身,以及证书的私钥。
  2. 握手时服务端需要将 TLS 证书发送给客户端。
    2.CA 证书:这是受信的根证书,客户端可用于验证所有使用它进行签名的 TLS 证书。
  3. 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 #声明缓存条数
在这里插入图片描述

重启缓存服务器
在这里插入图片描述
欢迎大家加我微信学习讨论
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程子的小段

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值