信息安全实践1.3(HTTPS)

news2024/9/30 13:30:08

前言

        做这个实验对Tomcat的版本有要求,最好是使用Tomcat8。因为我之前使用Tomcat10,然后一直做不出来。

要求

        部署Web服务器端HTTPS功能,通过网络嗅探分析HTTPS通过SSL实施安全保护的效果

关键步骤

  1. 首先要给tomcat配置https,也就是让tomcat使用https协议。

        想要通过https访问程序,需要获得一个证书,自己给自己签发而来的证书也叫自签名ssl证书。这里我要使用java jdk自带的keytool工具来创建本地SSL证书。

        打开jdk下的bin目录:

        在该目录下看到keytool工具后,在该目录中打开终端:

        输入如下图中的命令,生成证书:

        证书的密钥我设置为123456。

        然后来到tomcat的conf目录下,发现证书已经生成:

        而后打开该目录下的server.xml文件,在8080端口后添加如图中的代码:

 

        这样就让tomcat可以通过https://localhost:8443的方式访问。

        点击不安全我们可以查看该网站的证书:

        最后,为了方便访问,我们要让访问http://localhost:8080时自动跳转到https://localhost:8443。

        在conf目录下的web.xml文件的最后面(在标签的包含内)添加如下代码即可:

         2.因为没有第二台电脑,所以上面做的https的连接无法使用wireshark进行捕获。所以这里我选择用百度的官网来查看https中SSL的作用。

        

        如图,百度官网使用的是https协议。

        在最新版的wireshark中,已经将SSL改为TLS,所以直接用wireshark进行捕获是不会显示有SSL协议的。

        我们知道,http只有三次TCP握手,而https除了TCP的三次握手外,还有9次SSL握手。如下图,我对百度官网进行访问,发现很多TCP三次握手之后,就会有很多的TLS协议,这里的TLS协议实际就是SSL协议。        

        显然,因为SSL协议对https的信息进行了加密,所以在捕获到数据包之后我们无法直接看到https的详细信息。

        3.为了解密https,需要通过设置环境变量截取浏览器的pre_master_secret。

        如上图,在用户变量中添加SSLKEYLOGFILE,变量值可以随意设置,方便找到就行。

        然后我们打开谷歌浏览器,访问一下百度官网,之后发现对应目录下成功出现了文件ssl.log:    

        接下来打开wireshark,点击编辑来到首选项:

        在Protocols也就是协议中找到TLS协议(最新版的wireshark没有SSL协议)。

         将刚刚生成的文件路径放入下方的框中。而后保存退出,再重新进行捕获:

        然后我们就可以直接看到https数据包中的信息了。同时http的数据包中多了一列数据可以进行查看:Hypertext Transfer Protocol,里面放的就是一些密钥,证书之类的信息数据。

在Web和HTTP广泛应用的现代信息社会中HTTPS意义分析

        http是明文传输的,数据都是未加密的,安全性较差,https(ssl+http)数据传输过程是加密的,安全性较好。所以在现代信息社会中,在这十分缺乏信息安全的时代,https是十分有必要的。当然,https也不是方方面面都比https好,比如,http建立连接只需要进行TCP三次握手(共3个包),而https除了TCP三次握手外,还要加上ssl握手需要的9个包(共12个包),所以https页面的响应速度要比http慢一些,不过在硬件软件都快速更新换代的现代,这些缺点几乎可以忽略不计。

结语

        其实信息安全实践一后面还有一个SSL编程实践,但是因为我写的不好就不放出来了,是个半成品。但是SSL编程其实就是要用弄一个服务端和客户但通信,这个刚好就是网络编程的内容,可以去看我写的网络编程实践或者其他博主的相关博客。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/585662.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

设计模式之美-实战一(上):业务开发常用的基于贫血模型的MVC架构违背OOP吗?

领域驱动设计(Domain Driven Design,简称DDD)盛行之后,这种基于贫血模型的传统的开发模式就更加被人诟病。而基于充血模型的DDD开发模式越来越被人提倡。所以,我打算用两节课的时间,结合一个虚拟钱包系统的…

超低功耗三通道低频无线唤醒ASK接收 125k soc芯片UM2082F08

UM2082F08 是基于单周期 8051 内核的超低功耗 8 位、、具有三通道低频无线唤醒 ASK 接收功能的 SOC 芯片。芯片可检测 30KHz~300KHz 范围的 LF(低频)载波频率数据并触发唤醒信号,同时可以调节接收灵敏度,确保在各种应用环境下实现…

代码随想录算法训练营15期 Day 6 | 242.有效的字母异位词 、349. 两个数组的交集 、202. 快乐数、1. 两数之和

由于昨天是周日,周日是休息日,所以就是什么也没有写啦。今天是day06天,继续加油。 哈希表理论基础 建议:大家要了解哈希表的内部实现原理,哈希函数,哈希碰撞,以及常见哈希表的区别,…

Toolkit.getDefaultToolkit()获得的java.awt.Toolkit是不是同一个? 是否为单例设计模式?答案是**是**

