V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  zealot  ›  全部回复第 1 页 / 共 5 页
回复总数  83
1  2  3  4  5  
117 天前
回复了 zong400 创建的主题 程序员 吐槽一下钉钉域名竟然不支持 tls1.3
@zong400 RSA 是很老的算法了,ECC 综合指标显著优于 RSA ,了解技术的都会在 TLS 1.3 里采用 ECC 而不是 RSA
117 天前
回复了 zong400 创建的主题 程序员 吐槽一下钉钉域名竟然不支持 tls1.3
钉钉的域名支持 TLS1.3 ;
你的检测结果中没有显示 TLS 1.3 的原因是你用的 nmap 版本比较旧( 7.6 版本的 nmap 发布时候还没有 TLS 1.3 协议),换个最新版本 nmap 就可以。

你用的这个 nmap 版本号是 7.60 ,发布日期是 2017-07-31 详见: https://svn.nmap.org/nmap-releases/nmap-7.60/CHANGELOG

TLS 1.3 协议是 2018 年 8 月发布的,详见 IETF 文档: https://datatracker.ietf.org/doc/html/rfc8446

nmap 在 2021 年 12 月才支持了 TLS 1.3 ,详见代码提交记录: https://github.com/mzet-/Nmap-for-Pen-Testers/commit/f55c200783af64f2ecb286244056e83098d74e97

最新的 nmap 7.95 版本检测钉钉域名是支持 TLS 1.3 的:
```
$ nmap --script ssl-enum-ciphers -p 443 oapi.dingtalk.com
Starting Nmap 7.95 ( https://nmap.org ) at 2024-08-05 14:08 CST
Nmap scan report for oapi.dingtalk.com (106.11.35.100)
Host is up (0.047s latency).
Other addresses for oapi.dingtalk.com (not scanned): 2401:b180:2000:80::d 2401:b180:2000:50::b 2401:b180:2000:60::f 2401:b180:2000:70::e

PORT STATE SERVICE
443/tcp open https
| ssl-enum-ciphers:
| TLSv1.0:
| ciphers:
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (ecdh_x25519) - A
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (ecdh_x25519) - A
| TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
| TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
| compressors:
| NULL
| cipher preference: server
| TLSv1.1:
| ciphers:
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (ecdh_x25519) - A
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (ecdh_x25519) - A
| TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
| TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
| compressors:
| NULL
| cipher preference: server
| TLSv1.2:
| ciphers:
| TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (ecdh_x25519) - A
| TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (ecdh_x25519) - A
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (ecdh_x25519) - A
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (ecdh_x25519) - A
| TLS_RSA_WITH_AES_128_GCM_SHA256 (rsa 2048) - A
| TLS_RSA_WITH_AES_256_GCM_SHA384 (rsa 2048) - A
| TLS_RSA_WITH_AES_128_CBC_SHA256 (rsa 2048) - A
| TLS_RSA_WITH_AES_256_CBC_SHA256 (rsa 2048) - A
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (ecdh_x25519) - A
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (ecdh_x25519) - A
| TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
| TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
| compressors:
| NULL
| cipher preference: server
| TLSv1.3:
| ciphers:
| TLS_AKE_WITH_AES_256_GCM_SHA384 (ecdh_x25519) - A
| TLS_AKE_WITH_AES_128_GCM_SHA256 (ecdh_x25519) - A
| TLS_AKE_WITH_CHACHA20_POLY1305_SHA256 (ecdh_x25519) - A
| TLS_AKE_WITH_SM4_CCM_SM3 (ecdh_x25519) - A
| TLS_AKE_WITH_SM4_GCM_SM3 (ecdh_x25519) - A
| cipher preference: server
|_ least strength: A

Nmap done: 1 IP address (1 host up) scanned in 3.58 seconds
```

SSL Labs 检测结果也同样显示支持 TLS 1.3: https://www.ssllabs.com/ssltest/analyze.html?d=oapi.dingtalk.com
p.s. 这个域名还在支持 TLS 1.0 和 TLS 1.1 的原因是还有很多企业不支持更高版本的 TLS 。不过安全团队针对低版本的 TLS 的加密套件做了定制,剔除一些低版本中有重大风险的加密套件。

