天清汉马T系列防火墙采用启明星辰领先的VSOS操作系统,通过多核并行化处理、特征库树形存储、流扫描处理、零拷贝、分布式T比特硬件平台等技术手段,实现了整个处理过程一次拆包,确保天清汉马T系列防火墙开启多重防护功能后依然能够保证高速度、低时延的安全防护。

文件:url80.ctfile.com/f/25127180-604720557-398616?p=551685 (访问密码: 551685)

标题功能特点

七元组访问控制:以源地址、目的地址、源端口(源安全域)、目的端口(目的安全域)、服务类型、APP类型及用户为参数的访问许可控制;

七元组会话控制:以源地址、目的地址、源端口(源安全域)、服务类型、APP类型及用户为参数的会话许可控制:总新建连接速率/总连接数、每源IP新建连接速率/每源IP总连接数、每目的IP新建连接速率/每目的IP总连接数;

应用行为控制:深入APP或各类网络协议的细节参数,实现精细的网络行为管理和日志记录;

流量控制:以源地址、目的地址、服务类型、APP类型及用户为参数的多层管道嵌套式流量及QoS控制。

我们目前大部分使用的openssl库还是基于TLS1.2协议的1.0.2版本系列,如果要支持更高的TLS1.3协议,就必须使用openssl的1.1.1版本或3.0版本。升级openssl库有可能会导致SSL会话失败,我在升级 wincurl 时,意外的收获了一个函数。这个函数非常的不起眼,但具有的现实意义却很大。
大部分情况下如果你不调用该函数,并不影响SSL会话和通信,但有时会被某些服务器拒绝。一旦被拒绝,查找具体的原因将变得非常痛苦。这个函数的意义好比HTTP协议中HOST字段,它和NGINX反向代理的Server name有异曲同工之妙。了解这个函数的意义,可能会让你今后在配置nginx反向代理时少走一些弯路。
这个函数是 SSL_set_tlsext_host_name,在介绍这个函数之前,我们先快速看看TLS协议和openssl的发展。

虽然TLS1.3的标准自2018年就已发布,但目前国内几乎所有网站并没有增加对TLS 1.3的支持,大部分主流网站使用的还是基于TLS1.2的版本。目前国内使用TLS1.3的好像只有知乎,其它诸如:新浪、网易、搜狐、腾讯、华为、京东、百度…都还是采用TLS1.2的标准。

网站是否支持TLS1.3其实并不重要,重要的是浏览器是否支持TLS1.3协议。好在目前市场上所有主流浏览器都已升级到了TLS1.3。因此对于用户而言,不管是支持TLS1.3的网站还是支持TLS1.2的网站,访问起来都不是问题,或者说对终端用户而言这种访问是无感的。

为何TLS3.0已经出现5年了,各大网络平台还是首选TLS1.2呢?估计还是出于对兼容和稳定的考虑。如果贸然升级到1.3导致大量客户端无法访问从而丢失用户,是任何平台所无法承受的。此外,支持TLS1.3的openssl版本也在不断完善中,在其未达到稳定前,最好还是使用稳定的1.2版本。这大概就是目前几乎所有平台类网站还在使用TLS1.2的原因。

此外,即使有的网站采用TLS1.3协议,也会继续提供对1.2的访问支持(向下兼容并保留所有TLS1.2的加密套件),除非该网站的运维人员强行使用TLS1.3的加密套件。但如果这样做的话就会导致大量仍然使用1.2标准的客户端程序无法继续访问该网站,这也意味着该运维人员离下岗再就业不远了。

这也是为什么我们即使不升级老版本的openssl库,也依然可以访问TLS1.3网站的原因。

上面说的TLS1.2,1.3指的是TLS的协议,实现上述协议的是openssl库。 其中支持TLS1.3的openssl库目前有两个版本系列:一个是1.1.1系列,一个是3.0系列。其中1.1.1更像是一个过渡版本,openssl团队承诺会支撑该版本到2023年9月11日,也就是明年911事件22周年之际(确实是一个值得纪念的日子)将停止更新1.1.1版本。这就意味着大家还没开始普及使用1.1.1,它就已经结束了。

