Commit Graph

89 Commits

Author SHA1 Message Date
luwenpeng
67c27a2fb5 TSG-148 修改录入 kafka 数据格式,修正代码格式 2019-12-24 13:46:55 +08:00
luwenpeng
daa1899f91 #177 在用户访问的过程中,缓存未见到过、可信的中间证书到 kafka(TODO kafka 数据录入格式待沟通,待联调测试) 2019-12-24 13:46:55 +08:00
luwenpeng
3a68352964 #177 在用户访问的过程中,获取未见到过、可信的中间证书 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
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
f9420b16bb 增加从配置文件读取 service_cache_succ_as_app_not_pinning_cnt 配置项的功能 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
luqiuwen
dbe9fba033 #159 集成Google Breakpad,用于生成minidump便于后期集中收集崩溃。 2019-08-20 18:41:44 +08:00
luqiuwen
3015d4df86 增加逐流的上、下游收发字节统计并对业务插件提供查询接口。 2019-08-13 19:50:51 +08:00
崔一鸣
fc2791ee90 调整keykeeper证书过期时间 2019-07-26 10:13:09 +08:00
luqiuwen
10ea3ba54e 增加对KNI的Watchdog实现双向保活。 2019-06-18 18:21:00 +08:00
zhengchao
b579c718b3 为了识别第二种pinning:在tcp_stream的event callback中,若接收字节数为0,调用ssl_stream_process_zero_eof。 2019-06-14 22:49:41 +08:00
zhengchao
a396bec434 未完成:在ssl_stream_free中检测pinning。 2019-06-11 15:26:16 +08:00
zhengchao
f18c5efdb1 1、使用服务器IP+端口+sni生成服务端状态 #141,使用客户端IP+Client hello特征生成客户端状态。2、pinning detection的相关阈值可从tfe.conf中配置。 2019-06-11 15:26:16 +08:00
luqiuwen
306dcc6ce0 增加在流结束时调用cmsg发送接口的实现 2019-06-02 17:52:48 +08:00
luqiuwen
57f5a4d906 增加sender_scm的初始化调用 2019-06-02 16:30:59 +08:00
崔一鸣
e4f490fcd3 添加sender_scm开关 2019-06-02 16:30:59 +08:00
崔一鸣
cc126a73a1 增加和kni通信接口 2019-06-02 16:30:59 +08:00
luqiuwen
28becac88d 移植KNIv1版本的acceptor到4a分支,兼容原kni的实现。 2019-06-02 16:30:59 +08:00
zhengchao
bc41051da2 ssl stream和ssl policy对接tfe_cmsg_xx。 2019-06-02 16:30:59 +08:00
luqiuwen
77aa3063f7 使用cmsg公共库解析cmsg信息,对业务层提供获取cmsg句柄的接口 2019-06-02 16:30:59 +08:00
luqiuwen
1a45ea858c 变更kni系列名称到scm 2019-06-02 16:30:59 +08:00
zhengchao
7431a0e50a 修改ssl_chello_parse相关函数,处理TLS Grease导致的客户端标识不准确,详见 https://security.stackexchange.com/questions/176951/google-chrome-weird-random-cipher-suite 2019-05-25 15:54:28 +08:00
崔一鸣
72d170aec2 添加ssl_cipher_suites_convert函数 2019-05-24 23:15:58 +08:00
崔一鸣
75208aad0f 修改chello_parse函数,支持解析supported_versions, supported_groups,signature_algorithms,修改cipher_suites解析结果为原始报文 2019-05-24 20:25:35 +08:00
zhengchao
c85b200f69 手工合并李杰stek-roation分支,支持session ticket rotation,详见 #123 2019-05-24 18:55:33 +08:00
zhengchao
4cd42b9f95 1. 客户端报SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN错误时,不作为maybe pinning; 2. ssl policy中增加protocol_errors的bypass开关。 2019-05-24 18:55:31 +08:00
zhengchao
1f73b4832d 在ssl policy中处理keyring。 2019-05-24 18:55:31 +08:00
zhengchao
e4291c0fda 1. 暴露ssl_stream.h给业务层;2. 将ssl policy功能放到业务层插件目录。 2019-05-24 18:55:30 +08:00
zhengchao
7cbd432a25 业务层拦截策略(ssl policy)对接ssl stream。 2019-05-24 18:52:34 +08:00
zhengchao
61bc647d1f 编写连接业务层的代码。 2019-05-24 18:52:33 +08:00
zhengchao
dda60c674c up session cache校验ssl version,增加ssl状态读写的接口。 2019-05-24 18:52:32 +08:00
zhengchao
630a3dba60 可以检测certificate pinning和mutual authentication。 2019-05-24 18:52:32 +08:00
zhengchao
ea0292f1b4 1. 可以获取x509证书的ct和ev状态。2. hostname不匹配,不认为是非法证书。 2019-05-24 18:52:31 +08:00
zhengchao
f4f7a623a5 允许设置证书校验选项。 2019-05-24 18:52:31 +08:00
zhengchao
f349d1254f tcp stream使用ssl stream提供的函数输出ssl错误日志。 2019-02-26 19:47:16 +06:00
luqiuwen
df025b3d9f Close #116 去除根据ClientHello镜像上游SSL版本的功能,增加在连接摘要日志记录SSL版本和SNI的功能 2019-02-19 15:11:15 +06:00
zhengchao
71f7452413 增加ssl_stream_dump_info函数,输出ssl版本号、sni,以进一步定位 #116 2019-02-18 18:25:19 +06:00
zhengchao
124b7f083f 增加no_mirror_client_cipher_suite开关;ssl_utils.cpp改名后cmakelist未响应修改; 2019-01-14 20:35:29 +06:00
luqiuwen
8713da2d81 修正Http-kill位置过完的问题,增加TCP链接摘要日志功能 2018-12-14 03:06:34 +06:00
zhengchao
76f0efe3cb 对新签发或请求certstore的证书计数。 2018-12-12 15:01:18 +06:00
luqiuwen
de92efb380 Close #99 增加全局传输限速功能,增加passthrough状态下eventcb的错误日志
* 增加全局传输限速功能,可以限制上游、下游的传输速度;
* 增加eventcb中的错误日志,当BEV_EVENT_ERROR发生时,打印错误代码与日志信息。
2018-12-08 20:48:19 +06:00
zhengchao
ce9d7fa5eb #64 key keeper增加evdnsbase参数。
避免创建大量dnsbase,耗尽fd。ssl stream/tcp stream/proxy也做了相应修改。
2018-11-26 14:55:39 +08:00
zhengchao
ca650d12ff #64 在tfe.conf中增加check_cert_crl开关,默认关闭CRL校验。 2018-11-13 10:50:08 +08:00
Lu Qiuwen
d83348f41d 增加设置upstream, downstream的TTL或MaxHop功能,便于在捕获的报文中区分上、下行连接。 2018-11-08 19:14:47 +08:00
zhengchao
668c1b3e52 #68 从目录中加载额外的证书和crl。 2018-11-04 14:58:54 +08:00
Lu Qiuwen
d0ea605a5b 修正多TCP层插件同时注册时,只调用一个插件open函数的缺陷。 2018-11-04 14:17:41 +08:00
Lu Qiuwen
b3b65369d8 增加连接层的性能统计 2018-11-02 13:52:30 +08:00