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

相关推荐
听*雨声9 小时前
03_软考_网络安全
安全·web安全
蔷薇灵动11 小时前
守护智慧校园数字命脉:微隔离构建全局可视、精准防护的内网安全
安全
老蒋新思维12 小时前
创客匠人:认知即资产 ——AI 时代创始人 IP 知识变现的底层逻辑
网络·人工智能·网络协议·tcp/ip·重构·创始人ip·创客匠人
白驹过隙^^13 小时前
OB-USP-AGENT安装使用方法
数据库·经验分享·网络协议·tcp/ip·github·ssl
白帽子黑客罗哥13 小时前
渗透测试技术:从入门到实战的完整指南
网络·安全·web安全·渗透测试·漏洞挖掘·网络安全培训
文刀竹肃13 小时前
DVWA -XSS(DOM)-通关教程-完结
前端·安全·网络安全·xss
sdszoe492213 小时前
IP地址规划与VLSM技术
网络·网络协议·tcp/ip·vlsm·ip地址规划
北京耐用通信14 小时前
耐达讯自动化网关:用Profinet唤醒沉睡的DeviceNet流量计,省下60%改造费!
人工智能·科技·物联网·网络协议·自动化·信息与通信
wanhengidc14 小时前
巨 椰 云手机 满足多元需求
运维·服务器·安全·智能手机·云计算
QZ1665609515914 小时前
高性能、可控、多架构:教育行业数据库风险监测一体化解决方案
安全·安全架构