这个其实也不重要,因为3.0才是最终openssl的终极版本,直接跳过了2.0,从而体现了openssl的跨越式发展。 3.0版本是openssl团队主推版本,也是一个长期维护的版本,该版本会维护到2026年9月7日。

虽然主流web浏览器都已支持TLS1.3,但浏览器只是客户端的一种,其它大部分客户端使用的还是openssl 1.0.2系列版本,甚至是1.0.1系列版本,也就是我们经常看到的libeay32.dll和ssleay32.dll 库,这些版本是不支持TLS1.3协议的。比如工具类的postman、curl,以及应用类QQ、Foxmail、微信以及各种下载客户端程序,使用的可能还是老的openssl库。openssl库在1.1.1及以上版本已经将库的导出名称改为libcrypto和libssl,不过这只是前缀名,如果是1.1.1系列,则后缀为-1.1.dll,如果是3.0系列,则后缀为-3.dll,我们通过openssl的库名就能判断出该应用程序是否支持TLS1.3。

升级到TLS1.3可以从openssl的官网(https://openssl.org)下载1.1.1或3.0版本的源码进行编译。编译完毕后,我们只要替换openssl库,并重新配置并编译你的客户端程序即可。
使用openssl库编写客户端程序的一般流程如下:先创建套接字,并连接到服务器,然后创建ssl,并绑定套接字,通过调动SSL_connect函数进行握手操作,成功后使用SSL_read和SSL_write进行业务通信。
代码通常如下:

// 创建套接字,并连接到服务器
SOCKET s = socket(AF_INET, SOCK_STREAM, 0);
struct hostent* hst = ::gethostbyname(pszServer);
if(NULL == hst)return FALSE;
unsigned long addr;
struct sockaddr_in sockAddr;
memcpy(&addr, hst->h_addr, hst->h_length);
sockAddr.sin_family = AF_INET;
sockAddr.sin_port = htons(nPort);
sockAddr.sin_addr.S_un.S_addr = addr;
// 连接到服务器
if(SOCKET_ERROR != ::connect(s, (struct sockaddr *)&sockAddr, sizeof(struct sockaddr_in)))return FALSE;// Openssl库初始化
OpenSSL_add_ssl_algorithms();
SSL_load_error_strings();
SSLeay_add_ssl_algorithms();
ERR_load_BIO_strings();
ctx = SSL_CTX_new(SSLv23_client_method());// 创建ssl上下文,并绑定套接字
SSL* ssl = SSL_new (m_ctx);
SSL_set_fd(m_ssl, s);
// 开始ssl握手
int iRet = SSL_connect(m_ssl);
if(1 != iRet)return FALSE;// 下面使用SSL_read或SSL_write进行通信

上述代码中SSL_connect函数是最重要的,它内部实现了SSL的握手过程,openssl在内部采用状态机的方式实现了整个握手,代码还是相当的晦涩。几乎所有的SSL通信失败都是在握手阶段产生的,比如加密套件不匹配,服务器证书没有可靠的签名等。

openssl中有个s_client命令集合,该命令用于实现客户端的通信,它的实现在s_client.c文件中,在这个庞大代码中有一个不起眼的函数调用,这个函数是SSL_set_tlsext_host_name。该函数的作用是在客户端在发送ClientHello消息时,将所访问的主机(服务器)名称写入到server name的扩展字段中。

天清汉马T系列防火墙配置管理相关推荐

  1. 交换机 几个端口镜像 已经存在端口镜像 一对多端口镜像 启明星辰 天清 负载均衡 端口镜像 天清汉马 USG 防火墙

    交换机 几个端口镜像 已经存在端口镜像 一对多端口镜像 == 交换机的同一个端口能否同时镜像给其他两个端口? 不能. == 端口镜像需要注意如下几点: 以太网交换机支持多对一的镜像,即将多个端口的报文 ...

  2. (CNVD-2021-17391)|启明星辰-‘‘天清汉马USG防火墙‘‘逻辑漏洞

    0x01 漏洞说明 启明星辰天清汉马USG防火墙存在逻辑缺陷漏洞,攻击者可利用该漏洞从低权限越权到管理员权限,可进行用户密码重置和权限设置等高权限操作 0x02 影响版本 天清汉马USG防火墙 0x0 ...

  3. 启明星辰 天清汉马USG防火墙(后台弱口令/任意用户权限)

    fofa语句: title="天清汉马USG防火墙" 默认账号密码 账号:useradmin 密码:venus.user 到后台后,进入管理员页面 修改访问权限,即可使用该用户

  4. 启明星辰天清汉马USG防火墙NAT回流设置

    配置思路: 拓扑4中,WWW服务器设置在内部网络中,内部用户和外部用户必须访问其外部地址202.112.238.10来访问该服务器.此情况中,外部用户的配置不变,即,在外部接口配置DNAT,使外部用户 ...

  5. SCCM2012升级SP1系列之配置管理SCCM2012①发现和管理SCCM2012客户端

    SCCM2012升级SP1系列之配置管理SCCM2012①发现和管理SCCM2012客户端 因近一个月忙项目,近几天稍微闲下来抽空把剩下的POC文档逐步完成并发布上来. 上篇我们完成了SCCM2012 ...

  6. 支持PHP运行环境和系统防火墙配置管理,1Panel开源面板v1.1.0发布

    2023年4月17日,现代化.开源的Linux服务器运维管理面板1Panel正式发布v1.1.0版本. 在这一版本中,1Panel新增支持PHP运行环境.系统防火墙配置管理以及同步本地应用等功能,并带 ...

  7. 华三防火墙h3cf100配置双宽带_H3C新一代F100系列防火墙评测报告

    [IT168评测]随着网络应用在中小企业的深入发展,中小企业对于网络安全的需求也越来越强烈.而传统的网络安全设备可以帮助中小企业防御病毒.蠕虫及应用层攻击,但是由于缺乏有效的监管,中小企业内网用户的P ...

  8. sdut 汉诺塔系列2

    汉诺塔系列2 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Description 用1,2,.. ...

  9. SCCM2012升级SP1系列之配置管理SCCM2012④配置SCCM2012补丁分发

    4.4 配置SCCM 2012补丁分发(软件更新) 1) 环境要求 a) 如果SCCM和WSUS在同一台服务器上,配置简单.需要注意在安装WSUS时请选择WSUS的端口为8530,避免和SCCM客户端 ...