![]( https://i.imgur.com/PQboWYH.png)
方便的话可以发一下 curl 命令输出结果,我这边实测是可以的
(绑 IPv6 host 验证 OK:2401:b180:2000:60::f h5.dingtalk.com

``` $ curl -6 -v https://h5.dingtalk.com/status.taobao
* Trying [2401:b180:2000:60::f]:443...
* Connected to h5.dingtalk.com (2401:b180:2000:60::f) port 443 (#0)
* ALPN: offers h2
* ALPN: offers http/1.1
* CAfile: /etc/ssl/cert.pem
* CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
* (304) (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN: server accepted h2
* Server certificate:
* subject: C=CN; ST=ZheJiang; L=HangZhou; O=Alibaba (China) Technology Co., Ltd.; CN=*.dingtalk.com
* start date: Apr 12 01:56:07 2022 GMT
* expire date: May 14 01:56:06 2023 GMT
* subjectAltName: host "h5.dingtalk.com" matched cert's "*.dingtalk.com"
* issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign Organization Validation CA - SHA256 - G2
* SSL certificate verify ok.
* Using HTTP2, server supports multiplexing
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* h2h3 [:method: GET]
* h2h3 [:path: /status.taobao]
* h2h3 [:scheme: https]
* h2h3 [:authority: h5.dingtalk.com]
* h2h3 [user-agent: curl/7.86.0]
* h2h3 [accept: */*]
* Using Stream ID: 1 (easy handle 0x14e813400)
> GET /status.taobao HTTP/2
> Host: h5.dingtalk.com
> user-agent: curl/7.86.0
> accept: */*
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
< HTTP/2 200
< server: Tengine
< date: Thu, 16 Mar 2023 06:02:49 GMT
< content-length: 0
< accept-ranges: bytes
< etag: W/"0-1678781644000"
< last-modified: Tue, 14 Mar 2023 08:14:04 GMT
< cache-control: no-cache
< content-security-policy-report-only: default-src 'self';style-src 'self' 'unsafe-inline' dev.g.alicdn.com g.alicdn.com at.alicdn.com *.test.youku.com *.taobao.net webapi.amap.com;script-src 'report-sample' 'self' 'unsafe-eval' 'unsafe-inline' *.dingtalk.com *.cnzz.com *.alicdn.com market.wapa.taobao.com dev.g.alicdn.com g.alicdn.com ynuf.alipay.com log.mmstat.com s.tbcdn.cn vip.laiwang.com wswukong.laiwang.com local.alipcsec.com:6691 *.taobao.net cfd.aliyun.com restapi.amap.com webapi.amap.com tce.taobao.com cfall.aliyun.com gw.alipayobjects.com ynuf.aliapp.org;connect-src 'self' *.dingtalk.com ynuf.alipay.com dev.g.alicdn.com g.alicdn.com retcode.taobao.com dingtalk-cspase-sh.oss-cn-shanghai.aliyuncs.com dingtalk-cspase-sz.oss-cn-shenzhen.aliyuncs.com arms-retcode.aliyuncs.com arms-retcode.aliyuncs.com gm.mmstat.com ynuf.aliapp.org wss://acs.wapa.taobao.com wss://acs.m.taobao.com aliliving.alicdn.com wgo.mmstat.com dtliving.alicdn.com hd.mmstat.com uc.gre alilive.alicdn.com *.mobgslb.tbcache.com *.mmstat.com px.effirst.com;frame-src 'self' h5.m.taobao.com qiye.aliyun.com log.laiwang.com dev.g.alicdn.com g.alicdn.com login.dingtalk.com login2.dingtalk.com *.dingtalk.com mailsso.mxhichina.com wvjbscheme: alipaybridge: alipaymonitor: ynuf.aliapp.org cn-hangzhou-dap.cloud.alipay.com cn-hangzhou-cap.cloud.alipay.com auth.cloud.alipay.com;font-src 'self' at.alicdn.com dev.g.alicdn.com g.alicdn.com data: *.taobao.net i.alicdn.com;img-src 'self' data: http: fourier.taobao.com *.dingtalk.com *.aliimg.com *.alicdn.com *.mmstat.com ynuf.alipay.com arms-retcode.aliyuncs.com pin.aliyun.com fourier.alibaba.com retcode.taobao.com *.cnzz.com dingtalk-cspase-sh.oss-cn-shanghai.aliyuncs.com dingtalk-cspase-sz.oss-cn-shenzhen.aliyuncs.com restapi.amap.com landray.dingtalkapps.com restapi.amap.com image.uczzd.cn;media-src 'self' *.dingtalk.com cloud.video.taobao.com videocdn.taobao.com dev.g.alicdn.com g.alicdn.com tbm-auth.alicdn.com alilive.alicdn.com aliliving.alicdn.com blob:;worker-src 'self' blob:;report-uri https://csp.dingtalk.com/csp;
```
2019-04-09 10:40:29 +08:00
回复了 zealot 创建的主题 酷工作 阿里巴巴钉钉 2019 校园招聘
@lazydog 可以钉钉上搜索 dingtalkkejie 加一下我,我找招聘 HR 查一下之前有无面试记录,确定一下是否可以转推荐
2018-10-24 23:40:21 +08:00
回复了 Tumblr 创建的主题 全球工单系统 阿里钉钉英文版的语法错误望更正
谢谢大家反馈和积极给出建议,我们团队已经介入修改了。欢迎使用钉钉工作交流,也可以私信联系我
2013-03-01 09:55:03 +08:00
回复了 openroc 创建的主题 分享发现 开源项目的代码统计网站
Ubuntu:Mostly written in C#
呵呵
2012-11-22 20:17:26 +08:00
回复了 laskuma 创建的主题 Python 为什么推荐python?
我推荐学门脚本语言,不一定是Python,ruby、perl都可以。
程序员会门脚本语言的好处就不解释了
2012-10-25 21:01:05 +08:00
回复了 jerommix 创建的主题 问与答 发现你的第十三天.
每天送冰激凌,有天她不吃的话,就改送暖宝宝、好好伺候着
软件测试的艺术,1979
Hacker's Delight, 2002,刚好十年
2012-09-21 00:19:10 +08:00
回复了 kingwkb 创建的主题 设计师 现在的人都怎么了,招人就这免不容易
小公司尽量少招新手
大公司可以招新手慢慢培养,工作中,专业技能永远是最容易学的,面试时反而不用过于关注这方面。给公司和候选人一次机会。
2012-09-14 19:17:02 +08:00
回复了 killpanda 创建的主题 问与答 费解:从企业的角度来说,企业为什么招收实习生?
招聘途径中,实习生机制不一定是最好的,但肯定是相对较好的一个
1) 实习期间更多的机会去考察
2) 招聘成本低,这个成本不是指工资,而是招聘过程的人力、资金,因招聘失误带来的附带损失
3) 公司在实习生中口碑较好的话,可以间接招聘到对应实验室靠谱的其他同学
2012-09-07 08:41:08 +08:00
回复了 colorday 创建的主题 问与答 Linux, top 下 load average 多少才算正常呀?
load1 100+跑生产应用好久都没问题。。。
load 值仅供参考,选用其他系统负载相关信息、以及完善的应用级别Profiling和监控比较靠谱
2012-09-01 21:53:48 +08:00
回复了 lichgo 创建的主题 程序员 请问大家跑程序等结果的小空当都会做些什么?
发呆:想想有什么方法能跑快点
2012-08-29 21:29:42 +08:00
回复了 itopgeek 创建的主题 程序员 nnd 现在8k请一个ioscoder都那么困难啊
我爸会上v2ex的话肯定会吐槽:现在的年轻人怎么了,我家那浑小子天天穿个拖鞋去上班,成何体统!
2012-08-27 20:28:02 +08:00
回复了 skywinger 创建的主题 程序员 TreeFrog Web Framework -- An C++ Web Framework
@skywinger Google那不一样
好比你现在要去北京可以坐飞机,即使去太空砸点钱也能买到一张商业太空飞船的票。但是去火星的话,就只能自己造飞船了。
2012-08-27 14:09:15 +08:00
回复了 skywinger 创建的主题 程序员 TreeFrog Web Framework -- An C++ Web Framework
@skywinger 我不知道怎么建议,如果是我的话,会优先选择开源的,比如Sphinx等,毕竟用户需要的是产品,而不是C++/Python之类的东西。
产品演化过程中,有必要的话,可以改进开源工具,既节省了自己从头开始研发的时间成本,也能给社区做出回馈。比如Twitter之前采用Lucene,后来因为实时性的特殊需求而在Lucene之上做改进。
等到有一天开源工具彻底不能满足需求时,也应该有钱、有时间去自行研发定制化的搜索引擎了。
2012-08-27 13:46:12 +08:00
回复了 skywinger 创建的主题 程序员 TreeFrog Web Framework -- An C++ Web Framework
@skywinger 重点还是在开发效率,小公司刚起步时迭代速度很重要,C++ web framework有runtime binding 及动态编译的功能也无济于事。

