基线扫描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步就可以;

相关推荐
黎阳之光14 小时前
黎阳之光透明管理:视频孪生重构智慧仓储新范式
人工智能·算法·安全·重构·数字孪生
alxraves15 小时前
医疗器械质量管理体系策划的关键点
安全·健康医疗·制造
技术传感器15 小时前
Hermes为什么开始像基础设施:11万星、RCE修复与生态接入
人工智能·安全·架构·aigc
IpdataCloud15 小时前
IPv6商用数据的IP离线库能解决哪些业务问题?适用场景与接入指南
网络·网络协议·tcp/ip
alxraves16 小时前
医疗器械质量管理体系信息系统的详细设计
大数据·安全·健康医疗·制造
小柯博客17 小时前
STM32MP2安全启动技术深度解析
c语言·c++·stm32·嵌入式硬件·安全·开源·github
一名优秀的码农18 小时前
vulhub系列-84-hacksudo: aliens(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析
Data-Miner18 小时前
41页精品PPT|AI大模型安全架构构建与落地实践解决方案
人工智能·安全·安全架构
nashane20 小时前
HarmonyOS 6学习:加密一致性与安全存储——AES GCM排查与SaveButton实践
学习·安全·harmonyos·harmony app
数智化精益手记局20 小时前
什么是仓库安灯管理系统?一文讲清仓库安灯管理系统的核心概念
大数据·网络·人工智能·安全·精益工程