最新文章

  1. Elasticsearch本地 docker-compose 安装
  2. python es 数据库_Python将json文件写入ES数据库的方法
  3. win7电脑恢复系统设置或计算机点不了,Win7系统电脑开机就提示需要启动修复的解决方法...
  4. Linux软件安装解决方案
  5. 数据库 | MySQL安装与配置
  6. php哈希取模,PHP取模hash和一致性hash操作Memcached分布式集群
  7. python执行shell脚本报错_在python中执行shell命令:字符串错误
  8. Qt5.4中遇到找不到头文件QApplication等。
  9. js延时函数_JS 函数的执行时机
  10. 医院绩效考核系统设计方案
  11. VUE3-Cesium(加载GeoJSON、KML、KMZ数据)
  12. 上海学计算机编程,上海自学计算机编程入门
  13. 最实用windows 下python+numpy安装(转载)
  14. Asp.NET之入门
  15. 计算机科学与技术研究生课表,计算机科学与技术专业2018级研究生课程表.doc
  16. 【文化课每周学习记录】2019.3.17——2019.3.23
  17. cdd matlab 算法,求翻译 CDD修复算法
  18. 微信小程序支付V3(Java版)
  19. 第八章-数据处理的两个基本问题
  20. 一个小玩意 PHP实现微信红包金额拆分试玩

热门文章

  1. 高速吹风筒/吹风机方案设计——吹风机PCBA设计
  2. 从零开始学习Kinect编程笔记(二) 4.22
  3. 第21节项目1-投票表决器
  4. IDEA官网进不去,实际上是DNS的问题。。
  5. Unity 渲染教程(十四):雾
  6. 【区块链DAPP】智能合约概述
  7. 使用MPU6050陀螺仪自制Arduino数字量角器
  8. 从开创到引领,今麦郎如何成为数字化快消龙头?
  9. C#中的bit与byte
  10. 机器人SLAM导航学习-All in one