当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/242297.html

相关文章:

  • 基于 STM32F7 和神经网络的实时人脸特征提取与匹配算法实现
  • Android笔记(十四):JetPack Compose中附带效应(一)
  • 【web】Fastapi自动生成接口文档(Swagger、ReDoc )
  • 竞赛选题 题目:基于FP-Growth的新闻挖掘算法系统的设计与实现
  • 188. 股票买卖问题(交易次数为任意正整数)
  • Typescript怎样对URL参数进行编码?
  • AndroidStudio2022.3.1 Patch3使用国内下载源加速
  • Go语言的学习笔记2——Go语言源文件的结构布局
  • python给视频增加字幕
  • 相机设置参数:黑电平(Black Level)详解和示例
  • Mac Ubuntu双系统解决WiFi和WiFi 5G网络不可用问题
  • 数据分析基础之《matplotlib(2)—折线图》
  • Rust语言入门教程(三) - 函数与模块系统
  • ubuntu22.04 arrch64版在线安装java环境
  • 概率论与数理统计中常见的随机变量分布律、数学期望、方差及其介绍
  • 骨传导耳机的优缺点都有哪些?骨传导耳机值得入手吗?
  • 在ASP.NET Core 中使用 .NET Aspire 消息传递组件
  • NLP学习
  • Linux-Ubuntu环境下搭建SVN服务器
  • python tkinter使用(四)
  • 记录ruoyi-plus-vue部署的问题
  • 如何在springboot项目中使用minio上传下载删除文件
  • SSM个性化旅游管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目
  • 4-Docker命令之docker version
  • Redis高并发缓存架构
  • 谨防利用Redis未授权访问漏洞入侵服务器
  • 关于一些bug的解决1、el-input的输入无效2、搜索之后发现数据不对3、el多选框、单选框点击无用4、
  • 使用 JavaScript 进行 API 测试的综合教程
  • Vue 2.0源码分析-Virtual DOM
  • (HAL库版)freeRTOS移植STMF103