Commit Graph

99 Commits

Author SHA1 Message Date
zhengchao
f18c5efdb1 1、使用服务器IP+端口+sni生成服务端状态 #141,使用客户端IP+Client hello特征生成客户端状态。2、pinning detection的相关阈值可从tfe.conf中配置。 2019-06-11 15:26:16 +08:00
zhengchao
d3afda0d4c 为了减少pinning, protocol error误判带来的影响,将service cache的淘汰方式改为FIFO,独立service_cache_expire_seconds参数,默认5分钟。 2019-06-05 20:43:45 +08:00
zhengchao
ace31ae24a tfe.conf中系统参数的section改为system,兼容kniv1测试完毕。 2019-06-02 18:17:53 +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
3dfe680a76 修正当ssl在以peek方式解析clienthello并返回not_enough_buff时,没有传入ev_base导致的连接建立失败的问题。 2019-06-02 16:30:59 +08:00
zhengchao
5cdad62fc7 未开启session cache时,关闭upstream ssl的cahce,避免buffer event 报告999:invalid session id:20:SSL routines:369:tls_process_server_hello。 2019-05-30 12:34:42 +08:00
zhengchao
ea1f876eb7 拦截策略支持allow_http2的开关;恢复cmakelist漏掉的HTTP2的编译开关。 2019-05-27 14:17:52 +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
zhengchao
c85b200f69 手工合并李杰stek-roation分支,支持session ticket rotation,详见 #123 2019-05-24 18:55:33 +08:00
zhengchao
f66658117a 支持通过拦截策略指定ssl最大和最小版本号。 2019-05-24 18:55:32 +08:00
zhengchao
6b197e3347 证书校验选项及校验失败动作自测通过。 2019-05-24 18:55:32 +08:00
zhengchao
dc7b969d74 上次提交遗留笔误。 2019-05-24 18:55:31 +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
3f305a9e88 Pinning,Mutual authentication,EV等passthrough功能在windows10测试通过。 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
ae678d5128 证书校验选项调试通过。 2019-05-24 18:52:31 +08:00
zhengchao
f4f7a623a5 允许设置证书校验选项。 2019-05-24 18:52:31 +08: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
2d34aafa48 增加session cache的开关:no_session_cache,默认为0,即启用session cache。 2019-02-18 15:48:36 +06:00
zhengchao
124b7f083f 增加no_mirror_client_cipher_suite开关;ssl_utils.cpp改名后cmakelist未响应修改; 2019-01-14 20:35:29 +06:00
zhengchao
f21d51de3d 1. ssl增加no_verify_cert开关,可以关闭证书校验;
2. ssl_utils.cc改名为ssl_utils.cpp;
3. 暂时使用tcmalloc接管内存分配;
4. 原work thread选择算法存在bug,暂时改为轮询;
5. FieldStat状态输出暂时改为Field格式,便于观察实时性能,Future的状态输出暂时改为累计值;
2019-01-14 18:23:46 +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
0b76bdf5e5 测试通过。 2018-12-05 22:56:11 +08:00
zhengchao
4da52a4907 增加常见ssl error的计数。 2018-12-05 19:58:34 +08:00
zhengchao
f76a8c5ca2 修复多处内存泄漏。 2018-11-29 16:24:45 +08:00
zhengchao
ae6f0cda87 #85 消除ssl stream中的unused variable warning 2018-11-26 16:30:51 +08:00
Lu Qiuwen
bd18a66a17 修正未初始化的字符串数组,修正ssl_version检查的逻辑。 2018-11-26 16:04:03 +08:00
zhengchao
ce9d7fa5eb #64 key keeper增加evdnsbase参数。
避免创建大量dnsbase,耗尽fd。ssl stream/tcp stream/proxy也做了相应修改。
2018-11-26 14:55:39 +08:00
zhengchao
5d20a52552 通过增加promise_finish函数,实现future的cancel。 2018-11-23 21:17:55 +08:00
zhengchao
3970d9de04 #44 为cache和proxy设置statsd server。 2018-11-23 21:17:54 +08:00
zhengchao
8adfe1b3f1 #87 ssl链接建立时间超过1000ms时,写TFE_LOG 2018-11-23 21:17:51 +08:00
zhengchao
516bb5ef12 ssl_stream增加延迟的统计 2018-11-23 21:17:51 +08:00
zhengchao
6c9ff10aa7 #85 修复ssl、http业务层中的编译警告。 2018-11-20 19:34:27 +08:00
Lu Qiuwen
4310984ca4 根据整理后的发行版本目录,调整默认配置文件的路径 2018-11-19 15:00:07 +08:00
zhengchao
0311407d67 Close #80 创建ssl upstream发生在KNI accept线程,event_add后又通过promise_set_ctx修改了callback para,此时tfe work thread调用了peek client hello,导致取出空的ctx。 2018-11-14 16:03:36 +08:00
zhengchao
ca650d12ff #64 在tfe.conf中增加check_cert_crl开关,默认关闭CRL校验。 2018-11-13 10:50:08 +08:00
zhengchao
8bfecea928 删除ssl strem中的无用变量。 2018-11-13 10:48:19 +08:00
zhengchao
668c1b3e52 #68 从目录中加载额外的证书和crl。 2018-11-04 14:58:54 +08:00
Lu Qiuwen
b3b65369d8 增加连接层的性能统计 2018-11-02 13:52:30 +08:00
zhengchao
b17b5fcd00 开启证书CRL检查,忽略找不到CRL的证书校验错误。 2018-11-01 12:28:40 +08:00