Commit Graph

158 Commits

Author SHA1 Message Date
luwenpeng
c3b887f1c5 perf: 性能优化
* io_uring使用buffer pool避免内存分配与释放
    * packet io thread与worker thread无锁访问cmsg
    * 为解密流量的fd设置默认的TTL
2023-11-14 18:54:40 +08:00
fengweihao
2451bd795c TSG-16056 修复deny动作,修复tsg_lua多线程调用问题和tfe编译告警 2023-07-11 16:28:52 +08:00
wangmenglan
f32535e557 🐞 fix(TSG-15212): 修复TFE_CMSG_SSL_INTERCEPT_STATE字段设置错误; 修复msgpack默写字段为空时, 增加默认值 2023-05-30 19:40:01 +08:00
luwenpeng
cbf424884c cmsg适配控制报文类型, TFE_CMSG_SSL_INTERCEPT_STATE/TFE_CMSG_SSL_PINNING_STATE/TFE_CMSG_SSL_CERT_VERIFY的类型从uint64改为uint8 2023-04-23 16:55:30 +08:00
luwenpeng
2138d7f13e TFE适配MAAT4,编译表只注册一次 2023-04-23 16:35:42 +08:00
luwenpeng
f741c3c025 TSG-14628 TFE适配TCP Option Profile库表的变更 2023-04-21 18:31:36 +08:00
luwenpeng
87adce7cbf TSG-12548 TFE适配拦截策略的keyring_for_untrusted字段
* keyring拆分为keyring_for_trusted与keyring_for_untrusted
2022-11-08 11:18:53 +08:00
luwenpeng
e2be64b67b TSG-4030 Security Event Logs 中的 SSL.Intercept State 为 Passthrough 时,并未说明引起 Passthrough 的原因
(当命中 tcp passthrough 时,将 ssl_intercept_status 设置为 passthrough)
2022-01-28 13:10:26 +08:00
luwenpeng
d201968652 bugfix: TSG-8634 命中Proxy Deny策略时,触发Zero eof被误判Pinninng
(触发Zero eof后当做protocol errors处理)
2021-12-20 16:35:47 +08:00
luwenpeng
000ab9f991 修改debug日志: 输出服务端证书验证结果 2021-11-20 19:29:44 +03:00
luwenpeng
cb15d3340f bugfix: TSG-8003 预防证书链投毒
* 中间证书缓存openssl rebuild trust chain中可惜的中间证书, 不缓存服务端发送证书链中的证书
2021-11-03 16:24:09 +03:00
luwenpeng
f764a4bae1 优化 watchdog tfe worker thread 的实现逻辑 2021-08-20 15:36:58 +08:00
luwenpeng
19a3fe9217 TSG-6228 修复 ATCA 性能测试时 perf 火焰图显示 tfe_stream_addr_to_str 耗时较高的问题 2021-04-28 18:01:59 +08:00
luwenpeng
f99cfe9c1c TSG-5246 拦截状态下,使用未装根证书的 firefox 访问 twitter.com 时,功能端未检测出 Pinning 特征 2021-01-11 23:06:19 +06:00
luwenpeng
933f9e3b02 TSG-4965 功能端通过界面下发的 JA3 Fingerprint 识别 Pinning APP 和未装根证书的 APP 2021-01-06 17:28:53 +06:00
luwenpeng
f59db0ae85 TSG-3906 修正 TFE 通过 cmsg 发送给 KNI 的 pinning 状态(使用 app_is_not_pinning 进行矫正后的 pinning 状态) 2020-11-07 11:53:21 +06:00
luwenpeng
3e8566af92 TSG-3455 修正 tfe.fs2 的 trusted_cert_nums 计数 2020-09-29 10:51:37 +08:00
luwenpeng
fa3e050bb7 TSG-3445 修正 TFE 从毕方加载可信证书时,SSL 证书校验不可信的 bug 2020-09-28 18:05:59 +08:00
luwenpeng
9d15d655ed TSG-2967 TFE 使用 JA3 优化 SSL pinning 2020-09-22 19:48:28 +08:00
luwenpeng
1e5b2ceaed TSG-2993 将 TFE key keeper 哈希表的 pthread_mutex 改为 pthread_rwlock
* 插入新证书时若哈希表满,则删除 10% 最老的证书
	* 查询到结果之后再判断是否超时,若超时则删除,并重新查询 certstore
