V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhicheng
V2EX  ›  SSL

终于调出 HTTPS 的 A+

  •  
  •   zhicheng · 2015-09-30 17:47:39 +08:00 · 9822 次点击
    这是一个创建于 3348 天前的主题,其中的信息可能已经有所发展或是发生改变。

    debian 6 老系统,不容易, openssl 和 nginx 都要自己装。

    第 1 条附言  ·  2015-10-02 14:19:28 +08:00

    调整了一下 cipher ,现在只有 IE6 不支持,依然是 A+

    第 2 条附言  ·  2015-10-07 14:28:10 +08:00
    第 3 条附言  ·  2016-02-01 14:44:06 +08:00
    更好的方案,请移步

    Mozilla SSL Configuration Generator

    https://mozilla.github.io/server-side-tls/ssl-config-generator/
    75 条回复    2018-03-14 22:59:22 +08:00
    ivmm
        1
    ivmm  
       2015-09-30 17:52:43 +08:00   ❤️ 1
    不发教程、心得,就是炫耀。
    严重鄙视 LZ 这种行为。
    zhicheng
        2
    zhicheng  
    OP
       2015-09-30 17:54:31 +08:00   ❤️ 2
    @ivmm 等到家了就写。。。
    acrisliu
        3
    acrisliu  
       2015-09-30 17:55:53 +08:00
    @zhicheng 到时候参考下你的教程,把我的 C 也也优化一下,蛤蛤~
    Altman
        4
    Altman  
       2015-09-30 17:56:17 +08:00
    什么工具测的?
    jasontse
        5
    jasontse  
       2015-09-30 17:56:24 +08:00 via iPad
    兼容性太差意义不大,只能自己看看玩。
    zhicheng
        6
    zhicheng  
    OP
       2015-09-30 18:02:17 +08:00
    @Altman 测试工具 https://www.ssllabs.com/ssltest/
    @jasontse 恩, IE8 和 IE8 以下的全挂。还有 Android 2.3 。
    songjiaxin2008
        7
    songjiaxin2008  
       2015-09-30 18:03:44 +08:00 via iPhone
    blog.solarhell.com 晒一发 嘻嘻
    zhicheng
        8
    zhicheng  
    OP
       2015-09-30 18:04:52 +08:00
    @songjiaxin2008 博客很简洁哦,欢迎你来试一下 TextArea.com
    holulu
        9
    holulu  
       2015-09-30 18:05:02 +08:00   ❤️ 1
    把 TLS 1.0 和 TLS 1.1 都禁掉,就全部满分了!^_^
    tntsec
        10
    tntsec  
       2015-09-30 18:08:12 +08:00   ❤️ 1
    holulu
        11
    holulu  
       2015-09-30 18:09:05 +08:00
    把证书重签成 384 位的 ECC ,比 4096 位的 RSA 的效率高。再用上 CHACHA20-POLY1305 ,移动设备的加密速度会好多的。
    ivmm
        12
    ivmm  
       2015-09-30 18:09:16 +08:00
    我也晒一发。

    https://www.vobe.io/
    Had
        13
    Had  
       2015-09-30 18:20:05 +08:00
    @zhicheng 没理由, A+不需要把 IE8 配挂...
    Had
        14
    Had  
       2015-09-30 18:21:37 +08:00
    @zhicheng
    你的 Cipher Suites 太严苛了, Java 的也全挂了...
    其实从 A 到 A+应该也只是 HSTS 的问题...
    debiansid
        15
    debiansid  
       2015-09-30 18:45:07 +08:00 via iPhone
    Ubuntu 呢
    Citrus
        16
    Citrus  
       2015-09-30 18:53:43 +08:00 via iPhone
    @Had 这你就搞错了,我有 HSTS 也不是 A+

    其实 SSL 的跑分跟手机跑分差不多,只要不是特别低就没关系。一味追求高分除了给自己带来麻烦以外毫无意义。。。
    iyaozhen
        17
    iyaozhen  
       2015-09-30 19:00:33 +08:00   ❤️ 1
    比较容易 A+吧。没必要牺牲 IE8 。

    https://iyaozhen.com/
    Lentin
        18
    Lentin  
       2015-09-30 19:06:16 +08:00
    cloudflare 即可>.>
    codex.eu.org
    wdlth
        19
    wdlth  
       2015-09-30 19:07:32 +08:00
    A+ 不是很难, Suites 设好,连 PCI 、 FIPS 都能过。
    holulu
        20
    holulu  
       2015-09-30 19:07:40 +08:00
    @Citrus 这个跟分数高低没关系吧,不出现重大的安全问题就好了。即使追求高分也不会带来什么麻烦,最多就是旧的浏览器上不了。如果前端不想兼容旧浏览器也刚好做了过滤,愿意上不了,也不要看到版面乱七八糟的页面。
    Daddy
        21
    Daddy  
       2015-09-30 19:32:40 +08:00   ❤️ 2
    都在发自己的博客吗? http://1807136262
    Had
        22
    Had  
       2015-09-30 19:59:48 +08:00
    @Citrus 俺的意思是,如果寻常配置一下到 A 以后,加个大于 180 天的 HSTS 一般都可以 A+...
    xfspace
        23
    xfspace  
       2015-09-30 19:59:55 +08:00 via Android
    https://lglp.de 牺牲 XP ,加个 迪菲-赫尔曼密钥交换。同样 A+
    Marfal
        24
    Marfal  
       2015-09-30 20:08:11 +08:00
    @Daddy 这是怎么实现?
    dommyet
        25
    dommyet  
       2015-09-30 20:11:46 +08:00 via Android
    全部調好只能實現 A 加上時間足夠長的 HSTS 後就可以變成 A+了 足夠長比如一年
    qgy18
        26
    qgy18  
       2015-09-30 20:14:20 +08:00 via iPhone
    https://imququ.com
    发现本帖变成博客秀了。
    Quaintjade
        27
    Quaintjade  
       2015-09-30 20:19:11 +08:00
    曾经配出过满分的路过,只不过兼容性极差没卵用。。。
    songjiaxin2008
        28
    songjiaxin2008  
       2015-09-30 20:33:34 +08:00 via iPhone
    @zhicheng 好的谢谢 有机会尝试一下
    rrkelee
        29
    rrkelee  
       2015-09-30 20:33:34 +08:00 via Android   ❤️ 1
    https://rrke.cc

    什么叫 A+的 https ???菜鸟求科普……
    hiroya
        30
    hiroya  
       2015-09-30 20:59:35 +08:00 via iPad
    加了 HSTS 才能到 A+,不过完全没意思,为一个 A+牺牲全部子站感觉不值得……所以一直都是 A-
    https://alleysakura.com
    当时窝弄上了 HTTP/2 在兼容性上也是扣分扣得一塌糊涂 orz
    zealot0630
        31
    zealot0630  
       2015-09-30 21:05:44 +08:00
    Zzzzzzzzz
        32
    Zzzzzzzzz  
       2015-09-30 21:08:19 +08:00
    OP 肯定在想"居然都真的都开始讨论 ssl 了, 竟然没一个发现我的米".

    我来吧, 好米啊.
    zealot0630
        33
    zealot0630  
       2015-09-30 21:08:31 +08:00
    @holulu
    改成 ecdh 384 和 dh 4096 ,关掉 RSA
    KE 还是没有满分
    aholic
        34
    aholic  
       2015-09-30 21:09:14 +08:00
    @Daddy 同问 怎么实现的!
    d8
        35
    d8  
       2015-09-30 21:11:06 +08:00 via Android
    @a33004407 如何实现?
    zealot0630
        36
    zealot0630  
       2015-09-30 21:13:10 +08:00
    @aholic @d8 @a33004407
    IP 地址本来就是一个 32 位 int
    totalfee
        37
    totalfee  
       2015-09-30 21:18:17 +08:00
    www.google.com 测试得分是大多数是 B , www.baidu.com 得分是 C
    hiroya
        38
    hiroya  
       2015-09-30 21:20:51 +08:00 via iPad
    @zealot0630 嗯,研究研究,一个帖子炸出这么多博客 23333333
    xierch
        39
    xierch  
       2015-09-30 22:03:11 +08:00
    holulu
        40
    holulu  
       2015-09-30 22:46:48 +08:00
    @zealot0630 这个不是为了满分,只是为效率。只启用 TLS 1.2 协议,其他都禁用应该可以满分了。
    imlonghao
        41
    imlonghao  
       2015-09-30 23:02:23 +08:00
    @hiroya 我也是 HTTP2 不过似乎也是 A+
    https://imlonghao.com/
    402645707
        42
    402645707  
       2015-09-30 23:14:34 +08:00   ❤️ 1
    A+了 Chrome 依然黄锁
    feather12315
        43
    feather12315  
       2015-09-30 23:34:23 +08:00 via Android
    一直 A+…
    禁用 ssl3 ,启用 D-H 协商就行了。
    我外加了强制 https 。
    skydiver
        44
    skydiver  
       2015-09-30 23:42:26 +08:00
    照着这个页面 https://weakdh.org/sysadmin.html 改一下 nginx 配置就 A+了
    Andy1999
        45
    Andy1999  
       2015-09-30 23:46:52 +08:00 via iPhone   ❤️ 1
    @a33004407
    @aholic http://2079920136
    将 IP 转换为 32 位即可
    hiroya
        46
    hiroya  
       2015-09-30 23:49:10 +08:00 via iPad
    @imlonghao 那是必须的, http2 强制了 ssl
    DiffView
        47
    DiffView  
       2015-10-01 00:47:08 +08:00
    貌似挂的只有 ie6 和 Java 6u45
    https://www.ssllabs.com/ssltest/analyze.html?d=fancycoding.com

    觉得没意思啊,没意思啊没意思啊没意思
    sparanoid
        48
    sparanoid  
    MOD
       2015-10-01 00:58:12 +08:00 via iPhone   ❤️ 1
    像我从来不在乎兼容性的。只开 TLSv1.2 就可以全部四个 100 分了 https://www.ssllabs.com/ssltest/analyze.html?d=experiments.sparanoid.com
    xierch
        49
    xierch  
       2015-10-01 02:18:50 +08:00
    CloudFlare 开 HSTS 也是 A+, 100 95 90 90
    不兼容 XP/IE ,需要支持 SNI
    seki
        50
    seki  
       2015-10-01 02:23:42 +08:00   ❤️ 1
    Arnaud
        51
    Arnaud  
       2015-10-01 03:06:25 +08:00   ❤️ 1
    #SSL Begin
    listen 443 ssl;
    ssl on;
    ssl_certificate /home/wwwroot/your/vhost/crt.crt;
    ssl_certificate_key /home/wwwroot/your/vhost/key.key;
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
    ssl_prefer_server_ciphers on;
    ssl_dhparam /home/wwwroot/your/vhost/dhparams.pem;
    add_header Strict-Transport-Security max-age=31536000;
    ssl_stapling on;
    ssl_stapling_verify on;
    #SSL End

    这样配置就 A+了,参考
    https://www.ssllabs.com/ssltest/analyze.html?d=ssno.de
    https://www.ssllabs.com/ssltest/analyze.html?d=gfw.si
    lincanbin
        52
    lincanbin  
       2015-10-01 04:19:32 +08:00   ❤️ 1
    fengyqf
        53
    fengyqf  
       2015-10-01 08:29:23 +08:00
    感觉是强迫症,跟 360 体检 100 分类似
    aivier
        54
    aivier  
       2015-10-01 09:17:39 +08:00
    什么?还有人考虑 IE8 ?...我连 IE10 都扔了
    loveminds
        55
    loveminds  
       2015-10-01 09:30:53 +08:00
    为啥不用 debian 7 or 8
    pwinner
        56
    pwinner  
       2015-10-01 09:31:36 +08:00 via Android
    @Arnaud 没生成 dhparam 就给这个路径是不是不妥
    zhicheng
        57
    zhicheng  
    OP
       2015-10-01 09:36:57 +08:00 via Android
    @loveminds 因为没有 233333
    loveminds
        58
    loveminds  
       2015-10-01 09:40:30 +08:00
    @hiroya 本身就是泛域名证书的路过
    @holulu 由于签发时间太早,所以...还是 SHA1withRSA
    loveminds
        59
    loveminds  
       2015-10-01 09:45:57 +08:00
    @ivmm add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
    hiroya
        60
    hiroya  
       2015-10-01 09:46:29 +08:00 via iPad
    @loveminds 有钱,但邮件服务用的是第三方
    holulu
        61
    holulu  
       2015-10-01 09:46:58 +08:00
    @loveminds 在过期之前不能重签的么? Positive SSL 和 Rapld SSL 可以无限重签的
    loveminds
        62
    loveminds  
       2015-10-01 09:49:23 +08:00
    @holulu 很麻烦,因为之前不是我负责的,要打电话联系美国那边去处理
    huangtao728
        63
    huangtao728  
       2015-10-01 09:54:25 +08:00 via Android
    @rrkelee
    DNS_PROBE_FINISHED_NXDOMAIN
    原来是骗人的哦哈哈哈
    kozora
        64
    kozora  
       2015-10-01 12:08:10 +08:00
    @402645707 黄锁是因为页面有资源不是 https 的
    zyx89513
        65
    zyx89513  
       2015-10-01 14:53:37 +08:00
    之前调出来以后 收不到支付宝支付的异步通知了, 我用的 nginx
    Arnaud
        66
    Arnaud  
       2015-10-01 16:23:23 +08:00
    @pwinner 自行生成咯 2333
    QQ1685425675
        67
    QQ1685425675  
       2015-10-02 09:37:41 +08:00
    支持楼主分享一下教程哦
    Citrus
        68
    Citrus  
       2015-10-02 15:08:48 +08:00 via iPhone
    @holulu 某天,拿着朋友的手机,来看看我的博客吧!可是死活打不开,最后发现是 HTTPS 的问题。。。这就是我当时追求高分的结果。。。

    我想说的是,你永远不知道你可能要在哪打开你的博客。比如帮别人处理问题而刚好自己的博客有记录,结果发现自己的博客打不开,然后又要从头搜。这样浪费的时间我宁愿用降低得分来换。。。
    holulu
        69
    holulu  
       2015-10-02 15:59:21 +08:00
    @Citrus 我想说的是,我的博客压根就没打算用来帮别人处理问题,只为自娱自乐地装逼炫酷。自己的东西想怎么玩就怎么玩吧。追求满分也就满足一下自己的成就感。
    neo2015
        70
    neo2015  
       2015-10-02 17:49:12 +08:00
    这个跑分是干嘛的的。。

    我只有 F 。。。。。

    https://blog.smemo.info 用了 wosign 免费的。。。自己记东西用
    tkggqq
        71
    tkggqq  
       2015-10-07 20:08:17 +08:00
    mark 一下.回头试试.
    lenovo
        72
    lenovo  
       2015-10-21 15:37:09 +08:00
    paicha
        73
    paicha  
       2015-11-10 23:04:23 +08:00
    奇怪,我完全参照楼主的教程,只有一个 B 。
    paicha
        74
    paicha  
       2015-11-11 11:10:33 +08:00   ❤️ 1
    找出问题了, www 的我做了跳转,但也要配置这些设置。
    wwek
        75
    wwek  
       2018-03-14 22:59:22 +08:00
    # HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
    add_header Strict-Transport-Security max-age=15768000;

    只有 A 没有 A+的 nginx 中增加 HSTS 头就可以了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2821 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 07:38 · PVG 15:38 · LAX 23:38 · JFK 02:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.