首页 > 其他分享 >tomcat白名单(八)SNI小结

tomcat白名单(八)SNI小结

时间:2024-03-01 17:33:06浏览次数:21  
标签:tomcat 证书 SNI SSL 域名 白名单 服务器 客户端

tomcat白名单(五)其他

 

  四层 七层
浏览器(客户端)

dns解析

connect ip

在clientHello中用浏览器地址栏host塞入sni

在http头中塞入Host头
网关(服务端) 根据SNI路由

根据Host头路由

 

hauqi,openshift根据SNI路由passthrough的tcp流量

所以openshift必然会通过某种方式,获取host来路由,这也从性质上决定了我不能侵入sni

所以它只可以通过域名访问而不能通过ip

应用1:app1.host/app1/

应用2:app2.host/app2/

app1.host ip === app2.host ip

然后openshift就通过sni拿到了host ,无论客户端是浏览器或java或curl

jiutou,nginx负责统一证书和ssl解码,根据浏览器域名路由到不同tomcat实例

缺点是无法双向ssl

浏览器验证

如果作为反向代理,由各应用端自己返回

如果仅是多域名多证书同ip情况,则有服务器框架根据sni选取证书

nginx给唯一域名的证书就行
     
     
     

参考:

https://blog.csdn.net/chen1415886044/article/details/116330304

该扩展使得可以在TLS握手期间指定网站的主机名或域名 ,而不是在握手之后打开HTTP连接时指定。

SNI通过让客户端发送虚拟域的名称作为TLS协商的ClientHello消息的一部分来解决此问题。这使服务器可以及早选择正确的虚拟域,并向浏览器提供包含正确名称的证书。

服务器名称指示(SNI)有效负载未加密,因此客户端尝试连接的服务器的主机名对于被动的窃听者是可见的。

Web服务器通常负责多个主机名–或域名。如果网站使用HTTPS 则每个主机名将具有其自己的SSL证书。
在HTTPS中,先有TLS握手,然后才能开始HTTP对话。如果没有SNI,客户端将无法向服务器指示正在与之通信的主机名。
如果服务器可能为错误的主机名生成SSL证书。那么SSL证书上的名称与客户端尝试访问的名称不匹配,则客户端浏览器将返回错误信息,并通常会终止连接。
通过 SNI,拥有多虚拟机主机和多域名的服务器就可以正常建立 TLS 连接了。

 

https://blog.csdn.net/qq_21127151/article/details/107032419

在HTTP协议中,请求的域名作为主机头(Host)放在HTTP Header中,所以服务器端知道应该把请求引向哪个域名,但是早期的SSL做不到这一点,因为在SSL握手的过程中,根本不会有Host的信息,所以服务器端通常返回的是配置中的第一个可用证书。因而一些较老的环境,可能会产生多域名分别配好了证书,但返回的始终是同一个。

在SSLv3/TLSv1中被启用

 所以nginx建立SSL连接时不知道所请求主机的名字,因此,它只会返回默认主机的证书。