2020-09-22 13:17:54 +08:00
luwenpeng
13289d5a71 after log error, reset errno 2020-08-21 09:45:30 +08:00
luwenpeng
05c7528bfd TSG-1719 功能端增加 dynamic bypass 选项 trusted_root_cert_is_not_installed_on_client && TSG-1687 pinning 功能优化 2020-05-25 16:35:36 +08:00
luwenpeng
f4b2f1a484 TSG-1518 改进TFE查询Certstore过程的异常处理机制 2020-05-18 20:32:38 +08:00
luwenpeng
7930500cc1 向 tfe 的 FieldStat 中输出可信证书的数量 2020-01-08 14:16:23 +08:00
luwenpeng
daa1899f91 #177 在用户访问的过程中,缓存未见到过、可信的中间证书到 kafka(TODO kafka 数据录入格式待沟通,待联调测试) 2019-12-24 13:46:55 +08:00
luqiuwen
f1fd1d0ad3 #167 增加已拦截连接数、字节数、PASSTHROUGH连接数统计并调整FieldStat状态文件的输出位置。 2019-09-16 16:47:34 +08:00
fengweihao
4b0235d199 修改key_keeper请求为post
修改key_keeper请求连接为长连接
修改HTTP2流id设置时机
2019-09-16 14:01:14 +08:00
luwenpeng
ff19c00dc1 Merge branch 'develop-tfe4a' of https://git.mesalab.cn/tango/tfe into develop-tfe4a 2019-09-05 18:02:41 +08:00
luwenpeng
6b4a45c005 root_cert_not_installed_is_not_pinning 日志中输出 c/s 的地址,方便调试 2019-09-05 18:02:10 +08:00
luqiuwen
611d978b91 修正当进程句柄限制不足时,存在的随机关闭FD的问题并调整SSL关闭时的fd处理位置。
* 原实现在接收fd时,没有考虑可能只接收1个fd的情况。导致程序在接收1个fd时按2个fd处理,越界访问随机关闭fd。
* 现修正,接收2个一下fd时,关闭接收的fd。
* 同时调整SSL连接的FD关闭位置,改为在conn_private销毁时统一关闭,不在ssl部分关闭。
2019-09-05 16:50:18 +08:00
luqiuwen
c9d814e17b 修正部分TCP处理流程中FD所有权转移有误,导致的fd潜在的double-free。 2019-09-05 16:50:18 +08:00
luwenpeng
cd67f0edb7 Merge branch 'feature-root-cert-not-installed-is-not-pinning' into develop-tfe4a
增加 not install root cert not pinning 功能
当开启 dynamic bypass pinning 时,未安装根证书的客户端会被 bypass
2019-09-04 13:46:51 +08:00
luwenpeng
f41c68e8a8 service_cache_succ_as_app_not_pinning_cnt 默认设置为 0 2019-09-04 13:44:09 +08:00
luwenpeng
32ae3e678d root_cert_not_installed_is_not_pinning 默认开启
service_cache_succ_as_app_not_pinning_cnt 默认设置为 1
2019-09-04 10:16:05 +08:00
luwenpeng
8a2a866688 修改 is_app_not_pinning 的判定条件:在 ssl up stream free 之前判定 2019-09-03 19:00:54 +08:00
luwenpeng
3faede0663 修改日志 2019-09-03 11:16:39 +08:00
luwenpeng
dc726801f0 删除无用的代码 2019-09-03 11:16:39 +08:00
luwenpeng
fe78b7e41f 增加异常处理,修复 upstream_ossl_init() 造成的 core dump 2019-09-03 11:16:39 +08:00
luwenpeng
f92b7098da 修改 is_app_not_pinning 的判定条件:原来在 client connected 之后判定,现在在 ssl stream free 之前判定 2019-09-03 11:07:09 +08:00
luwenpeng
f9420b16bb 增加从配置文件读取 service_cache_succ_as_app_not_pinning_cnt 配置项的功能 2019-09-03 11:03:03 +08:00
zhengchao
63bcc591a7 增加app not pinning的统计信息,修复判空。 2019-09-03 11:03:03 +08:00
zhengchao
30fd8889a8 区分未安装证书的客户端和pinning的客户端。若开启tfe.conf中[SSL]root_cert_not_installed_is_not_pinning=1,则未安装证书的客户端不再视为pinning。 2019-09-03 11:03:03 +08:00
luwenpeng
06fe5652c5 设置 UNUSED,修复编译警告 2019-09-02 11:39:19 +08:00
崔一鸣
77e407f4a0 继续修改shutdown相关逻辑 2019-07-19 20:52:11 +08:00
崔一鸣
42c1667f1f 继续修改ssl shutdown相关逻辑 2019-07-19 20:37:35 +08:00
崔一鸣
bd771f22f9 修改ssl shutdown相关逻辑 2019-07-19 20:10:23 +08:00
崔一鸣
0a2bf7b711 修改shutdown引起的内存泄漏 2019-07-19 17:38:58 +08:00
崔一鸣
1b13ef037c 删掉SSL_ERROR_ZERO_RETURN时的retry逻辑 2019-07-19 13:01:45 +08:00
崔一鸣
65000c889e 增加event_del 2019-07-18 19:56:50 +08:00
崔一鸣
455c8c1a93 删掉多余的|| 2019-06-28 12:19:32 +06:00