Toolkit.getDefaultToolkit()获得的java.awt.Toolkit是不是同一个? 是否为单例设计模式? 答案是是 反复调用Toolkit.getDefaultToolkit()获得的 java.awt.Toolkit 是同一个 import java.awt.Toolkit;public class GetDefaultToolkit是不是获得单例Toolkit {static public …

【P43】JMeter 吞吐量控制器(Throughput Controller)

文章目录 一、吞吐量控制器(Throughput Controller)参数说明二、测试计划设计2.1、Total Executions2.2、Percent Executions2.3、Per User 一、吞吐量控制器(Throughput Controller)参数说明 允许用户控制后代元素的执行的次数。…

中级软件设计师考试总结

目录 前言考前学习宏观什么是软考涉及的知识范围软考整体导图总结 微观我的分享——希尔排序学习过程结构化做题 考试阶段确定不确定 考后总结 前言 作为一名中级软件设计师,考试是衡量自己技能和水平的一项重要指标。在备考和考试过程中,我通过总结经验…

【TI毫米波雷达笔记】IWR6843AOPEVM-G的DCA1000EVM模式配置及避坑(官方手册有误)

【TI毫米波雷达笔记】IWR6843AOPEVM-G的DCA1000EVM模式配置及避坑(官方手册有误) IWR6843AOPEVM-G版本可以直接与DCA1000EVM连接 进行数据获取 不需要连接MMWAVEICBOOST版 直接使用 DCA1000mmWave Studio 软件进行数据采集 在官方手册中 User’s Guide…

linux环境下安装gitlab

前几天跟朋友聊天时说到gitlab版本控制。其实,之前也对它只是知道有这个东西,也会用。只是对于它的安装和配置,那我还是没整过。这两天,我找了一下网上的资料,还是写下吧。 一安装: 按网上所说,…

2023年上半年信息系统项目管理师下午真题及答案解析

试题一(25分) 为实现空气质量的精细化治理,某市规划了智慧环保项目。该项目涉及网格化监测、应急管理、执法系统等多个子系统。作为总集成商,A公司非常重视,委派李经理任项目经理,对公司内研发部门与项目相关的各产品线研发人员及…

带你开发一个远程控制项目---->STM32+标准库+阿里云平台+传感器模块+远程显示-------之 阿里云平台项目建造。

第一篇章: (13条消息) 带你开发一个远程控制项目---->STM32标准库阿里云平台传感器模块远程显示。_海口飞鹏岛科技有限公司的博客-CSDN博客 本次文章是指引开发者进行开发阿里云平台建造设备项目,可观看UP主教程,完成如下&#x…

今天面了一个9个月测试经验的人,开口就跟我要18K,我都愣住了....

2月初我入职了深圳某家创业公司,刚入职还是很兴奋的,到公司一看我傻了,公司除了我一个测试,公司的开发人员就只有3个前端2个后端还有2个UI,在粗略了解公司的业务后才发现是一个从零开始的项目,目前啥都没有…

测试之路,你知道这些变化吗?突破后助你走得更远...

前言 Python自动化测试:7天练完这60个实战项目,年薪过35w。 目前的面试求职市场上,测试领域有哪些变化? 以这两年软件测试发展经历来看,现在的求职市场,已经不仅仅只考察个人的项目经验和技术能力了&#…

十五、多线程(上)

文章目录 一、线程(一)什么是线程(二)Linux下的多线程(三)总结(四)线程优点(五)线程缺点(六)线程异常(七)线程…

字节跳动测试开发岗 3+1 面经+经验分享(收到offer,入职月薪27K)

现在,招聘黄金时间已经过了,在网上看了很多大佬的面经,也加了很多交流群,受到了很多朋友的提点,今天终于轮到我来分享面经啦,之前面试了几家公司,最后在八月初拿到了字节跳动测试岗的 offer&…

数据结构 -- AVL树

1、定义 平衡搜索二叉树,相对于搜索二叉树而言,AVL树又多了一个性质:左右子树的高度差不大于1. 2、平衡因子,balance factor,以下简称bf,是左子树高度减去右子树的高度 bf > 1,左边子树高bf …

Java最新版发送阿里短信教程

一、概述: 为什么现在的企业越来越多使用阿里云短信服务,究其原因是阿里云短信服务是一种可靠、高效、安全的短信发送服务,它具有以下优点: 高可靠性:阿里云短信服务采用全球领先的短信网关进行短信发送,确…

自定义线程池

自定义线程池原理 线程池中分为核心线程和临时线程;首先创建核心线程使用,创建之后一直存在线程池,核心线程被占用并且队列任务已满,才会创建临时线程;临时线程使用超过自定义临时线程最大数时会触发自定义的任务拒绝策…

你猜,一个TCP连接能发多少HTTP请求?

又见面了,我的网工朋友 曾经有这么一道经典面试题:从 URL 在浏览器被被输入到页面展现的过程中发生了什么? 相信大多数准备过的同学都能回答出来,但是如果继续问: 收到的 HTML 如果包含几十个图片标签,这…

【Vue】学习笔记-slot插槽

slot插槽 <slot>插槽&#xff1a;让父组件可以向子组件指定位置插入html结构&#xff0c;也是一种组件间通信的方式&#xff0c;适用于父组件>子组件 分类&#xff1a;默认插槽、具名插槽、作用域插槽 使用方式 a.默认插槽 b.具名插槽 父组件指明放入子组件的哪个插…

Django从Models 10分钟定制一个Admin后台

简介 Django自带一个Admin后台, 支持用户创建,权限配置和所有模型的增删改查功能, 只需要一些简单的配置就可快速得到一个开箱可用的后台管理系统 操作步骤 1. 更改设置,使用中文/亚洲时区 修改项目下django_shop目录下的settings.py文件 修改以下三行 LANGUAGE_CODE zh-h…