基线扫描tomcat安全加固-检查是否支持HTTPS等加密协议
背景:基线扫描时,docker镜像中的tomcat在检查是否支持HTTPS等加密协议这一项上未通过。
思路:先通过JDK自带的keytool工具生成证书,再从tomcat的server.xml配置文件中增加配置。
我不确定不同版本的JDK生成的证书是否可以通用,所以我使用镜像自带的jdk生成证书,
因为我使用的是docker镜像运行项目,所以我先进入容器内部,使用jdk生成证书,让后导出证书,放到dockerfile文件中,每次打包都打进镜像。
解决方案:
1、进入容器内部:
docker exec -it nginx_latest bash #nginx_latest是容器名;
2、生成证书:
/usr/local/openjdk-11/bin/keytool -genkey –alias tomcat –keyalg RSA -keystore /path/to/my/keystore
/usr/local/openjdk-11是你的jdk路径,/path/to/my/keystore是生成的证书路径,
注意:
(1)、生成证书的命令从网页上复制后执行可能会有报错, 最好是对比着手敲一遍,不知道是不是编码格式的问题。
(2)、keystore是一个文件不是一个目录,会在/path/to/my目录下生成一个keystore证书文件。
(3)执行这个指令后,会让输两次密码,然后输姓,输工作单位,所在地市,地市编码,最后确认。每次都会给提示让输入什么,每次输入完回车就可以。
3、从容器中导出证书:
docker cp 容器id或名称:容器内地址 容器外地址 如:docker cp mysql:/path/to/my/keystore /root
4、打镜像:
把keystore文件和dockerfile文件放再一起,然后在dockerfile文件上加上
COPY keystore /usr/local/tomcat/keystore
5、配置server.xml:
<Connector classname="org.apache.catalina.http.HttpConnector"
port="8443" protocol="HTTP/1.1" minProcessors="5"
SSLEnabled="true"
maxprocessors="100"
enableLookups="true" acceptCount="10" debug="0"
scheme="https"
Factory_classname="org.apache.catalina.SSLServerSocketFactory"
secure="true"
clientAuth="false"
keystoreFile="/usr/local/tomcat/keystore"
keystorePass="pwssword"
sslProtocol="TLS"/>
keystoreFile="/usr/local/tomcat/keystore" 这个是存放的地址;keystorePass="pwssword" 这个是密码。
然后再运行镜像就可以了。
如果不是docker运行的项目,只需要执行第2步和第5步就可以;
相关文章:
基线扫描tomcat安全加固-检查是否支持HTTPS等加密协议
背景:基线扫描时,docker镜像中的tomcat在检查是否支持HTTPS等加密协议这一项上未通过。 思路:先通过JDK自带的keytool工具生成证书,再从tomcat的server.xml配置文件中增加配置。 我不确定不同版本的JDK生成的证书是否可以通用&a…...
基于 STM32F7 和神经网络的实时人脸特征提取与匹配算法实现
本文讨论了如何使用 STM32F7 和神经网络模型来实现实时人脸特征提取与匹配算法。首先介绍了 STM32F7 的硬件和软件特点,然后讨论了人脸特征提取和匹配算法的基本原理。接下来,我们将重点讨论如何在 STM32F7 上实现基于神经网络的人脸特征提取与匹配算法&…...
Android笔记(十四):JetPack Compose中附带效应(一)
在Android应用中可以通过定义可组合函数来搭建应用界面。应用界面的更新往往是与可组合函数内部定义的状态值相关联的。当界面的状态值发生变更,会导致应用界面进行更新。在Android笔记(九):Compose组件的状态,对Compo…...
【web】Fastapi自动生成接口文档(Swagger、ReDoc )
简介 FastAPI是流行的Python web框架,适用于开发高吞吐量API和微服务(直接支持异步编程) FastAPI的优势之一:通过提供高级抽象和自动数据模型转换,简化请求数据的处理(用户不需要手动处理原始请求数据&am…...
竞赛选题 题目:基于FP-Growth的新闻挖掘算法系统的设计与实现
文章目录 0 前言1 项目背景2 算法架构3 FP-Growth算法原理3.1 FP树3.2 算法过程3.3 算法实现3.3.1 构建FP树 3.4 从FP树中挖掘频繁项集 4 系统设计展示5 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 基于FP-Growth的新闻挖掘算法系统的设计与实现…...
188. 股票买卖问题(交易次数为任意正整数)
题目 题解 class Solution:def maxProfit(self, k: int, prices: List[int]) -> int:N len(prices)# 定义状态:dp[i][j][k]表示在第i天,有j次交易机会,持有或不持有的最大利润dp [[[0 for i in range(2)] for j in range(k1)] for m in range(N)]f…...
Typescript怎样对URL参数进行编码?
URL中的参数需要进行编码(URL encoding)是为了确保传输的参数不包含特殊字符,同时确保数据的可靠性和安全性。 特殊字符如空格、&、?等在URL中有特殊含义,如果直接包含在参数值中,可能会导致解析错误或者安全问题…...
AndroidStudio2022.3.1 Patch3使用国内下载源加速
记录一下这个版本的as在使用国内下载源加速碰到的诸多问题。 一、gradle-8.0-bin.zip下载慢 编辑项目文件夹/gradle/wrapper/gradle-wrapper.properties,文件内容改为如下: #Fri Nov 24 18:50:06 CST 2023 distributionBaseGRADLE_USER_HOME distribu…...
Go语言的学习笔记2——Go语言源文件的结构布局
用一个只有main函数的go文件来简单说一下Go语言的源文件结构布局,主要分为包名、引入的包和具体函数。下边是main.go示例代码: package mainimport "fmt"func main() { fmt.Println("hello, world") }package main就是表明这个文件…...
python给视频增加字幕
python给视频增加字幕 安装所需库 在开始之前,我们需要安装一些Python库。主要使用到的库如下: moviepy:用于处理视频和音频的库。 pydub:用于处理音频的库。 speech_recognition:用于语音识别的库。 首先࿰…...
相机设置参数:黑电平(Black Level)详解和示例
本文通过原理和示例对相机设置参数“黑电平”进行讲解,以帮助大家理解和使用。 原理 相机中黑电平原理是将电平增大,可以显示更多暗区细节,可能会损失一些亮区,但图像更多的关注暗区,获取完图像信息再减掉。只是为了…...
Mac Ubuntu双系统解决WiFi和WiFi 5G网络不可用问题
文章目录 设备信息1. Ubuntu WiFi不可用解决方式查看Mac的网卡型号根据网卡型号搜索获取到的解决方法查看WiFi名字问题参考链接 2. 解决WiFi重启后失效问题打开终端创建.sh脚本文件编辑脚本文件复制粘贴脚本修改脚本权限创建并编辑systemd service文件复制粘贴下文到systemd se…...
数据分析基础之《matplotlib(2)—折线图》
一、折线图绘制与保存图片 1、matplotlib.pyplot模块 matplotlib.pyplot包含了一系列类似于matlab的画图函数。它的函数作用于当前图形(figure)的当前坐标系(axes) import matplotlib.pyplot as plt 2、折线图绘制与显示 展示城…...
Rust语言入门教程(三) - 函数与模块系统
函数 函数的定义 根据Rust的格式规范,函数名的格式应遵从蛇形命名法,即是用小写字母以及下划线组成,如: fn do_stuff(){ }Rust并不要求函数定义的位置必须在调用它之前,所以如果你习惯于把main函数放在最前面的话&a…...
ubuntu22.04 arrch64版在线安装java环境
脚本 #安装java#!/bin/bashif type -p java; thenecho "Java has been installed."else#2.Installed Java , must install wgetwget -c https://repo.huaweicloud.com/java/jdk/8u151-b12/jdk-8u151-linux-arm64-vfp-hflt.tar.gz;tar -zxvf ./jdk-8u151-linux-arm6…...
概率论与数理统计中常见的随机变量分布律、数学期望、方差及其介绍
1 离散型随机变量 1.1 0-1分布 设随机变量X的所有可能取值为0与1两个值,其分布律为 若分布律如上所示,则称X服从以P为参数的(0-1)分布或两点分布。记作X~ B(1,p) 0-1分布的分布律利用表格法表示为: X01P1-PP 0-1分布的数学期望E(X) 0 *…...
骨传导耳机的优缺点都有哪些?骨传导耳机值得入手吗?
骨传导耳机的优点还是很多的,相比于传统耳机,骨传导耳机要更值得入手! 下面让我们了解下骨传导耳机的优缺点都有哪些: 一、优点 1、使用更安全 传统的耳机,在使用时会听不到外界的声音,而骨传导耳机通过…...
在ASP.NET Core 中使用 .NET Aspire 消息传递组件
前言 云原生应用程序通常需要可扩展的消息传递解决方案,以提供消息队列、主题和订阅等功能。.NET Aspire 组件简化了连接到各种消息传递提供程序(例如 Azure 服务总线)的过程。在本教程中,小编将为大家介绍如何创建一个 ASP.NET …...
NLP学习
参考:NLP发展之路I - 从词袋模型到Transformer - 知乎 (zhihu.com) NLP大致的发展历史。从最开始的词袋模型,到RNN,到Transformers和BERT,再到ChatGPT,NLP经历了一段不断精进的发展道路。数据驱动和不断完善的端到端的…...
Linux-Ubuntu环境下搭建SVN服务器
Linux-Ubuntu环境下搭建SVN服务器 一、背景二、前置工作2.1确定IP地址保持不变2.2关闭防火墙 三、安装SVN服务器四、修改SVN服务器版本库目录五、调整SVN配置5.1查看需要修改的配置文件5.2修改svnserve.conf文件5.3修改passwd文件,添加账号和密码(window…...
Qianfan-OCR部署教程:模型路径/root/ai-models/baidu-qianfan/Qianfan-OCR配置规范
Qianfan-OCR部署教程:模型路径/root/ai-models/baidu-qianfan/Qianfan-OCR配置规范 1. 项目概述 百度千帆推出的Qianfan-OCR是一款开源的4B参数端到端文档智能多模态模型,基于Qwen3-4B语言模型构建。这个多模态视觉语言模型(VLM)采用Apache 2.0协议&am…...
如何快速配置Betaflight编译环境:终极GCC工具链选择指南
如何快速配置Betaflight编译环境:终极GCC工具链选择指南 【免费下载链接】betaflight Open Source Flight Controller Firmware 项目地址: https://gitcode.com/gh_mirrors/be/betaflight Betaflight作为开源飞行控制器固件的核心,其编译环境的正…...
Go语言的runtime.GC生产环境
Go语言的runtime.GC生产环境解析 Go语言以其高效的垃圾回收机制(GC)闻名,尤其在生产环境中,runtime.GC的表现直接影响程序的稳定性和性能。本文将深入探讨Go语言runtime.GC在生产环境中的关键特性,帮助开发者更好地理…...
Harness:2026年AI架构师必争的“系统层”战场!
最近多看几篇 Agent 文章,就会反复遇到同一个词:Harness。 但这个词越讲越糊。 有人把它理解成工具系统。有人把它理解成 Prompt 外面那层壳。也有人把它理解成多 Agent 编排、Memory、Sandbox、Hooks、Skills 这些东西的总和。 这些说法都沾边&#…...
人体活动识别技术:算法评估与工程实践
1. 项目背景与核心挑战人体活动识别(Human Activity Recognition, HAR)是机器学习在可穿戴设备和智能感知领域的重要应用场景。我们经常需要从加速度计、陀螺仪等传感器数据中自动识别行走、跑步、坐卧等日常活动。这个任务看似简单,但在实际…...
Wi-Fi CSI传感技术:非接触式人体活动识别原理与应用
1. Wi-Fi CSI人体活动识别技术概述Wi-Fi信道状态信息(CSI)传感技术正在重新定义非接触式人体活动识别(HAR)的技术边界。这项技术的核心在于利用无处不在的Wi-Fi信号作为感知媒介,通过分析2.4GHz/5GHz频段射频信号在传播过程中与人体交互产生的多径效应变化ÿ…...
LaTeX投稿不求人:手把手教你生成期刊要求的BibItem格式(基于Endnote和TeXstudio)
LaTeX投稿不求人:手把手教你生成期刊要求的BibItem格式(基于Endnote和TeXstudio) 科研写作中,参考文献格式的合规性往往是投稿前的最后一道关卡。许多SCI/EI期刊对参考文献的提交形式有着严格要求,不仅需要提供标准的.…...
django-cacheops实战案例:构建高性能电商系统的缓存架构设计
django-cacheops实战案例:构建高性能电商系统的缓存架构设计 【免费下载链接】django-cacheops A slick ORM cache with automatic granular event-driven invalidation. 项目地址: https://gitcode.com/gh_mirrors/dj/django-cacheops 在当今电商领域&#…...
云数据库(RDS)与自建数据库对比
云数据库(RDS)与自建数据库对比:如何选择更适合的方案? 在数字化转型的浪潮中,数据库作为企业核心数据存储与管理的基石,其选择至关重要。云数据库(RDS)和自建数据库是两种主流方案…...
服务容灾恢复方案
服务容灾恢复方案:保障业务连续性的关键 在数字化时代,企业的核心业务系统一旦中断,可能造成巨大的经济损失和声誉损害。服务容灾恢复方案正是为了应对此类风险而设计,通过技术手段确保业务在灾难发生后快速恢复,最大…...
