中间人攻击及防御_3 | 学习笔记

简介: 快速学习 中间人攻击及防御_3

开发者学堂课程【网络安全攻防 - Web渗透测试中间人攻击及防御_3学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/630/detail/9934


中间人攻击及防御_3


内容介绍

一、HTTPS 加密机制

二、wordpress 环境准备

三、SSL 证书申请流程

四、SSL 证书使用及测试


一、HTTPS 加密机制

Certificate Signed by a CA,首先需要在网站服务器提供这样的一个证书和私钥,采用非对称加密的方式这个证书就是需要从数字发放证明的机构ca 机构去申请。作为网站服务器,如果想要提供加密的服务,自己首先需要和生成一个私钥,通过私钥生成一个证书加密请求,最后由 ca 机构进行签名,之后就变成了数字证书所以在网站服务器无论是阿帕奇nginx还是前端代理服务器,就有两个最重要,一个是私钥,一个是数字证书,数字证书里面包含公钥,还有一些有效期,或者是谁签署的一些信息,是用 ca 自己的私钥签署的,所以只要客户在浏览器这边持有机构的公钥或者证书,就可以验证有机构的签名。公钥加密,私钥解密,相反,私钥签名,公钥验证签名,所以右边这台 web serve r有私钥,有数字证书由 ca 签名,ca 签名使用私钥,加密用的是公钥,客户端有 ca 的证书,就能验证ca 签名的内容,当服务器第一次采用 https 这种方式进行协商的时候,那么 web server 就会把它的证书丢给客户端,而客户端验证签名的合法性,之后客户端就会拿着 web serve 的公钥(公钥就是公开的,最后传输的时候就会让客户端公钥进行加密,要有对应的私钥才能解密。整个网站的安全环境当中,重要的环节之一就是使用加密的方式进行传输,这个加密需要第三方机构,就是证书签发机构才可以。


image.png


二、wordpress 环境准备

加密就需要第三方机构,也就是证书签发机构才可以,那么证书签发机构是怎么签发的呢?就需要搭建一个环境。

1、请先完成项目1 :基于云实现产品上线 wordpress; 如果 wordpress 网站环境已正常运行,请忽略。

2、请确保域名已申请并能够解析,本项目域名为 yangge . online。


三、SSL 证书申请流程

1、aliyun ssl 证书:

在阿里云上面购买一个证书,选择是 symantec,品牌是免费性 dv ssl,点击立即购买0元,支付0元,在证书里面就有一个证书,一年的有效期,需要填写域名的信息,输入要保护的域名。填写真实信息,不能乱写,乱写审核不给通过。最后要勾选证书绑定域名,系统就自动 csr,提交审核,几分钟后,证书状态变成已签发,下载这个证书和私钥。这边会有配置的方法。把证书的包传到服务器上。

2、安装证书文件说明:

(1)证书文件214792661050162.pem ,包含两段内容,请不要删除任何一段内容。

(2)如果是证书系统创建的 ICSR,还包含:证书私钥文件214792661050162.key,证书公钥文件 publc.pem,证书链文件 chan.pem。在 Apache 的安装日录下创建 cert 日录,并且将下载的全部文件拷贝到 cert 日录中。如果申请证书时是自己创建的 CSR 文件,请将对应的私钥文件放到 cert 日录下并且命名为214792661050162.key;打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉"#”:

#LodModule ss1. module modulcs/mod ss1.s0 (如果找不到请确认是否编译过 openssl 插件)

#Include conf/extra/httpd-ss1 .conf

最后上传证书。


四、SSL 证书使用及测试

1、解压证书文件:

[ root@yangge ~]# ls

214792661050162.zip wordpress wordpress-4.9.4-zh_ _CN.tar.gz

[root@yangge ~]# yum -y install unzip

[root@yangge ~]# unzip 214792661050162.zip

Archive:214792661050162.zip

cert-key

inflating:214792661050162. pem //公钥文件

inflating: 214792661050162. key  //私钥文件

inflating: public.pem

inflating: chain. Pem

2、复制到 Apache 目录:

[root@yangge ~]# cp -rf 214792661050162. key /etc/hftpd/

[root@yangge ~]# cp -rf 214792661050162. pem /etc/httpd/

拷贝到 Apache 的目录下面

[root@yangge ~]# ls /etc/httpd/

214792661050162. key conf  conf . modules . d modules

214792661050162. pem conf.d logs

run

3、Apache 使用 ssl 证书:

[root@yangge ~]# yum -y install mod_ ssl  //安装支持 HTTS 模块

[root@yangge ~]# vim /etc/httpd/conf . d/ssl. conf

SSLCertificateFile /etc/httpd/214792661050162. pem

在 Apache 配置文件里面把前两项改成对应证书的位置,进行重启。

//前面准备的证书文件

SSLCertificateKeyFile /etc/httpd/214792661050162. key

//前面准备的私钥文件

[root@yangge ~]# systemctl restart httpd

[root@yangge ~]# ss -tnlp lgrep :80

LISTEN 0 128 *:80 *:* users:

[root@yangge ~]# ss -tnlp lgrep :443

LISTEN 0 128 *:443 *:* users:

4、测试 HTTP/HTTPS:

这是正常的方式访问 http://yangge.online

这是加密的方式访问 https://yangge.online

5、HTTP 跳转 HTTPS:

Apache 有跳转机制,在 Apache 里面新建了一个80的主机,用 yangge.online 开启了一个 RewriteEngine 的引擎,将所有的请求,直接到 https://www. yangge. online$1 [R=301,L],$1指的就是.*里的内容。301永久生效。

[ root@yangge ~]# vim /etc/httpd/conf . d/yangge . online . conf

<VirtualHost *:80>

ServerName www.yangge . online

ServerAlias yangge . online

RewriteEngine On

RewriteRule ^(.*)$ https://www. yangge. online$1 [R=301,L]

</VirtualHost>

[root@yangge ~]# systemctl restart httpd

总之,HTTPS 是一定要用的,无论是防御中间人的攻击还是数据的一些截取或被别人截获相对来说是安全的。

相关文章
|
数据安全/隐私保护 Python 弹性计算
宝塔面板忘记账户名名和密码的解决方法
宝塔面板忘记密码怎么办?宝塔账户名和密码都忘了如何找回?LAMPLNMP分享宝塔面板忘记账户名名和密码的解决方法: 账户名和密码都忘了 宝塔面板默认的账户名为:admin那么,如果账号和密码都忘了怎么办?执行以下命令即可重置密码,命令返回值就是你的用户名:执行命令: cd /www/server/panel && python tools.
8032 0
|
11月前
|
人工智能 安全 数据安全/隐私保护
|
11月前
|
编解码 搜索推荐
视频播放器-支持 MP4/AVI/FLV 万能格式视频播放器,Player视频播放器,附下载地址,多功能超清格式视频播放器
PotPlayer是一款功能强大的多媒体播放器,支持4K、HDR及蓝光原盘播放,拥有硬件加速与madvr视频渲染功能。界面简洁、操作简单,内置丰富编码器,启动迅速且播放稳定。它可自定义皮肤与配色,支持实时字幕翻译,并提供滤镜功能以增强画质。通过添加外部滤镜如madVR和LAVFilters,用户能进一步优化体验,但需权衡性能消耗。适合高清影片爱好者使用。
1106 1
|
存储 SQL 关系型数据库
MySQL 中的回表是什么?
在 MySQL 中,“回表”是指通过二级索引查询时,因二级索引仅存储索引字段值和主键值,需再根据主键到聚簇索引查找完整行数据的过程。此操作涉及两次索引查找,可能增加 IO 消耗,影响性能。优化方法包括使用覆盖索引或联合索引,避免回表,提升查询效率。合理设计索引对高并发、大数据量场景下的数据库性能至关重要。
732 17
|
数据安全/隐私保护 Docker 容器
docker pull 相关配置
通过本文的介绍,您已经了解了如何通过镜像源配置、登录私有仓库、设置网络代理以及其他优化策略来提升 `docker pull`命令的效率和可靠性。这些配置不仅能够显著加快镜像下载速度,还能确保在不同网络环境下的稳定性。通过合理使用这些配置,您可以更好地管理和优化Docker环境中的镜像拉取操作。
2279 18
|
NoSQL Redis
redis序列化问题:invalid stream header
redis序列化问题:invalid stream header
1177 0
|
Java
如何在程序中抛出 EOFException 异常
EOFException 是 Java 中的一种异常,通常用于表示文件已结束但程序仍尝试读取数据的情况。本文将介绍如何在程序中手动抛出 EOFException 异常。
478 2
|
存储 JavaScript 前端开发
HTML中onblur事件的使用
HTML中onblur事件的使用
|
Java
线程池的核心参数及执行原理你知道嘛?
线程池是一种管理和复用线程的机制,它可以提高线程的利用率和系统的性能。
974 0

热门文章

最新文章