nginx支持TLS协议的SNI扩展(Server Name Indication,不过,SNI扩展还必须有客户端的支持,另外本地的OpenSSL必须支持它。 如果启用了SSL支持,nginx便会自动识别OpenSSL并启用SNI。是否启用SNI支持,是在编译时由当时的 ssl.h 决定的(SSL_CTRL_SET_TLSEXT_HOSTNAME),如果编译时使用的OpenSSL库支持SNI,则目标系统的OpenSSL库只要支持它就可以正常使用SNI了。 nginx在默认情况下是TLS SNI support disabled,需要重新编译nginx并启用TLS。启用方法步骤如下:

 

https://help.yunaq.com/faq/5256/index.html

浏览器在访问使用HTTPS协议的站点时,需与服务器建立SSL连接,建立连接的第一步是请求域名证书,此时如服务器部署了多个证书,因客户端还未发送实际的数据请求,服务器无法区分请求的域名

大多数操作系统和浏览器都已经很好地支持SNI扩展,OpenSSL 0.9.8已内置这一功能,新版的Nginx也已支持SNI

 

 

标签:tomcat,证书,SNI,SSL,域名,白名单,服务器,客户端
From: https://www.cnblogs.com/silyvin/p/18047571

相关文章

  • linux下准确查询正在tomcat下运行的java进程。准确获取正在运行的java进程的PID
    查看当前运行的所有的java进程,命令:【一定要注意,取那个你配置的JAVA_HOME全局变量的那个java进程的PID】ps-ef|grepjava     准确获取定位到tomcat下正在运行的java进程的PID命令:ps-ef|grepjava|grepcatalina|awk'{print$2}' 准确定位到tomcat下......
  • Spring Boot使用BESApplicationServer宝兰德替换内嵌Tomcat
    移除自带tomcat<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId><version>${spring.version}</version>......
  • Jenkins在jdk17的Tomcat上运行报错
    Jenkins在jdk17的Tomcat上运行报错一、环境宝塔:tomcat8.0jdk:jdk17二、保存项目时报错​Unabletomakefieldprotectedtransientintjava.util.AbstractList.modCountaccessible:modulejava.basedoesnot"opensjava.util"tounnamedmodule@6d15ca84​查看local......
  • CTFer——文件上传漏洞——白名单检测
    代码文件中包含一个数组或者列表,包含一些合法的字符或者字符串 如何确认:上传一张图片与一个自己构造的后缀,如果只能上传照片,不能上传其他后缀文件,说明是白名单检测绕过方式:可以利用00截断的方式进行绕过,包含%00截断与0x00截断。 %00截断:%00是一个url编码,url发送到服务器后......
  • Tomcat9 运行模式更改为APR模式
    Tomcat支持三种接收请求的处理方式:BIO、NIO、APR软件版本:Tomcat9.0.85操作系统:Rockylinux8.9BIO由于每个请求都要创建一个线程来处理,线程开销比较大,不能再高并发的场景,性能也是最低的。NIO是一个基于缓冲区、并能提供非阻塞I/O操作的JavaAPI,比传统的bio更好的并发性能。......
  • tomcat日志文件按日期生成
    tomcat日志文件按日期生成有时候想查一下日志看看什么问题,发现tomcat的catalina.out日志很大,很不方便,so安装cronolog互联网服务器,直接安装yuminstallcronolog查询cronolog路径:whichcronolog/usr/sbin/cronolog修改catalina.sh文件注释touch"\(CATALINA_OUT"找到"\)C......
  • Docker安装Tomcat容器
    Docker安装Tomcat容器查看原文安装Tomcat#查找官方镜像dockersearchtomcat#下载最新版Tomcat镜像(其实此命令就等同于:dockerpulltomcat:latest)dockerpulltomcat#下载指定版本的Nginx镜像(xxx指具体版本号)dockerpulltomcat:xxx#检查当前所有Docker下载......
  • nginx做白名单和限流
    ​ 在我们生产环境中使用到了地图服务,每个月有免费请求次数,近一个月请求次数突然暴涨,导致直接开启付费模式,一个月上百刀的花销着实难扛,根据实际我们的业务使用情况,远达不到付费标准,故考虑做白名单和限流措施,基于以上情况并遇到春节急需快速处理,所以选择了最简单方便的方式,通过ngin......
  • 第24天:安全开发-PHP应用&文件管理模块&显示上传&黑白名单类型过滤&访问控制
    #文件管理模块-上传-过滤机制1、无过滤机制2、黑名单过滤机制3、白名单过滤机制4、文件类型过滤机制 $_FILES:PHP中一个预定义的超全局变量,用于在上传文件时从客户端接收文件,并将其保存到服务器上。它是一个包含上传文件信息的数组,包括文件名、类型、大小、临时文件名等信息......
  • Tomcat官网下载版本:如何选择tar.gz (pgp, sha512)和zip (pgp, sha512)?
    先上结论:选择tar.gz格式还是zip格式的文件下载,主要取决于操作系统和个人偏好:tar.gz(pgp,sha512):这是一种在Unix-like系统(如Linux和macOS)中常用的压缩格式。tar是一种将多个文件合并为单个文件(归档)的工具,而gz是gzip,用于压缩归档文件。pgp和sha512分别提供了文件......