使用动态语言,可以马上拥有庞大且成熟的开发库,包括模版引擎、ORM、Auth集成、权限管理、甚至是开源的SNS/电子商务网站等等,这些是C++真正缺乏也没必要拥有的特性。当然如果真在C++里面把这些功能全集成进去时,性能也会大打折扣,选择C++意义就不大。

小公司起步时就一个字:快!

至于性能问题不应该优先考虑C++,而是考虑找些资深的Python/Ruby/PHP工程师。
产品都没定型,业务模式还没想清楚时,就不应该想C++还是Python,而应当考虑下个A/B Testing有什么办法能快点发布,尽早验证想法和方向。
2012-08-27 13:31:29 +08:00
回复了 skywinger 创建的主题 程序员 TreeFrog Web Framework -- An C++ Web Framework
@fangzhzh
我说的第二点可以对你的第三点,但业务规模发展到每天千万、甚至过亿的PV时,人力成本占比就没那么大了,当然,依旧不建议复杂的web逻辑用C++实现,可以针对api之类的简单逻辑且调用次数庞大的业务采用C++,这样的话过于复杂且笨重的C++框架也未必合适:
成熟阶段:这时候产品成熟了,也开始赚钱了,线上堆上成千上万台服务器,性能优化1%都能带来巨额的经费节省,那么没有人会介意投入点人和时间进去搞搞C++的。而实际上,前期快速的产品迭代必然给后期留下巨大的优化空间,发展没压力时该考虑从性能上榨出利润了。
2012-08-27 09:55:03 +08:00
回复了 skywinger 创建的主题 程序员 TreeFrog Web Framework -- An C++ Web Framework
@fangzhzh
“1. 服务器的投入,php,python,ruby的空间,便宜的一抓一大把。”
看来我们讨论的不是一个阶段的问题。
起步阶段:需要不断试错,探索,要点就一个字:快!产品快速迭代,不该用C++来写web前端,php/python/ruby更合适。就算是后端也应当Python/Ruby+开源软件来搭建。
成熟阶段:这时候产品成熟了,也开始赚钱了,线上堆上成千上万台服务器,性能优化1%都能带来巨额的经费节省,那么没有人会介意投入点人和时间进去搞搞C++的。而实际上,前期快速的产品迭代必然给后期留下巨大的优化空间,发展没压力时该考虑从性能上榨出利润了。
2012-08-26 19:11:21 +08:00
回复了 skywinger 创建的主题 程序员 TreeFrog Web Framework -- An C++ Web Framework
@limu 有一两年技术积累的C++团队,如果没有类似动态语言一样的正则表达式/split函数/编码处理 封装,那就该反思了。
最大缺陷还在手动内存管理,不过简单业务逻辑(点击统计等中转页面、简单吐出一个iframe页面等)&追求高性能的场景下,这个缺陷就是优势了(自定义内存管理带来的性能提升)。

不过如果需要用到模版引擎、ORM,那么这个复杂性估计已经不适合用C++了。
个人认为,C++应用到web前段引擎开发还是比较适合处理简单的业务逻辑,框架可以是基于Nginx模块机制,或libevent的http库,封装出来一个易于使用的东西,提供uri参数、header、cookie、postdata的获取与Response生成的便利接口。简化开发逻辑。
1  2  3  4  5  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2644 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 26ms · UTC 11:44 · PVG 19:44 · LAX 03:44 · JFK 06:44
Developed with CodeLauncher
♥ Do have faith in what you're doing.